使用 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。
从我的 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。