eli5:show_weights()有两个标签
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eli5:show_weights()有两个标签相关的知识,希望对你有一定的参考价值。
我正在尝试使用eli5来理解术语对某些类的预测的贡献。
您可以运行此脚本:
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.datasets import fetch_20newsgroups
#categories = ['alt.atheism', 'soc.religion.christian']
categories = ['alt.atheism', 'soc.religion.christian', 'comp.graphics']
np.random.seed(1)
train = fetch_20newsgroups(subset='train', categories=categories, shuffle=True, random_state=7)
test = fetch_20newsgroups(subset='test', categories=categories, shuffle=True, random_state=7)
bow_model = CountVectorizer(stop_words='english')
clf = LogisticRegression()
pipel = Pipeline([('bow', bow),
('classifier', clf)])
pipel.fit(train.data, train.target)
import eli5
eli5.show_weights(clf, vec=bow, top=20)
问题:
使用两个标签时,不幸的是输出仅限于一个表:
categories = ['alt.atheism', 'soc.religion.christian']
但是,当使用三个标签时,它还会输出三个表格。
categories = ['alt.atheism', 'soc.religion.christian', 'comp.graphics']
软件中的错误是它在第一个输出中错过了y = 0,还是我错过了统计点?我希望第一个案例看到两个表格。
这与eli5无关,但与scikit-learn(在本例中为LogisticRegression()
)如何对待两个类别。对于仅两个类别,问题变为二进制,因此从学习的分类器到处返回只有一列属性。
查看LogisticRegression的属性:
coef_:array,shape(1,n_features)或(n_classes,n_features)
Coefficient of the features in the decision function. coef_ is of shape (1, n_features) when the given problem is binary.
intercept_:array,shape(1,)或(n_classes,)
Intercept (a.k.a. bias) added to the decision function. If fit_intercept is set to False, the intercept is set to zero. intercept_ is of shape(1,) when the problem is binary.
当二进制时,coef_
的形状是(1, n_features)
。这个coef_
被eli5.show_weights()
使用。
希望这说清楚。
以上是关于eli5:show_weights()有两个标签的主要内容,如果未能解决你的问题,请参考以下文章
如何在 python 中将 eli5.show_weights 转换为数组/列表
我可以有一个用于引用和指针的 ELI5 以及何时使用它们吗?
ELI5 explain_weights 和 explain_predictions 作为 pandas DataFrame
ML之PFI(eli5):基于mpg汽车油耗数据集利用RF随机森林算法和PFI置换特征重要性算法实现模型特征可解释性排序
将 PermutationImportance 与 LGBMClassifier 一起使用会导致 ValueError:未知标签类型:“连续”