在我的 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()
在下一步中,我想做同样的事情,但要使用二元组。我将特征提取器更改为仅计算二元组:
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,recognit 占 ~ 0.009,语言占 0.67 中的 ~ 0.007,对吧?
提前致谢!