当前位置: 首页 > news >正文

【可解释性机器学习】基于SHAP进行特征选择和贡献度计算

本文采用MATLAB编写了利用径向基函数神经网络(RBFNN采用五折交叉验证)实现了一个SHAP可解释的神经网络回归模型,用于预测正向渗透过程中的水通量。该模型利用操作参数,如膜面积,进料和提取溶液的流速和浓度作为训练的输入特征。为了提高可解释性,应用了SHapley加性解释(SHAP),允许用户深入了解每个参数对模型预测的贡献。为希望开发准确透明的回归模型的研究人员和工程师提供了强大的解决方案。

SHAP(SHapley Additive exPlanations)旨在解释任何机器学习模型的输出。SHAP 的名称源自合作博弈论中的 Shapley 值,它构建了一个加性的解释模型,将所有特征视为“贡献者”。对于每个预测样本,模型会产生一个预测值,而 SHAP 值则表示该样本中每个特征的贡献度。

文章可解释性机器学习_Feature Importance、Permutation Importance、SHAP中SHAP模型,是比较全能的模型可解释性的方法,既可作用于之前的全局解释,也可以局部解释,即单个样本来看,模型给出的预测值和某些特征可能的关系,这就可以用到SHAP。

SHAP 属于模型事后解释的方法,它的核心思想是计算特征对模型输出的边际贡献,再从全局和局部两个层面对“黑盒模型”进行解释。SHAP构建一个加性的解释模型,所有的特征都视为“贡献者”。

对于每个预测样本,模型都产生一个预测值,SHAP value就是该样本中每个特征所分配到的数值。

基本思想:计算一个特征加入到模型时的边际贡献,然后考虑到该特征在所有的特征序列的情况下不同的边际贡献,取均值,即某该特征的SHAPbaseline value.

假设第i个样本为Xi,第i个样本的第j个特征为Xij,模型对该样本的预测值为yi,整个模型的基线(通常是所有样本的目标变量的均值)为 ybase,那么 SHAP 值服从以下等式:

yi=ybase+f(Xi1)+f(Xi2)+⋯+f(Xik)

其中, f(Xij)表示第i个样本中第j个特征的 SHAP 值。从直观上看,f(Xi1)表示第i个样本中第1个特征对最终预测值yi的贡献。当f(Xj1)>0时,说明该特征提升了预测值,有正向作用;反之,则说明该特征降低了预测值,有反向作用。

运行效果和数据样本展示:

图片

图片

图片

图片

本文采用Matlab编写代码,代码注释详细,逻辑清晰易懂,数据采用excel表格形式便于替换数据集,可main函数一键运行。


http://www.mrgr.cn/news/78040.html

相关文章:

  • UE5肉鸽游戏教程学习
  • C/C++基础知识复习(28)
  • 为自闭症儿童赋能:探访顶级康复机构的秘密武器
  • c#:winform引入bartender
  • Linux内核USB2.0驱动框架分析--USB包
  • 《筑牢安全防线:培养 C++安全编程思维习惯之道》
  • AI-Talk开发板之Camera
  • OpenCV基础(3)
  • 优化Docker镜像:提升部署效率与降低资源消耗
  • Spring Boot 与 Java 决策树:构建智能分类系统
  • 数字逻辑(一)——导论
  • 241125学习日志——[CSDIY] [ByteDance] 后端训练营 [18]
  • 车载摄像camera基础知识和评估
  • 2024年底-Arch linux或转为0BSD许可证!
  • 打造智能扩容新纪元:Kubernetes Custom Metrics深度解析
  • Vue 修饰符的作用与应用,应用场景详细介绍
  • 栈、队列、链表
  • 241124学习日志——[CSDIY] [ByteDance] 后端训练营 [14]
  • 传输控制协议(TCP)和用户数据报协议(UDP)
  • WebSocket 常见问题及解决方案
  • MySQL的UPDATE(更新数据)详解
  • Sickos1.1 详细靶机思路 实操笔记
  • 10、PyTorch autograd使用教程
  • 生成对抗网络模拟缺失数据,辅助PAMAP2数据集仿真实验
  • 手机发展史介绍
  • 韩顺平 一周学会Linux | Linux 实操篇-实用指令