當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。