朴素贝叶斯
朴素贝叶斯属于贝叶斯算法中的一个分支,是一种用于分类的监督学习算法。在scikit-learn中,可用sklearn.naive_bayes.GaussianNB实现。
应用流程分为三个步骤:
- 实例化算法模块
- 样本训练(fit)
- 预测(predict)并计算准确度(score,需提供test数据的实际标签)
基本示例:
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)
print(clf.predict([[-0.8, -1]]))
# [1]
包含测试准确度的示例:
def NBAccuracy(features_train, labels_train, features_test, labels_test):
"""compute the accuracy of your Naive Bayes classifier"""
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(features_train, labels_train)
pred = clf.predict(features_train)
accuracy = clf.score(features_test, labels_test)
return accuracy
计算预测准确度还可以直接用预测值与实际标签对比。