模型可解释性对于商业应用十分关键。对于数据科学家来说,模型的解释性关系能否说服对方为什么要采用该模型,和方便建模人员了解模型是否合理。下面介绍几种常见的模型可解释性的方法及应用。
1.Partial Dependence Plots(pdpbox)
这个工具bug好像挺多的,文档写的也比较简略。bug也比较多,只支持sklearn上面的模型,对于xgboost不支持,比较方便用来做数据探索吧。
https://github.com/SauceCat/PDPbox
2.lime
是一个比较好的解释模型预测的工具,可以看到每个特征对预测结果的贡献大概是多少。主要的原理是用一个比较简单的线性模型来拟合复杂模型的结果。通过把原始的数据分段,然后把某些特征的值设为0来观察模型结果的变化,可以知道某个变量对结果的影响是正向的还是负向的。
https://github.com/marcotcr/lime
3.SHAP
Shap 也是一个比较高的模型解释的工具包,可以比较好的支持xgboost和keras,功能齐全bug也比较少,画面炫酷而且可以分析交叉特征,可以知道图像识别中主要用到了哪些特征。可以知道某一行中每个特征对结果的贡献是积极的还是消极的。
主要原理用到了博弈论中的夏普里值,通过增加该值和删除该值,计算该值对模型结果的边际增加还是减少,边际增加说明该特征对结果为积极的影响。