Python 负责本地形状值的前N个特征
我一直在尝试在我的ML中使用SHAP值来帮助理解每个特性对本地结果的贡献。我知道所有特征的形状值的总和解释了为什么预测值与基线值不同。这使我们能够将预测分解为如下图形:Python 负责本地形状值的前N个特征,python,machine-learning,shap,Python,Machine Learning,Shap,我一直在尝试在我的ML中使用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
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)
我想知道是否有办法获得对形状值有正面和负面影响的前3个特性
以我为例
我需要这些功能作为阵列或数据帧,以便我可以对它们执行进一步的操作为您的示例做出积极贡献的前三大功能:
i = 400
features = X_train.columns
id_sorted = np.argsort(shap_values[i])
top3_positive = features[id_sorted[:-4:-1]]
造成负面影响的前三大功能:
top3_negative = features[id_sorted[:3]]
确切的型号是什么?请发一封信。