首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将logit shap值转换为概率

如何将logit shap值转换为概率
EN

Stack Overflow用户
提问于 2021-03-05 08:24:19
回答 1查看 701关注 0票数 1

我一直在尝试使用logit链接将shap值转换为数据集中所有要素的概率。model_output ='probability‘参数不适用于我的catboost模型。我想转换每个特征的形状值,这样当你对它们求和时,它们等于力图上显示的概率。我使用了一个预先编写的函数将对数赔率转换为概率,但在力图中,总和并不相等。有什么建议吗?

代码语言:javascript
复制
explainer = shap.TreeExplainer(catboost)
shap_values = explainer.shap_values(df_X_test)
shap.force_plot(explainer.expected_value, shap_values[0,:], df_X_test.iloc[0,:],link='logit')
EN

回答 1

Stack Overflow用户

发布于 2021-10-08 13:21:30

我一直在用一个变通方法来进行实例级的解释:

代码语言:javascript
复制
shap_values = (shap_values / sum(shap_values)) * probability

其中shap_values是一个列表,len(shap_values) = n_features,每个特征一个Shapley值,probability是0,1中的双精度。

这将缩放您的Shapley值,从它们所在的任何域,到预测的概率。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66484992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档