当前位置:   article > 正文

机器学习模型的解释-SHAP_shap模型

shap模型

1.SHAP值

SHAP值基于Shapley值,Shapley值是博弈论中的一个概念。SHAP所做的是量化每个特征对模型所做预测的贡献。
在这里插入图片描述
对于所有的特征上图(Age、Gender、Job)可以自由组合共有2^3=8种可能(数学中称为power set即幂集)。SHAP需要为幂集中的每个不同的组合训练一个不同的预测模型,这意味着有8个模型。当然,这些模型在涉及到它们的超参数和训练数据时是完全等价的。唯一改变的是模型中包含的一组特征。
在这里插入图片描述
假设上图是已经用相同训练样本训练了8个线性回归的模型。我们可以用这8个模型分别对一个测试样本做预测(x1),最后得出8个预测结果如上图。因为SHAP值所做的是量化每个特征对模型所做预测的贡献,因此需要计算出每个特征的SHAP值。在这里插入图片描述
对于模型2中Age可以算出年龄作为特征的模型的边际贡献是:
M C A g e , { A g e } = P r e d i c t { A g e } ( x 1 ) − P r e d i c t ∅ ( x 1 ) = 40 k $ − 50 k $ = − 10 k $ MC_{ {Age},\{Age\}}=Predict_{\{Age\}}(x1)-Predict_\varnothing(x1) = 40k\$-50k\$ = -10k\$ MCAge,{ Age}=Predict{ Age}(x1)Predict(x1)=40k$50k$=10k$
要获得年龄对最终模型效果的影响需要将所以涉及到Age的模型的边际贡献汇总。上图展示了所有涉及年龄的模型(1、2、5、6、8),可以得到年龄的贡献值(SHAP值)如下:

S H A P A g e ( x 1 ) = w 1 ∗ M C A g e , { A g e } ( X 0 ) + w 2 ∗ M C A g e , { A g e , G e n d e r } ( X 0 )

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/97554
推荐阅读
  

闽ICP备14008679号