机器学习模型可解释性工具——SHAP

一、概念

        SHAP(Shapley Additive Explanations)是一种基于博弈论的模型可解释性方法旨在量化每个特征对模型预测的贡献。核心思想源自Shapley值(Shapley Value),由诺贝尔经济学奖得主Lloyd Shapley在合作博弈论中提出,用于公平分配多参与者合作产生的收益。SHAP可以为模型预测提供直观、一致的解释,说明每个特征如何影响最终输出(例如分类概率或回归值)。

二、原理

        SHAP基于Shapley值,通过量化每个特征对模型预测的边际贡献,提供模型解释。所有特征的Shapley值之和等于模型预测值与基线值(通常是数据集的平均值)的差异。

1、Shapley值

        在合作博弈中,多个参与者(特征)共同产生收益(模型预测值)。Shapley值通过以下公式公平分配每个参与者的贡献:

        其中,F是特征集合,S是子集,f是模型预测函数。

三、python实现

import shap
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

# 加载数据并训练模型
X, y = load_iris(return_X_y=True)
model = RandomForestClassifier().fit(X, y)

explainer = shap.TreeExplainer(model)  # 适用于树模型
shap_values = explainer.shap_values(X)

# 全局特征重要性
shap.summary_plot(shap_values, X, plot_type="bar")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值