Lime 解释器显示与分类器预测不同的预测概率 - 情感分析

Posted

技术标签:

【中文标题】Lime 解释器显示与分类器预测不同的预测概率 - 情感分析【英文标题】:Lime explainer shows prediction probabilities different to the classifier prediction - sentiment analysis 【发布时间】:2019-06-15 17:37:45 【问题描述】:

我正在使用 Lime 来追踪模型为何决定预测这句话是(NEG、POS 或 NEUTRAL)背后的行为,并且在大多数情况下,lime 解释正确,但在这种情况下,为什么我输入 NEG 句子,模型将其预测为 NEUTRAL,但 Lime 以 NEG 最高百分比对其进行可视化,那么为什么我会出现这样的逻辑错误?

Model prediction vs Lime prediction

【问题讨论】:

【参考方案1】:

你没有提供很多细节,所以我的回答同样笼统:你的原始模型做出了错误的预测。然后石灰对模型进行线性近似。由于线性模型的近似性质,这与原始模型不完全一样,并且与原始模型有偏差。在您的情况下,原始模型给出了错误的预测,并且线性近似的偏差是 - 偶然地 - 朝着正确答案的方向,因此尽管原始模型是错误的,但您偶然地从近似值中得到正确的答案.

【讨论】:

很抱歉没有提供足够的细节。因此,我用三个标签(POS、NEG、NEUTRAL)注释了数据集,并且我在我的模型中使用了分类器,例如 SVM.SVC 或 LinearSVC 进行分类。我生成 .pkl 文件以保持训练后的模型不变并打开它以预测输入。当我预测输入并使用 LIME 进行可视化时,我得到了类似 NEG 的标签,但 Lime 将 NEUTRAL 的百分比可视化超过了 NEG。这里的 Q 是 Lime 显示与模型结果不同的可视化的原因。 很抱歉,我没有足够的声望来投票。你给我提供了背后的原因,很好,但我想解决这样的问题,我该怎么办? 您的意思是局部线性 LIME 模型的结果为您提供标签 NEUTRAL 的最高概率,但 LIME 的可视化返回标签 NEG?也许可视化显示了原始模型的标签(可能是 NEG),但是局部线性 LIME 模型的概率(对于 NEUTRAL 来说是最高的)?请编辑您的问题,以便您发布代码和预测答案 a)原始值,b)局部线性 LIME 模型和 c)还绘制 LIME 的可视化。这样就更容易理解你的问题了。

以上是关于Lime 解释器显示与分类器预测不同的预测概率 - 情感分析的主要内容,如果未能解决你的问题,请参考以下文章

R语言构建文本分类模型并使用LIME进行模型解释实战:文本数据预处理构建词袋模型构建xgboost文本分类模型基于文本训练数据以及模型构建LIME解释器解释多个测试语料的预测结果并可视化

论文阅读LIME概要及代码案例

学习打卡07 可解释机器学习笔记之Shape+Lime代码实战

学习打卡07 可解释机器学习笔记之Shape+Lime代码实战

学习打卡07 可解释机器学习笔记之Shape+Lime代码实战

学习打卡07 可解释机器学习笔记之Shape+Lime代码实战