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], [11], [21], [32]])
>>> Y = np.array([111222])
>>> 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
估计器实例