下面的代码represnets sklearn multinomial naïve bayes.
import numpy as np
from sklearn.naive_bayes import MultinomialNB
X = np.random.randint(5, size=(10, 100))
y=np.random.randint(2,size=(10,))
clf = MultinomialNB()
clf.fit(X, y)
然后我想找出我的模型中的重要功能,在 sklearn 文档中我们有两个参数,即。
feature_log_prob_ : array, shape (n_classes, n_features)
Empirical log probability of features given a class, P(x_i|y).
coef_ : array, shape (n_classes, n_features)
Mirrors feature_log_prob_ for interpreting MultinomialNB as a linear model.
然后如果我尝试打印这两个属性
print(clf.feature_log_prob_.shape) // giving (2,100)
print(clf.coef_.shape) // giving (1,100)
但是当我的类超过两个时,这两个属性都会给出相同的结果。
以上两个属性有什么区别?
在标准的二元分类中,coef_
给出了观察"成功"类别的概率。在多项式情况下,coef_
返回观察每个结果的概率,即对于所有类,它将返回概率分数。