• 朴素贝叶斯分类器(伯努利贝叶斯+高斯贝叶斯+多项式贝叶斯)


    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()

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

  • 相关阅读:
    request的getServletPath(),getContextPath(),getRequestURI(),getRealPath("/")区别
    Google Guava
    Mybatis分页插件-PageHelper
    Mybatis通用Mapper
    IntelliJ Idea 常用快捷键
    @JProfiler
    sparkStreaming消费kafka-0.8方式:direct方式(存储offset到zookeeper)
    kafka其中一台节点坏掉的迁移或者数据迁移
    sparkStreaming序列化问题
    【CSS】最全的CSS浏览器兼容问题
  • 原文地址:https://www.cnblogs.com/St-Lovaer/p/12245939.html
Copyright © 2020-2023  润新知