友情提示:同学您好,此页面仅供预览,在此页面学习不会被统计哦! 请进入学习空间后选择课程学习。

一、朴素贝叶斯三种基本模型 


1. 高斯分布的朴素贝叶斯(GaussianNB:适用于特征属于连续型变量,假设特征遵循正态分布。

2. 多项式分布的朴素贝叶斯 (MultinomialNB):该模型常用于文本分类,特征是单词,值是单词的出现次数。

3. 伯努利分布的朴素贝叶斯 (BernoulliNB):每个特征的取值是布尔型的,即truefalse,或者10。在文本分类中,1就是一个特征出现在一个文档中,0就是一个特征没有出现在一个文档中。


二、实践 (演示代码)



1. 高斯分布的朴素贝叶斯

from sklearn.naive_bayes import GaussianNB

gnb = GaussianNB()

gnb.fit(iris.data, iris.target)

y_pred = gnb.predict(iris.data)

print("Number of mislabeled points out of a total %d points : %d"  % (iris.data.shape[0],(iris.target != y_pred).sum()))

2. 多项式分布的朴素贝叶斯

import numpy as np

X = np.random.randint(5, size=(6, 100))

y = np.array([1, 2, 3, 4, 5, 6])

from sklearn.naive_bayes import MultinomialNB

clf = MultinomialNB()

clf.fit(X, y)

print(clf.predict(X[2:]))

3. 伯努利分布的朴素贝叶斯

X = np.random.randint(2, size=(6, 100))

Y = np.array([1, 2, 3, 4, 4, 5])

from sklearn.naive_bayes import BernoulliNB

clf = BernoulliNB()

clf.fit(X, Y)

print(clf.predict(X[2:]))