小编Par*_*syk的帖子

从 SHAP 值中获取特征重要性

我想获得一个包含重要功能的数据框。通过下面的代码,我得到了 shap_values,但我不确定这些值的含义是什么。在我的 df 中有 142 个特征和 67 个实验,但得到了一个带有 ca 的数组。2500 个值。

explainer = shap.TreeExplainer(rf)
shap_values = explainer.shap_values(X_test)

shap.summary_plot(shap_values, X_test, plot_type="bar")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我尝试将它们存储在 df 中:

rf_resultX = pd.DataFrame(shap_values, columns = ['shap_values'])
Run Code Online (Sandbox Code Playgroud)

但得到: ValueError: 传递值的形状是 (18, 142),索引意味着 (18, 1)

142 - 特征的数量。18 - 我不知道。

我相信它的工作原理如下:

  • shap_values 需要取平均值。
  • 并与功能名称配对: pd.DataFrame(feature_names, columns = ['feature_names'])

有人有经验,如何解释 shap_values 吗?起初我认为,值的数量是特征数 x 行数。

python feature-selection random-forest

12
推荐指数
2
解决办法
3万
查看次数

标签 统计

feature-selection ×1

python ×1

random-forest ×1