我正在使用随机森林进行二元分类,并try SHAP来解释模型预测.
但是,我想将带有值的SHAP local解释图转换 for each 实例的pandas数据帧.
这里有没有人可以帮我将SHAP local解释导出到每个实例的pandas dataframe?
我知道SHAPASH有.to_pandas()
种方法,但在SHAP中找不到类似的方法
我根据SO post heretry 了下面的方法,但没有效果
feature_names = shap_values.feature_names
shap_df = pd.DataFrame(shap_values.values, columns=feature_names)
vals = np.abs(shap_df.values).mean(0)
shap_importance = pd.DataFrame(list(zip(feature_names, vals)), columns=['col_name', 'feature_importance_vals'])
shap_importance.sort_values(by=['feature_importance_vals'], ascending=False, inplace=True)
我希望我的输出如下.在这里,负号表示类别0的功能贡献,正值表示类别1的功能贡献
subject_id Feature importance value (contribution)
1 F1 31
1 F2 27
1 F3 20
1 F5 - 10
1 F9 - 29