一般来说,提取一个模型的特征重要性是比较常见和简单的做法,但如果你想要分解模型对个别预测的工作原理怎么办?这时候SHAP值在机器学习模型中就起到了作用SHAP值(来自SHapley Additive exPlanations的首字母缩写)可以分解一个预测,展示每个特征的影响。它可以应用在哪些地方?比如下面2个场景就非常适合SHAP值的应用,1.一个模型告诉银行不应该贷款给某个人,而银行则被法律要求解释每次贷款拒绝的基础。2.医疗服务提供者想要识别推动每个病人某种疾病风险的因素,以便用针对性的健康干预手段来直接解决这些风险因素。SHAP值是如何起作用的呢?回答是SHAP值解释了具有给定特征的某个值相比于该特征采用某些基线值时对预测的影响。举个例子来说明一下,比如我们预测了一支球队是否会有球员赢得“比赛最佳球员”奖。我们可以问:一个预测是多少由这个事实推动的,即球队进了3个球?但如果我们将这个问题重新表述为:一个预测是多少由这个事实推动的,即球队进了3个球,而不是某个基线的进球数?当然,每支球队都有许多特征。所以如果我们回答了关于进球数的问题,我们可以重复这个过程来回答所有其他特征。SHAP值以一种保证良好属性的方式来做到这一点。具体来说,你可以用以下等式分解一个预测:所有特征的SHAP值之和 = 球队的预测 - 基线值的预测也就是说,所有特征的SHAP值加起来就可以解释为什么我的预测与基线不同。这允许我们像这样分解一个预测:如何解释这个图2这个图呢?在图中我们预测的值是0.7,而基线值是0.4979。导致预测增加的特征值用粉色表示,其视觉大小显示了特征效应的大小。导致预测降低的特征值用蓝色表示。最大的影响来自于进球数为2。尽管球占有率值对降低预测有明显的影响。常见的SHAP图主要有Waterfall plot,Force plot,Stacked force plot,Absolute Mean SHAP,Beeswarm plot,Violin plot #数据分析我在行 #SHAP #机器学习 #SCI #论文增色 #数据可视化 #提供思路和创新点 #数据分析











