SHAP
学习目标
- 知道SHAP 值的作用
- 掌握使用SHAP库对集成学习模型结果进行解释
一、SHAP Values简介
SHAP(SHApley Additive exPlanations)是一种用博弈论方法(起源于合作博弈论)来解释机器学习模型输出的方法。SHAP通过计算模型中各个特征的边际贡献来衡量各个特征的影响大小,进而对黑盒模型进行解释。该边际贡献在SHAP中称为Shapley Value,最开始由2012年诺贝尔经济学奖的获得者Lloyd Shapley于1938年提出,用于解决合作博弈论中的分配均衡问题。此外,由于Shapley Value本身的计算过程非常耗时,后续业内又发展了多种Shapley Value的近似计算方法,以提高其计算速度。
SHAP的基本思想 在博弈论中,多个参与者的一次合作可以带来一次产出。对于某个参与者(如赵四)而言
- 赵四的边际贡献=他参与此次合作的产出-他不参与此次合作的产出
- 赵四的边际贡献越大,说明他对这次合作的影响越大
可以通过这样的方法计算每个参与者的边际贡献,以衡量每个参与者对这次合作产出的影响大小。 这里将上述博弈论思想引入SHAP中:将合作视作建模,将合作中的参与者视作建模时的特征。对于某个样本而言
- 假设其特征有三个特征(x1,x2,x3),x1的边际贡献=x1入模时模型的预测结果-x1不入模时模型的预测结果
- 由于x1是否入模对应的特征组合情况有很多,比如,f(