python - 检查特征子集的 SHAP 特征重要性
问题描述
我正在尝试检查我使用 SHAP 构建的模型的特征重要性。
使用以下方法可以正常工作,但我希望有一个仅包含特征子集的图表。这可能吗?
shap.summary_plot(shap_values, features=X_train2, feature_names=X_train2.columns, max_display=30)
我尝试在数据集上使用 iloc 定义特征和特征名称的子集,例如features=X_train.iloc[;23:]
,但它不起作用。
解决方案
您需要对特征和 shap_values 进行子集化,否则它们不会对齐。值得一提的是,使用 shap.Explanation 对象的新 SHAP API 将使这更容易,因为它允许同时对特征和 SHAP 值进行简单的并行切片。
推荐阅读
- performance - 延迟过长时,Application Insight 不显示完整的端到端事务
- javascript - 我创建了 3 个按钮,如果您单击任何按钮,网站的语言会更改我的 javascript 代码在本地主机上有效,但在在线服务器上无效
- python - Python:虚拟还是存根?
- c# - 如何在 c# 中的浮点列表中添加浮点列表,统一?
- facebook - Facebook API 离线转化匹配问题
- http-put - 内联组件未定义或不允许 (HTTP PUT)
- angular - 如何从组件的子元素中使用指令方法?
- python-3.x - Python Key 错误 - 尝试使用语句时
- python - Python Selenium 多线程将每个线程的值加在一起
- python - 在 python 中向 sqlite3 数据库添加按钮文本