sklearn.naive_bayes.CategoricalNB¶
class sklearn.naive_bayes.CategoricalNB(*, alpha=1.0, fit_prior=True, class_prior=None)
[源码]
用于分类特征的朴素贝叶斯分类器
分类朴素贝叶斯分类器适用于具有分类分布的离散特征的分类。每个特征的类别均来自分类分布。
在用户指南中阅读更多内容。
参数 | 说明 |
---|---|
alpha | float, default=1.0 附加的平滑参数(Laplace/Lidstone),0是不平滑 |
fit_prior | bool, default=True 是否学习类别先验概率。如果为False,将使用统一的先验。 |
class_prior | array-like of shape (n_classes,), default=None 类别的先验概率。一经指定先验概率不能随着数据而调整。 |
属性 | 说明 |
---|---|
category_count_ | list of arrays of shape (n_features,) 为每个要素保存形状的数组(n_classes,各个要素的n_categories)。每个数组为每个类别和分类的特定特征提供遇到的样本数量。 |
class_count_ | ndarray of shape (n_classes,) 拟合期间每个类别遇到的样本数。此值由提供的样本权重加权。 |
class_log_prior_ | ndarray of shape (n_classes,) 每个类别的对数概率(平滑)。 |
classes_ | ndarray of shape (n_classes,) 分类器已知的类别标签 |
feature_log_prob_ | list of arrays of shape (n_features,) 为每个特征保形状的数组(n_classes,各个要素的n_categories)。每个数组提供了给定各自特征和类别的分类的经验对数概率 P(x_i|y) |
n_features_ | int 每个样本的特征数量。 |
示例
>>> import numpy as np
>>> rng = np.random.RandomState(1)
>>> X = rng.randint(5, size=(6, 100))
>>> y = np.array([1, 2, 3, 4, 5, 6])
>>> from sklearn.naive_bayes import CategoricalNB
>>> clf = CategoricalNB()
>>> clf.fit(X, y)
CategoricalNB()
>>> 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是特征数量。在此,假设X的每个特征都来自不同的分类分布。进一步假设每个特征的所有类别均由数字0,…,n-1表示,其中n表示给定特征的类别总数。例如,这可以在顺序编码(OrdinalEncoder)的帮助下实现。 |
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是特征数量。在此,假设X的每个特征都来自不同的分类分布。进一步假设每个特征的所有类别均由数字0,…,n-1表示,其中n表示给定特征的类别总数。例如,这可以在顺序编码(OrdinalEncoder)的帮助下实现。 |
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)
[源码]
为这个估计器设置参数
参数 | 说明 |
---|---|
**params | dict 估计器参数 |
返回值 | 说明 |
---|---|
self | object 估计器实例 |