首页 > 解决方案 > 检查特征子集的 SHAP 特征重要性

问题描述

我正在尝试检查我使用 SHAP 构建的模型的特征重要性。

使用以下方法可以正常工作,但我希望有一个仅包含特征子集的图表。这可能吗?

shap.summary_plot(shap_values, features=X_train2, feature_names=X_train2.columns, max_display=30)

我尝试在数据集上使用 iloc 定义特征和特征名称的子集,例如features=X_train.iloc[;23:],但它不起作用。

标签: pythonclassificationxgboostshapxgbclassifier

解决方案


您需要对特征和 shap_values 进行子集化,否则它们不会对齐。值得一提的是,使用 shap.Explanation 对象的新 SHAP API 将使这更容易,因为它允许同时对特征和 SHAP 值进行简单的并行切片。


推荐阅读