JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读

简介: JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读

一、引言

JAMA Network Open作为JAMA系列期刊之一,在医学研究领域发挥着重要作用。其开放获取的特点使得更多人可以接触到最新的研究成果,包括机器学习在医学领域的应用。


机器学习模型的可解释性一直是研究的热点和挑战之一。特别是在医学领域,对模型决策的解释性要求更高,以确保决策过程透明且可信赖。

SHAP分析作为一种用于解释模型预测结果的方法,在提供了对模型决策过程的解释性同时,也有助于改善模型的可解释性和可靠性。它通过计算特征对预测结果的贡献程度,帮助我们理解模型的预测逻辑。

二、机器学习中的可解释性

2.1 可解释性在机器学习中意义和价值

机器学习模型的可解释性是指能够清晰解释模型预测结果的过程和原因。具有良好可解释性的模型可以增强用户对模型决策的信任度,帮助用户理解模型背后的逻辑,从而提高模型的实用性和可靠性。

2.2 可解释性方法的比较与应用场景

在机器学习中,有多种可解释性方法,如局部解释性方法(如LIME)、全局解释性方法(如SHAP)、基于规则的解释性方法等。这些方法各有优劣,并适用于不同的应用场景。局部解释性方法适用于理解单个预测的原因,全局解释性方法适用于理解整体模型行为,而基于规则的方法适用于生成易解释的规则集。

2.3 SHAP分析的原理和算法介绍

SHAP(SHapley Additive exPlanations)是一种基于博弈论的模型解释方法,它通过计算特征值对模型预测结果的贡献度,为每个特征提供了一个解释性分数。SHAP值的计算基于Shapley值的概念,通过对特征值进行排列组合,计算每个特征对模型输出的影响。SHAP分析可以帮助我们理解模型预测的原因,并为模型预测结果提供直观的解释。

三、Shap分析图像复刻

  • 「数据集准备」
import xgboost
X, y = shap.datasets.boston()
print(X, y)

结果展示:

CRIM    ZN  INDUS  CHAS    NOX  ...  RAD    TAX  PTRATIO       B  LSTAT
0    0.00632  18.0   2.31   0.0  0.538  ...  1.0  296.0     15.3  396.90   4.98
1    0.02731   0.0   7.07   0.0  0.469  ...  2.0  242.0     17.8  396.90   9.14
2    0.02729   0.0   7.07   0.0  0.469  ...  2.0  242.0     17.8  392.83   4.03
3    0.03237   0.0   2.18   0.0  0.458  ...  3.0  222.0     18.7  394.63   2.94
4    0.06905   0.0   2.18   0.0  0.458  ...  3.0  222.0     18.7  396.90   5.33
  • 「示例数据集介绍」
CRIM:城镇人均犯罪率
ZN:住宅用地超过 25,000 平方英尺的比例
INDUS:非零售商业用地的比例
CHAS:查尔斯河虚拟变量,如果附近是河流则为 1,否则为 0
NOX:一氧化氮浓度(每千万份)
RM:住宅平均房间数
AGE:1940 年之前建造的自住单位的比例
DIS:到波士顿五个就业中心的加权距离
RAD:高速公路的可达性指数
TAX:每 10,000 美元的全值财产税率
PTRATIO:城镇师生比例
B:1000(Bk - 0.63)^2,其中 Bk 是城镇黑人的比例
LSTAT:人口中地位较低者的百分比
  • 「模型拟合」
model = xgboost.XGBRegressor().fit(X, y)
  • 「shap分析」
import shap
import pandas as pd
import numpy as np
import matplotlib as plt
explainer = shap.Explainer(model)
shap_values = explainer(X)
  • 「同版图像复刻」
shap.plots.beeswarm(shap_values,plot_size="auto")

已经八九不离十了,还差颜色不同,来调整一下:

shap.plots.beeswarm(shap_values,max_display=30,plot_size=[10,8],color=plt.get_cmap("viridis"))

基本差不多复刻出来了。

四、SHAP分析解读

4.1 解读SHAP分析结果的步骤和技巧

  • 「理解SHAP值」:SHAP值表示每个特征对模型预测的贡献程度。正值表示增加预测值,负值表示减少预测值。
  • 「特征重要性排序」:根据SHAP值的大小对特征进行排序,了解哪些特征对预测影响最大。
  • 「解释单个预测」:通过展示每个特征对于某个特定预测结果的贡献,解释模型每个预测的依据。
  • 「可视化解释」:使用图表直观地展示SHAP值,比如Summary Plot、Force Plot等,有助于理解模型的决策过程。

4.2 如何利用SHAP分析改进模型

  • 「特征选择」:根据SHAP值的分析结果,选择重要性较高的特征,可以帮助简化模型并提高模型的泛化能力。
  • 「调整模型参数」:根据SHAP分析发现的特征贡献,调整模型参数,如正则化参数的设置,以提高模型性能。
  • 「数据采样优化」:根据SHAP值的分析结果,针对特定特征值的样本数据进行重点关注,有针对性地进行数据采样。

五、总结

在机器学习领域,模型的可解释性对于提高模型的信任度、理解模型决策过程、发现潜在问题以及推动模型应用和部署都至关重要。SHAP分析作为一种先进的解释性工具,可以帮助我们深入理解模型预测结果背后的原因,识别重要特征,并提供直观的解释,从而增强模型的可解释性和透明度。

*「未经许可,不得以任何方式复制或抄袭本篇文章之部分或全部内容。版权所有,侵权必究。」

目录
相关文章
|
1月前
|
机器学习/深度学习 数据可视化 算法
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
机器学习-可解释性机器学习:随机森林与fastshap的可视化模型解析
119 1
|
1月前
|
机器学习/深度学习 算法 数据可视化
可解释性机器学习:基于随机森林和Ceteris-paribus的乳腺癌早期诊断研究
可解释性机器学习:基于随机森林和Ceteris-paribus的乳腺癌早期诊断研究
53 1
|
1月前
|
机器学习/深度学习 数据采集 算法
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
117 0
|
5天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
28 1
|
1天前
|
机器学习/深度学习 数据可视化 计算机视觉
【视频】机器学习交叉验证CV原理及R语言主成分PCA回归分析犯罪率|数据共享
【视频】机器学习交叉验证CV原理及R语言主成分PCA回归分析犯罪率|数据共享
|
11天前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
16 0
|
1月前
|
机器学习/深度学习 算法 数据可视化
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
32 1
|
1月前
|
机器学习/深度学习 算法 数据可视化
探索可解释性机器学习:Breakdown带你了解心脏病随机森林的预测关键
探索可解释性机器学习:Breakdown带你了解心脏病随机森林的预测关键
78 0
探索可解释性机器学习:Breakdown带你了解心脏病随机森林的预测关键
|
2月前
|
机器学习/深度学习 算法 数据可视化
机器学习——主成分分析(PCA)
机器学习——主成分分析(PCA)
27 0
|
1月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。

热门文章

最新文章