• SHAP值学习笔记


    模型可解释之shap值

    SHAP的名称来源于SHapley Additive exPlanation。Shapley value起源于合作博弈论。比如说甲乙丙丁四个工人一起打工,甲和乙完成了价值100元的工件,甲、乙、丙完成了价值120元的工件,乙、丙、丁完成了价值150元的工件,甲、丁完成了价值90元的工件,那么该如何公平、合理地分配这四个人的工钱呢?Shapley提出了一个合理的计算方法(有兴趣地可以查看原论文),我们称每个参与者分配到的数额为Shapley value。

    SHAP是由Shapley value启发的可加性解释模型。对于每个预测样本,模型都产生一个预测值,SHAP value就是该样本中每个特征所分配到的数值。 假设第i个样本为xi,第i个样本的第j个特征为xi,j,模型对第i个样本的预测值为yi,整个模型的基线(通常是所有样本的目标变量的均值)为ybase,那么SHAP value服从以下等式。
    \(y_{i}=y_{\text {base }}+f\left(x_{i, 1}\right)+f\left(x_{i, 2}\right)+\cdots\)
    其中f(xi,1)为xi,j的SHAP值。直观上看,f(xi,1)就是第i个样本中第1个特征对最终预测值yi的贡献值,当f(xi,1)>0,说明该特征提升了预测值,也正向作用;反之,说明该特征使得预测值降低,有反作用。SHAP value最大的优势是SHAP能对于反映出每一个样本中的特征的影响力,而且还表现出影响的正负性

    安装

    import shap

    用法可以参考:https://blog.51cto.com/u_15060508/4358436

    catboost中shap 用法

    catboost包中可以直接使用shap,并且进行可视化,用法大同小异
    具体可以参考,挺全的,但是网页上没法显示图
    https://github.com/catboost/tutorials/blob/master/model_analysis/shap_values_tutorial.ipynb

  • 相关阅读:
    CSRF
    PHP XXE漏洞
    jumpserver安装与部署
    ELK
    docker pull下来的镜像放哪儿了?
    MobSF 框架安装使用部署
    加密流量分析
    Pόlya定理-学习笔记
    所有区间异或的和的 一个加强
    计算一个序列有多少个不同的01子序列
  • 原文地址:https://www.cnblogs.com/gaowenxingxing/p/16246039.html
Copyright © 2020-2023  润新知