我一直在尝试在我的 ML 中使用 SHAP 值来帮助了解每个特征对本地结果的贡献。我知道所有特征的 SHAP 值加起来可以解释为什么预测与基线值不同。这使我们可以像这样在图中分解预测:
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X_train)
i = 400
shap.force_plot(explainer.expected_value, shap_values[i], features=X_train.loc[400], feature_names=X_train.columns)
我想知道在我的示例中是否有办法获得对 SHAP 值产生正面和负面影响的前 3 个功能
- LSTAT、PTRATIO 和 INDUS 帮助推动价值向右
- RM,Tax,Rad 向另一个方向推进
我需要将这些功能作为数组或数据框,以便我可以对它们进行进一步的操作