Scikit Learn - 高斯朴素贝叶斯



顾名思义,高斯朴素贝叶斯分类器假设每个标签的数据都来自简单的正态分布。Scikit-learn 提供了sklearn.naive_bayes.GaussianNB 来实现用于分类的高斯朴素贝叶斯算法。

参数

下表列出了sklearn.naive_bayes.GaussianNB 方法使用的参数:

序号 参数及描述
1

priors − 数组,形状 (n_classes)

它表示类的先验概率。如果我们在拟合数据时指定此参数,则不会根据数据调整先验概率。

2

var_smoothing − 浮点数,可选,默认为 1e-9

此参数指定添加到方差中的特征最大方差的比例,以稳定计算。

属性

下表列出了sklearn.naive_bayes.GaussianNB 方法使用的属性:

序号 属性及描述
1

class_prior_ − 数组,形状 (n_classes,)

它提供每个类的概率。

2

class_count_ − 数组,形状 (n_classes,)

它提供在每个类中观察到的实际训练样本数。

3

theta_ − 数组,形状 (n_classes, n_features)

它给出每个类的每个特征的均值。

4

sigma_ − 数组,形状 (n_classes, n_features)

它给出每个类的每个特征的方差。

5

epsilon_ − 浮点数

这些是添加到方差的绝对加性值。

方法

下表列出了sklearn.naive_bayes.GaussianNB 方法使用的方法:

序号 方法及描述
1

fit(self, X, y[, sample_weight])

此方法将根据 X 和 y 拟合高斯朴素贝叶斯分类器。

2

get_params(self[, deep])

借助此方法,我们可以获取此估计器的参数。

3

partial_fit(self, X, y[,classes, sample_weight])

此方法允许对一批样本进行增量拟合。

4

predict(self, X)

此方法将对测试向量 X 数组执行分类。

5

predict_log_proba(self, X)

此方法将返回测试向量 X 的对数概率估计。

6

predict_proba(self, X)

此方法将返回测试向量 X 的概率估计。

7

score(self, X, y[, sample_weight])

使用此方法,我们可以获得给定测试数据和标签的平均准确率。

9

set_params(self, \*\*params)

此方法允许我们设置此估计器的参数。

实现示例

下面的 Python 脚本将使用sklearn.naive_bayes.GaussianNB 方法从我们的数据集中构建高斯朴素贝叶斯分类器:

示例

import numpy as np
X = np.array([[-1, -1], [-2, -4], [-4, -6], [1, 2]])
Y = np.array([1, 1, 2, 2])
from sklearn.naive_bayes import GaussianNB
GNBclf = GaussianNB()
GNBclf.fit(X, Y)

输出

GaussianNB(priors = None, var_smoothing = 1e-09)

现在,拟合完成后,我们可以使用 predict() 方法预测新值,如下所示:

示例

print((GNBclf.predict([[-0.5, 2]]))

输出

[2]
广告
© . All rights reserved.