【发布时间】:2021-01-09 17:02:46
【问题描述】:
在我的 NLP 任务中,我想了解分类器的“规则”。为此,我构建了一个 LimeTextExplainer。
c= make_pipeline(cv,naive_bayes)
explainer = LimeTextExplainer(class_names=class_names, random_state=42, bow=False)
exp = explainer.explain_instance(X_test[i], c.predict_proba, num_features=20,)
fig = exp.as_pyplot_figure()
上面的代码创建了一个很好的 1 克列表,这正是我想要的。 :
在下一步我想做同样的事情,但使用二元组。我将特征提取器更改为仅计算二元组:
cv = CountVectorizer(strip_accents='ascii', analyzer='word',
token_pattern=u'(?ui)\\b\\w*[a-z]+\\w*\\b',
lowercase=True, stop_words='english',
ngram_range=(2,2), max_features=None)
问题:
- 我对 Limeexplainer 使用与上述相同的代码。但现在, 图表和以前一样只显示 1 克,但我只计算了二元。
- 作为一个附带问题,图表的水平轴显示 词占分类的绝对概率 可能性?例如,文本类 X 概率为 0.67, 在 0.67 中,识别占 ~ 0.009,语言占 ~ 0.007, 对吗?
提前致谢!
【问题讨论】:
标签: python nlp text-classification lime