1. 高斯分布的朴素贝叶斯(GaussianNB
):适用于特征属于连续型变量,假设特征遵循正态分布。
2. 多项式分布的朴素贝叶斯 (MultinomialNB
):该模型常用于文本分类,特征是单词,值是单词的出现次数。
3. 伯努利分布的朴素贝叶斯 (BernoulliNB
):每个特征的取值是布尔型的,即true
和false
,或者1
和0
。在文本分类中,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:]))