zoukankan      html  css  js  c++  java
  • 朴素贝叶斯分类器(伯努利贝叶斯+高斯贝叶斯+多项式贝叶斯)

    1 from sklearn.datasets import load_diabetes
    2 X,y=load_diabetes().data,load_diabetes().target
    3 X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=8)
    4 lr=LinearRegression().fit(X_train,y_train)
    5 print("the coefficient:{}".format(lr.coef_))
    6 print('the intercept:{}'.format(lr.intercept_))
    7 print("the score of this model:{:.3f}".format(lr.score(X_test,y_test)))
    1 import matplotlib.pyplot as plt
    2 plt.scatter(X[:,0],X[:,1],c=y,cmap=plt.cm.spring,edgecolors='k')
    3 plt.show()
    1 #伯努利贝叶斯分类器
    2 from sklearn.naive_bayes import BernoulliNB
    3 bnb=BernoulliNB()
    4 bnb.fit(X_train,y_train)
    5 print("the score of this model:{}".format(bnb.score(X_test,y_test)))
     1 import numpy as np
     2 x_min=X[:,0].min()-0.5
     3 x_max=X[:,0].max()+0.5
     4 y_min=X[:,1].min()-0.5
     5 y_max=X[:,1].max()+0.5
     6 xx,yy=np.meshgrid(np.arange(x_min,x_max,.02),
     7                   np.arange(y_min,y_max,.02))
     8 z=bnb.predict(np.c_[(xx.ravel(),yy.ravel())])
     9 z=z.reshape(xx.shape)
    10 plt.pcolormesh(xx,yy,z,cmap=plt.cm.Pastel1)
    11 plt.scatter(X_train[:,0],X_train[:,1],c=y_train,cmap=plt.cm.spring,edgecolors='k')
    12 plt.scatter(X_test[:,0],X_test[:,1],c=y_test,cmap=plt.cm.spring,edgecolors='k',marker='*')
    13 plt.xlim(xx.min(),xx.max())
    14 plt.ylim(yy.min(),yy.max())
    15 plt.title("Classifier:BernoulliNB")
    16 plt.show()
    1 #高斯贝叶斯分类器
    2 from sklearn.naive_bayes import GaussianNB
    3 gnb=GaussianNB()
    4 gnb.fit(X_train,y_train)
    5 print("the score of this model:{}".format(gnb.score(X_test,y_test)))
     1 import numpy as np
     2 x_min=X[:,0].min()-0.5
     3 x_max=X[:,0].max()+0.5
     4 y_min=X[:,1].min()-0.5
     5 y_max=X[:,1].max()+0.5
     6 xx,yy=np.meshgrid(np.arange(x_min,x_max,.02),
     7                   np.arange(y_min,y_max,.02))
     8 z=gnb.predict(np.c_[(xx.ravel(),yy.ravel())])
     9 z=z.reshape(xx.shape)
    10 plt.pcolormesh(xx,yy,z,cmap=plt.cm.Pastel1)
    11 plt.scatter(X_train[:,0],X_train[:,1],c=y_train,cmap=plt.cm.spring,edgecolors='k')
    12 plt.scatter(X_test[:,0],X_test[:,1],c=y_test,cmap=plt.cm.spring,edgecolors='k',marker='*')
    13 plt.xlim(xx.min(),xx.max())
    14 plt.ylim(yy.min(),yy.max())
    15 plt.title("Classifier:GaussianNB")
    16 plt.show()
     1 #最大最小预处理,处理非负数据
     2 from sklearn.preprocessing import MinMaxScaler
     3 scaler=MinMaxScaler()
     4 scaler.fit(X_train)
     5 X_train_scaled=scaler.transform(X_train)
     6 X_test_scaled=scaler.transform(X_test)
     7 #多项式朴素贝叶斯
     8 from sklearn.naive_bayes import MultinomialNB
     9 mnb=MultinomialNB()
    10 mnb.fit(X_train_scaled,y_train)
    11 print("the score of this model:{}".format(mnb.score(X_test_scaled,y_test)))
     1 import numpy as np
     2 x_min=X[:,0].min()-0.5
     3 x_max=X[:,0].max()+0.5
     4 y_min=X[:,1].min()-0.5
     5 y_max=X[:,1].max()+0.5
     6 xx,yy=np.meshgrid(np.arange(x_min,x_max,.02),
     7                   np.arange(y_min,y_max,.02))
     8 z=mnb.predict(np.c_[(xx.ravel(),yy.ravel())])
     9 z=z.reshape(xx.shape)
    10 plt.pcolormesh(xx,yy,z,cmap=plt.cm.Pastel1)
    11 plt.scatter(X_train[:,0],X_train[:,1],c=y_train,cmap=plt.cm.spring,edgecolors='k')
    12 plt.scatter(X_test[:,0],X_test[:,1],c=y_test,cmap=plt.cm.spring,edgecolors='k',marker='*')
    13 plt.xlim(xx.min(),xx.max())
    14 plt.ylim(yy.min(),yy.max())
    15 plt.title("Classifier:MultinomialNB")
    16 plt.show()

    以上三个分类器均是二维可视化的。

  • 相关阅读:
    搭建非域AlwaysOn win2016+SQL2016
    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
    四、基于Windows 2012配置SQL Server 2014 AlwaysOn
    三、安装SQLserver 2014(For AlwaysOn)
    二、 Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)
    Mybatis-SQL语句构建器类及日志
    Mybatis-JavaAPI
  • 原文地址:https://www.cnblogs.com/St-Lovaer/p/12245939.html
Copyright © 2011-2022 走看看