sklearn.naive_bayes.MultinomialNB

class sklearn.naive_bayes.MultinomialNB(*, alpha=1.0, fit_prior=True, class_prior=None)

[源码]

用于多项式模型的朴素贝叶斯分类器

多项式朴素贝叶斯分类器适用于具有离散特征的分类(例如,用于文本分类的字数统计)。多项式分布通常需要整数特征计数。但是,实际上,小数计数(例如tf-idf)也可能起作用。

用户指南中阅读更多内容。

参数 说明
alpha float, default=1.0
附加的(Laplace/Lidstone)平滑参数(0表示不平滑)
fit_prior bool, default=True
是否学习类别先验概率。如果为False,将使用统一的先验。
class_prior array-like of shape (n_classes,), default=None
类别的先验概率。一经指定先验概率不能随着数据而调整。
属性 说明
class_count_ ndarray of shape (n_classes,)
拟合期间每个类别遇到的样本数。此值由提供的样本权重加权。
class_log_prior_ ndarray of shape (n_classes, )
每个类别的经验对数概率(平滑)。
classes_ ndarray of shape (n_classes,)
分类器已知的类别标签
coef_ ndarray of shape (n_classes, n_features)
用于将MultinomialNB解释为线性模型的镜像feature_log_prob_
feature_count_ ndarray of shape (n_classes, n_features)
拟合期间每个(类别,特征)遇到的样本数。此值由提供的样本权重加权。
feature_log_prob_ ndarray of shape (n_classes, n_features)
给定一类特征的经验对数概率P(x_i|y)
intercept_ ndarray of shape (n_classes, )
用于将MultinomialNB解释为线性模型的镜像class_log_prior_
n_features_ int
每个样本的特征数量。

有关命名coef_intercept_背后的基本原理,即朴素的贝叶斯作为线性分类器,请参阅 J. Rennie et al. (2003), Tackling the poor assumptions of naive Bayes text classifiers, ICML.

参考文献

C.D. Manning, P. Raghavan and H. Schuetze (2008). Introduction to Information Retrieval. Cambridge University Press, pp. 234-265. https://nlp.stanford.edu/IR-book/html/htmledition/naive-bayes-text-classification-1.html

示例

>>> import numpy as np
>>> rng = np.random.RandomState(1)
>>> X = rng.randint(5, size=(6100))
>>> y = np.array([123456])
>>> from sklearn.naive_bayes import MultinomialNB
>>> clf = MultinomialNB()
>>> clf.fit(X, y)
MultinomialNB()
>>> print(clf.predict(X[2:3]))
[3]

方法

方法 说明
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__(*, alpha=1.0, fit_prior=True, class_prior=None)

[源码]

初始化self。详情可参阅 type(self)的帮助。

fit(X, y, sample_weight=None)

[源码]

根据X,y拟合朴素贝叶斯分类器

参数 说明
X {array-like, sparse matrix} 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.未加权)。
返回值 说明
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, sparse matrix} 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.未加权)。
返回值 说明
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
估计器实例。