使用 lime R 包解释我的 keras 对象的功能

Explain features from my keras object with lime R package

从我的 keras 二元分类模型获得 accuracy 指标后,我需要知道模型做出的预测。所以,我对 变量重要性 很感兴趣。我使用 lime 包。

library(lime)

explainer <- lime (
  x  = x_train, 
  model  = model_keras, 
  bin_continuous  = FALSE)

explanation <- explain (
    x_test[1:20,], # Show first 20 samples
    explainer    = explainer, 
    n_labels     = 1, 
    n_features   = 5) 

Explain 函数在 py_get_attr_impl 函数中给出了以下错误:AttributeError: 'function' object has no attribute 'func_name'.

我已经用 R 编译了 keras 模型,但是这个 Issue 似乎是来自 Python 版本的错误。 Reticulate 包有问题?

它适用于 python 2.7,但在 python 3+ 时会产生错误。

实际上函数属性 func_name 在 python 3+ 中被重命名为 __name__

青柠包(models.R)有一行:

if (keras::get_layer(x, index = -1)$activation$func_name == 'linear')

我删除了 $func_name,代码对我有用。 我想这不是最好的解决方法,但是我想到了可能的解决方案:

if (keras::get_layer(x, index = -1)$activation$__name__ == 'linear')

不适用于 R。