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]

