sklearn.naive_bayes.GaussianNB¶
class sklearn.naive_bayes.GaussianNB(*, priors=None, var_smoothing=1e-09)
[源码]
高斯朴素贝叶斯(GaussianNB)
可以在线更新模型参数partial_fit
。有关用于在线更新特征均值和方差的算法的详细信息,请参阅Chan,Golub和LeVeque撰写的Stanford CS技术报告STAN-CS-79-773:
http://i.stanford.edu/pub/cstr/reports/cs/tr/79/773/CS-TR-79-773.pdf
在用户指南中阅读更多内容。
参数 | 说明 |
---|---|
priors | array-like of shape (n_classes,) 类别的先验概率。一经指定,不会根据数据进行调整。 |
var_smoothing | float, default=1e-9 所有特征的最大方差部分,添加到方差中用于提高计算稳定性。 0.20版中的新功能。 |
属性 | 说明 |
---|---|
class_count_ | ndarray of shape (n_classes,) 每个类别中保留的训练样本数量。 |
class_prior_ | ndarray of shape (n_classes,) 每个类别的概率。 |
classes_ | ndarray of shape (n_classes,) 分类器已知的类别标签 |
epsilon_ | float 方差的绝对相加值 |
sigma_ | ndarray of shape (n_classes, n_features) 每个类中每个特征的方差 |
theta_ | ndarray of shape (n_classes, n_features) 每个类中每个特征的均值 |
示例
>>> import numpy as np
>>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
>>> Y = np.array([1, 1, 1, 2, 2, 2])
>>> from sklearn.naive_bayes import GaussianNB
>>> clf = GaussianNB()
>>> clf.fit(X, Y)
GaussianNB()
>>> print(clf.predict([[-0.8, -1]]))
[1]
>>> clf_pf = GaussianNB()
>>> clf_pf.partial_fit(X, Y, np.unique(Y))
GaussianNB()
>>> print(clf_pf.predict([[-0.8, -1]]))
[1]
方法
方法 | 说明 |
---|---|
fit (X, y[, sample_weight]) |
根据X,y拟合高斯朴素贝叶斯 |
get_params ([deep]) |
获取这个估计器的参数 |
partial_fit (X, y[, classes, sample_weight]) |
对一批样本进行增量拟合 |
predict (X) |
对测试向量X进行分类。 |
predict_log_proba (X) |
返回针对测试向量X的对数概率估计 |
predict_proba (X) |
返回针对测试向量X的概率估计 |
score (X, y[, sample_weight]) |
返回给定测试数据和标签上的平均准确率。 |
set_params (**params) |
为这个估计器设置参数 |
__init__(*, priors=None, var_smoothing=1e-09)
[源码]
初始化self。详情可参阅 type(self)的帮助。
fit(X, y, sample_weight=None)
[源码]
根据X,y拟合高斯朴素贝叶斯
参数 | 说明 |
---|---|
X | array-like of shape (n_samples, n_features) 用于训练的向量,其中n_samples是样本数量,n_features是特征数量。 |
y | array-like of shape (n_samples,) 目标值。 |
sample_weight | array-like of shape (n_samples,), default=None 应用于单个样本的权重(1.未加权)。 版本0.17中的新功能:高斯朴素贝叶斯支持使用sample_weight进行拟合。 |
返回值 | 说明 |
---|---|
self | object |
get_params(deep=True)
[源码]
获取这个估计器的参数
参数 | 说明 |
---|---|
deep | bool, default=True 如果为True,则将返回这个估计器的参数和所包含的估计器子对象。 |
返回值 | 说明 |
---|---|
params | mapping of string to any 参数名映射到其值 |
partial_fit(X, y, classes=None, sample_weight=None)
[源码]
对一批样本进行增量拟合
方法需要对数据集的不同块连续调用多次,以实现核外学习或在线学习。
当整个数据集太大而无法立即放入内存拟合时,这个功能特别有用。
这个方法具有一些性能消耗,因此最好对尽可能大的数据块(只要适合内存预算)调用partial_fit以隐藏消耗。
参数 | 说明 |
---|---|
X | array-like of shape (n_samples, n_features) 用于训练的向量,其中n_samples是样本数量,n_features是特征数量。 |
y | array-like of shape (n_samples,) 目标值。 |
classes | array-like of shape (n_classes,), default=None y向量中可能出现的所有类别的列表。 必须在第一次调用partial_fit时提供,在随后的调用中可以省略。 |
sample_weight | array-like of shape (n_samples,), default=None 应用于单个样本的权重(1.未加权)。 版本0.17中的新功能。 |
返回值 | 说明 |
---|---|
self | object |
predict(X)
[源码]
对测试向量X进行分类。
参数 | 说明 |
---|---|
X | array-like of shape (n_samples, n_features) |
返回值 | 说明 |
---|---|
C | ndarray of shape (n_samples,) X的预测目标值 |
predict_log_proba(X)
[源码]
返回针对测试向量X的对数概率估计
参数 | 说明 |
---|---|
X | array-like of shape (n_samples, n_features) |
返回值 | 说明 |
---|---|
C | array-like of shape (n_samples, n_classes) 返回模型中每个类别的样本的对数概率。这些列按照排序顺序对应于类别,就像它们出现在属性classes_中一样。 |
predict_proba(X)
[源码]
返回针对测试向量X的概率估计
参数 | 说明 |
---|---|
X | array-like of shape (n_samples, n_features) |
返回值 | 说明 |
---|---|
C | array-like of shape (n_samples, n_classes) 返回模型中每个类别的样本概率。这些列按照排序顺序对应于类别,就像它们出现在属性classes_中一样。 |
score(X, y, sample_weight=None)
[源码]
返回给定测试数据和标签上的平均准确率。
在多标签分类中,这是子集准确性,这是一个严格的指标,因为您需要为每个样本正确预测每个标签集。
参数 | 说明 |
---|---|
X | array-like of shape (n_samples, n_features) 测试样本 |
y | array-like of shape (n_samples,) or (n_samples, n_outputs) X的真实标签。 |
sample_weight | array-like of shape (n_samples,), default=None 样本权重 |
返回值 | 说明 |
---|---|
score | float self.predict(X)关于y的平均准确率 |
set_params(**params)
[源码]
为这个估计器设置参数
该方法适用于简单的估计器以及嵌套对象(例如pipelines)。后者具有形式参数<component>__<parameter>
,以便可以更新嵌套对象的每个组件。
参数 | 说明 |
---|---|
**params | dict 估计器参数 |
返回值 | 说明 |
---|---|
self | object 估计器实例 |