问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
CSDN
1.
https://m.blog.csdn.net/ChaneMo/article/details/145699359

一、概念

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")

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号