MultinomialNB对象无coef_属性报错求助:代码调用问题
解决MultinomialNB没有
coef_属性的问题 MultinomialNB(多项式朴素贝叶斯)没有coef_属性,这个属性属于LogisticRegression、LinearSVC这类线性模型,用于存储特征的线性系数。
MultinomialNB中对应特征权重的属性是feature_log_prob_,它存储了每个类别下各特征的对数概率。如果你的需求是将特征与对应权重配对,直接用这个属性替代coef_即可。
修正后的代码示例
如果要获取第一个类别的特征对数概率与特征名的配对:
adj = list(zip(model.feature_log_prob_[0], cv.get_feature_names()))
额外说明
feature_log_prob_的维度是(类别数, 特征数),你可以根据需要选择对应类别的索引(比如[1]代表第二个类别)。- 如果需要原始概率而非对数概率,可通过
numpy.exp()转换:
import numpy as np adj = list(zip(np.exp(model.feature_log_prob_[0]), cv.get_feature_names()))
内容的提问来源于stack exchange,提问作者Sejal Chaudhari
相关产品推荐
相关产品推荐

