【发布时间】:2019-01-10 13:46:15
【问题描述】:
我正在尝试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,还是我错过了一个统计点?我希望看到第一种情况的两个表格。 p>
【问题讨论】:
标签: scikit-learn nlp regression