问题标签 [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 投票
1 回答
663 浏览

r - R:如果不是这样,LIME 会在不同的功能编号上返回错误

我正在构建一个克林顿和特朗普推文的文本分类器(数据可以在Kaggle上找到)。

我正在使用quanteda包进行 EDA 和建模:

然后我定义解释器 - 这里没有问题:

但是,当我运行解释器时,即使在与 in 完全相同的数据集上,也会explainer出现错误:

predict.textmodel_nb_fitted(x, newdata = newdata, type = type, 中的错误:newdata 中的特征集与训练集中的特征集不同

quanteda和dfms有关系吗?老实说,我不明白为什么会发生这种情况。任何帮助都会很棒,谢谢!

0 投票
1 回答
457 浏览

r - R:将 LIME 应用于 quanteda 文本模型的问题

这是我之前问题的修改版本:我正在尝试在我的quanteda文本模型上运行 LIME,该模型以特朗普和克林顿的推文数据为基础。我按照Thomas Pedersen 在他的Understanding LIME和@Weihuang Wong提供的有用SO 答案中给出的示例运行它:

但是当我运行解释器时......

...我收到以下错误:

UseMethod(“corpus”)中的错误:没有适用于“corpus”的方法应用于类“c('dfm','dgCMatrix','CsparseMatrix','dsparseMatrix','generalMatrix','dCsparseMatrix',' dMatrix'、'sparseMatrix'、'compMatrix'、'Matrix'、'xMatrix'、'mMatrix'、'Mnumeric'、'replValueSp')"

它可以追溯到corpus()申请newdata

但我不明白为什么这会导致任何问题,因为新数据是文本向量?

感谢您的任何提示

0 投票
1 回答
916 浏览

r - R中的石灰:示例不起作用 glmnet中的错误(x [shuffle_order,功能]

使用 R 中的 Lime 包,我想解释一下我的 RF 模型。

我在 github 上看到了一个示例(向下滚动到“示例”部分):(https://github.com/thomasp85/lime

我尝试运行完全相同的代码,但使用我自己的数据(我的数据添加在下面)。但是,每次我收到同样的错误。有谁可以帮我离开这里吗?

我的理解是我的代码与示例中的代码完全相同,包括我的数据的 str()。出了什么问题?我怎样才能使这项工作?

请注意,我的目标变量是第一列(称为目标),并且我的所有数据都是二进制数据。

第一个警告:警告消息:1:不推荐在 tibble 上设置行名称。

第二个警告:警告消息:数据包含方差为零的数字列

和错误:

head(explanation) # 到目前为止还没有成功...

编辑 1删除了所有方差为 0 的列(如评论中所建议的那样)。但不幸的是,仍然是同样的错误。

我的数据:

0 投票
1 回答
580 浏览

r - 使用 LIME 预测 R 中的 logit 模型?

所以我试图使用 LIME 来理解 R 中 logit 模型的预测。我知道我不需要,但我试图说明它对一个可以简单理解为起点的模型的作用一个演讲。

但是我在让这个工作时遇到了麻烦。我确信这是由于 model.predict 方面,但我的几个解决方案没有奏效。

基本上这是我想做的:

现在我得到了错误

但是在 'lime' 代码中移动我的 'type = "response"' 并不能解决它。

我已经尝试创建一个函数'predict_model.glm',我认为可能会纠正这个问题,因为我在使用randomForest并让它工作时发生了什么:

但这似乎只会增加错误。

我确信这是因为我错过了“石灰”方面正在寻找的确切内容(因此我无法用“predict_model.glm”函数纠正这个问题),但我似乎无法在任何地方找到澄清。

任何帮助都会很棒,谢谢!

0 投票
0 回答
193 浏览

python - 在数据块中并行化 Lime

我正在尝试在 databricks 上并行化石灰框架,但无法这样做。我不知道如何,如果有人可以提供帮助,我如何发送对不同工人的每一个观察结果。

更明显的是来自石灰框架。

下面的代码:

0 投票
0 回答
609 浏览

r - 使用 Lime 的 Keras 模型的特征/变量重要性

Keras我有一个具有多类型输入数据的两类分类模型,其中我根据 1 个连续输入数据和 3 个分类输入数据预测 A 类和 B 类。在下面的虚拟示例中,continuous1、categorical1 和 categorical2 是 1D 张量,categorical3 是形状(样本、索引)的 2D 张量,长度为 num_index=20,并且是 one-hot 编码的。然后,我想使用 egLime来分析哪些数据输入对预测的贡献大于其他输入。我正在关注教程,但由于我有多种输入数据,我遇到了一些困难。

在此处输入图像描述

由于我得到的错误消息lime::explain()似乎表明一些不匹配/缺少变量名称/标签,我创建并尝试了不同的输入(都产生了相同的错误);

这三个都input_test导致了上述错误。我还尝试确保实际数据,特别是categorical3_tensor列名与input_test(即X1, X2, X3等)的列名匹配,但这也无济于事。

非常感谢任何建议/帮助!

0 投票
0 回答
284 浏览

python - 如何解决类型错误 - Lime 解释 CNN 结果

我正在使用带有 Tesorflow 后端的 keras(使用 python 2.7),并且我在具有四个类的预训练 vgg16 模型之上构建了两个密集层。我在验证集上得到了相当不错的结果。现在我想用石灰来解释我的结果。

我导入了石灰包并在石灰 github 存储库https://github.com/marcotcr/lime/blob/master/doc/notebooks/Tutorial%20-%20Image%20Classification%20Keras.ipynb之后转换了我的一张图像。我的 path_list 包含一张照片。

然后

我收到此错误:

根据文档,“classifier_fn:获取图像列表并返回预测概率矩阵的函数”。我用 model_top.predict 替换了这个参数。如果我调用 predictions = model_top.predict(validation_data, batch_size=32),我可以获得所有的预测

任何帮助,将不胜感激。

0 投票
1 回答
111 浏览

python - 为什么石灰表格方法会使用数据框生成类型错误?

我打算使用 LIME 来解释梯度提升模型的结果。

这是我拥有的数据:

在此处输入图像描述

我正在使用的代码:

我得到的错误是:

在此处输入图像描述

0 投票
2 回答
2828 浏览

python - 用 LIME 解释 CNN (Keras) 输出

我试图用LIME解释我的卷积神经网络在 Keras 中的输出。

我的神经网络是一个多类文本分类器,其中每个类都是独立的。因此,文本可以包含第 1 类和第 2 类或仅包含 1 类等。第五个“类”(无)用于文本中没有类的情况。

然而,虽然我设法用 Keras 和 Lime 解释了一个二元分类案例,但我无法得到具有独立类的多类案例。在这里找到了第一个帮助:

但是,我的代码不起作用,我从 Lime 收到内部错误,例如:“ValueError:找到样本数量不一致的输入变量:[5000, 100000]”

错误信息:

有谁知道我做错了什么?我很确定它与输入格式有关。

0 投票
0 回答
230 浏览

r - Keras,LIME:“解释”函数中没有为“lstm__input”提供数据

我收到 ValueError:没有为“lstm__input”提供数据。在执行lime::explain时需要每个键的数据:['lstm__input']

我有最新的石灰版本,并查看了与我的问题相关的所有主题。我有 LSTM 回归网络,训练和预测值没有任何问题。同样,我使用石灰预测值也没有任何问题:

到目前为止,一切正常。当我尝试运行下一行时:

我收到一个错误:

我想主要问题来自这样一个事实,即我的 NN 只需要 3-dim 矩阵predict_model在不能使用它。有没有人遇到过这样的问题?我该如何解决?