问题标签 [lime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
392 浏览

python - 在 SHAP 力图中,有没有办法将 x 轴的值更改为自定义名称?

在 SHAP 力图中,有没有办法将 x 轴的值更改为自定义名称?

0 投票
0 回答
39 浏览

visual-studio-code - 在 Visual Studio Code 中使用“type”:“lime”的任务有什么作用?

我最近回到了一个旧项目 Visual Studio Code,我试图弄清楚它是如何工作的。我打开了我的 tasks.json 文件,有一个“type”:“lime”的任务。这是做什么的?我查看了tasks.json 架构,据此,这不应该是一个有效值。我认为它与 Lime 扩展有关,但我也找不到它的作用。在某处有这方面的文档吗?我做了一个谷歌搜索,我找不到任何东西。谢谢。

0 投票
1 回答
332 浏览

python - 自然语言处理 | 用于二元组的 LimeTextExplainer

在我的 NLP 任务中,我想了解分类器的“规则”。为此,我构建了一个 LimeTextExplainer。

上面的代码创建了一个很好的 1 克列表,这正是我想要的。:在此处输入图像描述

在下一步中,我想做同样的事情,但要使用二元组。我将特征提取器更改为仅计算二元组:

问题:

  1. 我对 Limeexplainer 使用与上面相同的代码。但是现在,该图和以前一样只显示 1 克,但我只计算了二元。
  2. 作为一个附带问题,图表的水平轴显示单词占分类概率的绝对概率?例如,文本类 X 的概率是 0.67,recognit 占 ~ 0.009,语言占 0.67 中的 ~ 0.007,对吧?

提前致谢!

0 投票
0 回答
85 浏览

r - 具有目标“计数:泊松”的 xgboost 模型上的 R 中的 LIME

我正在尝试在 R 中使用 LIME 来解释具有目标“计数:泊松”的 xgboost 模型。对于标准的“reg:linear”来说,它似乎工作得很好。有没有解决的办法?这个问题以前在这里被问过,但没有被接受的答案。

石灰的 R 版本可以用 count:poisson 目标函数解释 xgboost 模型吗?

试图在泊松解释器上运行解释函数最终会抛出这个错误

0 投票
1 回答
92 浏览

python - 如何在 Python 中对 LSTM 神经网络进行模型不可知论?

我在我的数据集上使用了 LSTM 神经网络(Keras 包),并希望使用与模型无关的方法来查找变量对我的预测的影响。数据集是一个具有三个维度的数组。我有多个 ID,每个 ID 都有自己的序列,每个 ID 都有可变的时间步长。我的数据集的形状如下所示:(18610, 151, 18)(ID、时间步长、变量),一个时间步长上一个 ID 的变量输出如下所示(预测类 1):

所有模型不可知论方法(据我所知)都不适用于这些具有三个维度的数组数据集。有没有办法仍然找到变量的影响(使用 Lime、部分依赖图或 Shapley?)所以我可以解释模型?我更喜欢使用部分依赖图来查看全局解释。

有谁知道如何做到这一点(使用示例代码)?非常感谢您!

0 投票
0 回答
204 浏览

python - 如何在 LIME 中使用具有两个输入的模型来解释文本分类

我的 Keras 模型如下:https
://i.stack.imgur.com/2Gfun.png 它需要两个短语,结果是它们之间的关系,可以是“攻击,支持,两者都不是”。

现在,我想用 LIME 解释这个模型的输出,我尝试了以下方法:

testo现在,当我在函数内部传递字符串时,explainer.explain_instance(testo, new_predict)该字符串变为:

你知道为什么会这样吗?我试图用一个文本输入来解释一个模型并且它有效,但是有多个输入我的程序有问题。

0 投票
0 回答
98 浏览

python - BERT 根据我将提供的数据预测不同的结果来预测函数

我正在尝试在简单变压器的 BERT 模型上实现 LIME。对于不知道 LIME 是如何工作的人来说,LIME 通过创建一个包含不同句子组合的数组来扰乱将被预测的文本。当我对文本“嗨,我的名字是 Ege”使用模型预测时,预测将为 1。另一方面,如果我使用样本数为 20 的 LIME,则被扰动的数组将为 [ '嗨,我叫埃格','嗨,','嗨,我叫埃格','嗨,我的名字是',',我叫埃格',',',',','嗨,是Ege', ',my ', 'Hi,my is ', 'Hi, is ', ', ', 'Hi,my is Ege', ', Ege', ', ', ', Ege', ', name是',',我的Ege','嗨,我的','嗨,名称是 Ege'],预测是 [0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0]。如您所见,扰动数组的第一个文本是原始文本,并且预测发生了变化,尽管预测的文本是相同的。为什么会发生,我可以解决它吗?

0 投票
1 回答
147 浏览

machine-learning - 如何在 Bert 模型中实现 LIME?

我是机器学习的新手。我注意到以前也有人问过这样的问题,但没有得到适当的解决方案。下面是语义相似性的代码,我想实现 LIME 作为基础。请帮帮我。

0 投票
0 回答
28 浏览

python - 如何在 Lime SubmodularPick 中解释 NaN

我正在创建一个显示 LIME SubmodularPick 聚合结果的可视化,基本上我绘制了结果的直方图和箱线图。但是,当我查看表格时,我发现很多值都丢失了,而是显示为 NaN

为什么会有缺失值?

是因为解释中没有考虑该特征还是它不重要而导致缺失值?

如果所有都是 NaN 和一些非常高的分数(0.99),这是否意味着该特征仅在少数情况下很重要?

0 投票
0 回答
232 浏览

python - 在 python 中编码,explain_instance 的 LIME 模块错误;字符串超出索引

我正在使用 Sci-Kit Learn 来训练一个模型,该模型根据姓名输入进行性别输出预测。我的模型运行成功,准确率约为 80%。我正在尝试使用 LIME 模块来可视化模型用于进行预测的特征和权重。但是,我收到错误“字符串索引超出范围”。下面我将提供可重现的代码:

以下函数从单个名称中提取所需的特征。这是导致错误的函数,特别是在第三行中创建了“y”变量。无论 explain_instance 函数作为 letter_extractor 的“x”传递,似乎都不是字符串。

下面的这个函数将用于在名称列表上循环上述函数,但也将接受单个字符串/名称来提取特征,然后通过管道

然后,我创建 test_train 拆分

创建特征的 tfidf

准备管道

查看单个随机示例的统计信息

最后,在可视化单个示例时出现问题(上面创建的“text_sample”)

管道效果很好,处理单个字符串和列表没有任何问题

我只是很困惑为什么管道可以处理一个字符串,但是会explain_instance抛出一个错误。