朴素贝叶斯

朴素贝叶斯属于贝叶斯算法中的一个分支,是一种用于分类的监督学习算法。在scikit-learn中,可用sklearn.naive_bayes.GaussianNB实现。

应用流程分为三个步骤:

  1. 实例化算法模块
  2. 样本训练(fit)
  3. 预测(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

计算预测准确度还可以直接用预测值与实际标签对比。

#python #machine-learning