以下代码是关于刘建平老师博客的代码的详细注解
链接:
https://www.cnblogs.com/pinard/p/6074222.html
代码:
#关于朴素贝叶斯的算法
import numpy as np
from sklearn.naive_bayes import GaussianNB
#X是数据,Y是对应的Labels
X=np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
Y = np.array([1, 1, 1, 2, 2, 2])
clf=GaussianNB()
# 使用fit拟合数据--》就是学习X,Y
clf.fit(X,Y)
#学习完毕
#开始测试
#使用三种预测方法:predict,predict_proba和predict_log_proba。
# 三者的 参数是一个array-like of shape --->(n_samples, n_features)
#①predict的预测是一个类
print("==Predict result by predict==")
c1=clf.predict([[-0.8,-1]])
print(c1) #[1]--》predict此数据是label为1
#②predict_proba预测是一个概率(给出测试集样本在各个类别上预测的概率)
print("==Predict result by predict_proba==")
c2=clf.predict_proba([[-0.8,-1]]) #[[9.99999949e-01(是label为1的概率) 5.05653254e-08(是label为2的概率)]]
print(c2)
#③predict_log_proba预测(它会给出测试集样本在各个类别上预测的概率的一个对数转化)
print("==Predict result by predict_log_proba==")
c3=clf.predict_log_proba([[-0.8,-1]]) #[[-5.05653266e-08 -1.67999998e+01]]
print(c3)