Scikit Learn - 高斯朴素贝叶斯

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

参数

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

Sr.No 参数及说明
1

priors −数组类型,形状为(n_classes)

它表示类别的先验概率。如果我们在拟合数据时指定此参数,则先验概率将无法根据数据进行调整。

2

Var_smoothing −浮点型,可选,默认值 = 1e-9

此参数指定特征中最大方差的部分,该部分将添加到方差中以稳定计算。

属性

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

Sr.No 属性及说明
1

class_prior_ −数组,shape(n_classes,)

它提供了每个类别的概率。

2

class_count_ − 数组,shape(n_classes,)

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

3

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

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

4

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

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

5

epsilon_ −浮点数

这些是方差的绝对加值。

方法

下表列出了 sklearn.naive_bayes.GaussianNB 方法 − 所使用的方法。

Sr.No 方法 &说明
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]