- Scikit Learn 教程
- Scikit Learn - 首页
- Scikit Learn - 简介
- Scikit Learn - 建模过程
- Scikit Learn - 数据表示
- Scikit Learn - 估计器 API
- Scikit Learn - 约定
- Scikit Learn - 线性模型
- Scikit Learn - 扩展线性模型
- 随机梯度下降
- Scikit Learn - 支持向量机
- Scikit Learn - 异常检测
- Scikit Learn - K 近邻算法
- Scikit Learn - KNN 学习
- 使用朴素贝叶斯进行分类
- Scikit Learn - 决策树
- 随机决策树
- Scikit Learn - 集成方法
- Scikit Learn - 聚类方法
- 聚类性能评估
- 使用 PCA 进行降维
- Scikit Learn 有用资源
- Scikit Learn - 快速指南
- Scikit Learn - 有用资源
- Scikit Learn - 讨论
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]