1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| import numpy as np from sklearn.naive_bayes import GaussianNB
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() clf.fit(X,Y) ''' 在使用GaussianNB的fit方法拟合数据后,我们可以进行预测。此时预测有三种方法, 包括predict,predict_log_proba和predict_proba。 predict方法就是我们最常用的预测方法,直接给出测试集的预测类别输出。 predict_proba则不同,它会给出测试集样本在各个类别上预测的概率。 容易理解,predict_proba预测出的各个类别概率里的最大值对应的类别,也就是predict方法得到类别。 predict_log_proba和predict_proba类似,它会给出测试集样本在各个类别上预测的概率的一个对数转化。 转化后predict_log_proba预测出的各个类别对数概率里的最大值对应的类别,也就是predict方法得到类别。 ''' print(clf.predict([[-0.8,-1]])) print(clf.predict_proba([[-0.8,-1]])) print(clf.predict_log_proba([[-0.8,-1]])) ''' GaussianNB一个重要的功能是有 partial_fit方法,这个方法的一般用在如果训练集数据量非常大,一次不能全部载入内存的时候。 这时我们可以把训练集分成若干等分,重复调用partial_fit来一步步的学习训练集,非常方便。 ''' clf_pf = GaussianNB() clf_pf.partial_fit(X, Y, np.unique(Y)) print(clf_pf.predict([[-0.8, -1]]))
|