gpt4 book ai didi

python - 如何将logit shap值转换为概率

转载 作者:行者123 更新时间:2023-12-05 06:03:59 26 4
gpt4 key购买 nike

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

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')

最佳答案

我一直在使用实例级解释的解决方法:

shap_values = (shap_values / sum(shap_values)) * probability

shap_values 是一个列表,len(shap_values) = n_features,每个特征一个 Shapley 值,概率是 [ 0, 1].

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

关于python - 如何将logit shap值转换为概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66484992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com