1

从我的二元分类模型中获得accuracy指标后keras,我需要知道模型做出了什么预测。所以,我对可变重要性感兴趣。我使用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_implAttributeError:'function'对象没有属性'func_name'。

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

4

1 回答 1

1

它适用于 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一起工作。

于 2018-07-31T22:02:59.863 回答