2024-2025 课程介绍
可预开发票,郑老师团队2024-25年科研统计课程预告,含机器学习、轨迹模型等。11.30-12.1 R语言构建机器模型模型课程开启
先前本公众号就曾分享过,现在预测模型的文章,大多数都在用机器学习来建模和验证了,并且,可以看出,文章的题目已经不再强调“列线图”,现在文章多强调“SHAP”法。
时代变了,“SHAP” 取代“列线图”,成为预测模型文章标题的重点
但是有好多学者“只知其名”,不懂应该如何应用。为此,我们将推出“SHAP法实用指南”系列文章,为大家讲清楚如何正确进行SHAP分析!
SHAP分析实用指南:解释药物开发中的监督机器学习模型预测
从时间来看,SHAP法从出现到广泛应用其实才没过几年:
2010年,Štrumbelj和Kononenko首次将Shapley值引入机器学习模型的解释性分析中,用于量化特征对模型预测结果的贡献。
2017年,Lundberg等人进一步扩展了这一方法,提出了SHAP分析,并将其他特征解释方法(如LIME、DeepLIFT等)统一到一个理论框架下,发布了开源包,促进了SHAP在机器学习中的广泛应用。
什么是SHAP分析?
在机器学习领域中,模型的可解释性一直备受关注,是一个重要的课题。尽管复杂的模型如深度神经网络和集成模型(如XGBoost、LightGBM)在预测性能上表现优异,但通常被视为“黑箱”,难以解释其内部决策过程。
然而,SHAP(SHapley Additive exPlanations)是一种解决这一问题的工具,用来解释机器学习模型预测结果的方法。它提供了一种基于博弈论概念的方法来解释模型的预测结果,并帮助我们理解每个特征对于预测结果的贡献程度。
它基于博弈论中的Shapley值概念,为模型的每个特征分配重要性值,从而解释模型的预测过程。
SHAP值计算公式
我们可以举一个简单的组合药物疗法的例子,来理解SHAP值的计算公式。
假设药物 A、药物 B 和药物 C 一起使用时的反应率为 90%。每种药物单独使用时的反应率如下:
药物A:40%
药物B:50%
药物C:60%
假设我们还知道两种药物组合的反应率(即在博弈论中称为两个玩家的联盟或组内的大小为 2 的子集):
药物 A 和药物 B:70%
药物 A 和药物 C:65%
药物 B 和药物 C:80%
其他SHAP值计算公式
对于树模型(如 XGBoost、随机森林、LightGBM、CatBoost):
树模型利用其特有的树结构和路径分割特点,可以通过 Tree SHAP 算法快速、精确地计算出 SHAP 值。
基于神经网络的模型:
通过使用“计算图”或者模型的“可微性”,可以近似地计算 SHAP 值。常用的Python包SHAP提供了两种工具——DeepExplainer 和 GradientExplainer,分别适用于不同的神经网络模型。
Kernel SHAP:
作为一种通用的近似方法,该法适用于所有类型的监督学习模型,它的核心思想是通过加权采样来近似计算 SHAP 值。
具体来说,使用该方法时,首先需要选择一个具有代表性的数据集作为背景数据集,以反映模型的一般输出行为。
然后通过反复采样和加权估算 SHAP 值。
如果您对机器学习预测模型感兴趣的话,来看看我们的机器学习与预测模型服务吧,一对一指导!详情可咨询助教,微信号:aq566665
关于郑老师团队及公众号
我们开展对临床预测模型、轨迹增长模型、医学免费数据库NHANES、GBD数据库、孟德尔随机化方法1对1R语言指导(一年内不限时间,周末、晚上均统计师一对一指导)。
②全程指导课程学习
③课程R语言代码运行bug修复
④支持学员一篇SCI论文的数据分析
联系助教小董咨询(微信号aq566665)