主要是介绍贝叶斯分类器
1.高斯贝叶斯分类器
class sklearn.naive_bayes.GaussianNB
高斯贝叶斯分类器没有参数
2.多项式贝叶斯分类器
class sklearn.naive_bayes.MultinomialNB(alpha=1.0,fit_prior=True,class_prior=None)
参数含义如下:
alpha:一个浮点数,指定alpha的值
fit_prior:布尔值,如果为Ture,则不用去学习P(y=ck),以均匀分布替代,否则则去学习P(y=ck)
class_prior:一个数组。它指定了每个分类的先验概率P(y=c1),P(y=c2)…..,若指定了该参数
则每个分类的先验概率无需学习
伯努利贝叶斯分类器
class sklearn.naive_bayes.BernoulliNB(alpha=1.0,binarize=0.0,fit_prior=Ture,
class_prior=None)
参数含义如下:
alpha:一个浮点数,指定alpha的值
binarize:一个浮点数或者None
如果为浮点数则以该数值为界,特征值大于它的取1,小于的为0
如果为None,假定原始数据已经二值化
fit_prior:布尔值,如果为Ture,则不用去学习P(y=ck),以均匀分布替代,否则则去学习P(y=ck)
class_prior:一个数组。它指定了每个分类的先验概率P(y=c1),P(y=c2)…..,若指定了该参数
则每个分类的先验概率无需学习
from sklearn import datasets,cross_validation,naive_bayes
import numpy as np
import matplotlib.pyplot as plt
def show_digits():
digits=datasets.load_digits()
fig=plt.figure()
print('vector from image 0:',digits.data[0])
for i in range(25):
ax=fig.add_subplot(5,5,i+1)
ax.imshow(digits.images[i],cmap=plt.cm.gray_r,interpola