python 博弈论 库_SHAP:Python的可解释机器学习库

本文介绍了Python的SHAP库,一个用于解释机器学习模型预测的工具。通过SHAP值,数据科学家可以理解模型预测背后的逻辑,包括特征的正负影响力。文章详细阐述了SHAP的原理,并通过XGBoost模型展示了如何使用SHAP进行局部和全局解释,以及特征重要性和交互作用的分析。
摘要由CSDN通过智能技术生成

SHAP介绍

可解释机器学习在这几年慢慢成为了机器学习的重要研究方向。作为数据科学家需要防止模型存在偏见,且帮助决策者理解如何正确地使用我们的模型。越是严苛的场景,越需要模型提供证明它们是如何运作且避免错误的证据

关于模型解释性,除了线性模型和决策树这种天生就有很好解释性的模型意外,sklean中有很多模型都有importance这一接口,可以查看特征的重要性。其实这已经含沙射影地体现了模型解释性的理念。只不过传统的importance的计算方法其实有很多争议,且并不总是一致。有兴趣可以之后阅读相关文章 permutation importance、 interpretable_with_xgboost

SHAP是Python开发的一个"模型解释"包,可以解释任何机器学习模型的输出。其名称来源于SHapley Additive exPlanation,在合作博弈论的启发下SHAP构建一个加性的解释模型,所有的特征都视为“贡献者”。对于每个预测样本,模型都产生一个预测值,SHAP value就是该样本中每个特征所分配到的数值。

假设第i个样本为xi,第i个样本的第j个特征为xi_j,模型对该样本的预测值为yi,整个模型的基线(通常是所有样本的目标变量的均值)为y_base,那么SHAP value服从以下等式:

其中f(x_ij)为x_ij的SHAP值。直观上看,f(xi,1)就是第i个样本中第1个特征对最终预测值yi的贡献值,当f(xi,1)>0,说明该特征提升了预测值,也正向作用;反之,说明该特征使得预测值降低,有反作用。

传统的feature importan

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值