当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cuml.naive_bayes.MultinomialNB用法及代码示例


用法:

class cuml.naive_bayes.MultinomialNB(*, alpha=1.0, fit_prior=True, class_prior=None, output_type=None, handle=None, verbose=False)

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

多项式朴素贝叶斯分类器适用于具有离散特征的分类(例如,文本分类的字数)。

多项分布通常需要整数特征计数。但是,在实践中,tf-idf 等小数计数也可能有效。

参数

alpha浮点数

Additive (Laplace/Lidstone) 平滑参数(0 表示无平滑)。

fit_prior布尔值

是否学习类先验概率。如果为 false,将使用统一的先验。

class_priorarray-like,大小(n_classes)

类的先验概率。如果指定,则不会根据数据调整先验。

output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默认=无

用于控制估计器的结果和属性的输出类型的变量。如果为 None,它将继承在模块级别设置的输出类型 cuml.global_settings.output_type 。有关详细信息,请参阅输出数据类型配置。

handlecuml.Handle

指定 cuml.handle 保存用于此模型中计算的内部 CUDA 状态。最重要的是,这指定了将用于模型计算的 CUDA 流,因此用户可以通过在多个流中创建句柄在不同的流中同时运行不同的模型。如果为 None,则创建一个新的。

verboseint 或布尔值,默认=False

设置日志记录级别。它必须是 cuml.common.logger.level_* 之一。有关详细信息,请参阅详细级别。

例子

从 Scikit-learn 加载 20 个新闻组数据集并训练一个朴素贝叶斯分类器。

import cupy as cp

from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import CountVectorizer

from cuml.naive_bayes import MultinomialNB

# Load corpus

twenty_train = fetch_20newsgroups(subset='train',
                        shuffle=True, random_state=42)

# Turn documents into term frequency vectors

count_vect = CountVectorizer()
features = count_vect.fit_transform(twenty_train.data)

# Put feature vectors and labels on the GPU

X = cupyx.scipy.sparse.csr_matrix(features.tocsr(), dtype=cp.float32)
y = cp.asarray(twenty_train.target, dtype=cp.int32)

# Train model

model = MultinomialNB()
model.fit(X, y)

# Compute accuracy on training set

model.score(X, y)

输出:

0.9244298934936523

属性

class_count_形状的ndarray(n_classes)

拟合期间每个类遇到的样本数。

class_log_prior_形状的ndarray(n_classes)

每个类的对数概率(平滑)。

classes_ndarray 形状 (n_classes,)

分类器已知的类标签

feature_count_ndarray 形状(n_classes,n_features)

拟合期间每个(类、特征)遇到的样本数。

feature_log_prob_ndarray 形状(n_classes,n_features)

给定类 P(x_i|y) 的特征的经验对数概率。

n_features_int

每个样本的特征数。

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cuml.naive_bayes.MultinomialNB。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。