Just KNIME it [S2C13] 机器学习的可解释性

news2024/12/29 10:45:20

朋友们,Just KNIME it 还有在跟进吗? 本季已经到 13 期啦。

本期探讨的主题是机器学习的可解释性问题,快随指北君一起看看吧。

挑战

挑战13:揭示犯罪率之迷

难度:中等

情境描述:作为一名在房地产公司任职的数据科学家,你听闻了一个流言,即“每个住宅的平均房间数”(RM) 可能与“人均犯罪率”(CRIM) 存在关联,而这种关联可能因城市/镇的不同而有所差异。因此,你决定研究一下你所生活和工作的城市——波士顿,是否存在这样的现象。为了调查这个问题,你打算利用机器学习的回归模型以及你最近研究的主题:XAI。在波士顿,RM 和 CRIM 之间的联系是如何呈现的呢?提示:你可以尝试使用 SHAP 循环来计算每个独立特征的 SHAP 值。第二个提示:你可以考虑使用依赖图来验证 RM 和 CRIM 如何在视觉上呈现出它们的关系。

这个挑战是一个有趣的话题。为了解答这个问题,我们有两种可能的方法。第一种是分析数据集中与人均犯罪率(CRIM)有关的变量。另一种则是直接探究流言与犯罪率之间的关系。在这个特定的问题中,我们选择了第二种方法:直接探究流言。

工作流

数据集

本数据集为波士顿房地产数据,记录了波士顿郊区及城镇的相关信息。数据源自1970年的波士顿标准大都市统计区(SMSA),其中包含如下属性信息(摘自UCI Machine Learning Repository):

  • 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:较低社会地位人口的百分比
  • MEDV:自住房屋的中值价值(单位为1000美元)

数据集速览

由于该数据集已广为人知,很多人已经进行了相关研究。因此,我们不再重复相同的步骤。反之,我们将审查Kaggle现有笔记本中的预处理和探索性数据分析(EDA)部分。我们将主要关注EDA,因为我们的目标与笔记本作者不同。我们发现数据没有丢失,这是个好消息。此外,数据分布看起来很好(来源:https://www.kaggle.com/code/marcinrutecki/regression-models-evaluation-metrics#4.2-Boston-House-Prices)。

机器学习的可解释性

机器学习的可解释性是非常重要的,因为它可以帮助我们理解机器学习模型如何进行预测或决策。这一点极其重要,原因如下:

  • 信任:如果我们不理解模型如何进行预测,我们可能无法全然信任它。如果我们不信任它,我们可能也不会去使用它。
  • 偏见:机器学习模型可能存在偏见,如果我们不了解它们如何做出决策,我们可能无法检测或解决这种偏见。
  • 问责制:在某些情况下,我们可能需要向其他人解释决策是如何做出的。如果我们无法做到这一点,我们可能无法让模型或创建模型的人承担责任。
  • 改进:理解模型如何进行预测可以帮助我们改进模型,使其更加准确或高效。

简而言之,机器学习的可解释性至关重要,因为它可以帮助我们建立对机器学习模型的信任,检测和解决偏见,实现问责制,并改善模型本身。

SHAP值

SHAP值是机器学习中一种用于解释每个特征对模型最终预测贡献的方法。SHAP值,即“SHapley Additive exPlanations”,基于合作博弈论中的Shapley值概念。本质上,SHAP值通过比较具有和不具有特定特征的模型输出来计算每个特征对预测的影响。这样可以更细致地了解模型如何进行预测,并有助于确定哪些特征对于结果最为重要。SHAP值是解释复杂机器学习模型的流行工具,可用于特征选择、模型比较和识别模型偏差等任务。

我们的工作流

我们使用“Partitioning”节点将数据划分为开发集和测试集。为了简化流程,我们选择使用“随机森林 Random Forest”算法,而非更先进的机器学习算法。在运行“SHAP Loop Start”节点之前,我们首先使用“SHAP Summarizer”节点。由于数据量相对较小,我们选择将数据分为二十组。数据划分完成后,我们开始计算SHAP值。幸运的是,本次挑战的作者为我们提供了一个名为“Dependence Plot”的节点,它可以让我们轻松分析特征的SHAP值以及RM和CRIM之间的关系。

alt

分析

工作流程相当直观。让我们专注于可视化部分。 alt

左上角的图展示了RM(横轴)与CRIM(纵轴)的关系,其中颜色的深浅代表了RM的SHAP值。颜色越亮,对结果的影响越明显。可以看出,较小的RM值对犯罪率的影响更为显著,然而这些RM值对应的犯罪率并不高。

右上角的图显示了MEDV(横轴)与CRIM(纵轴)的关系,MEDV指的是“自住房屋的中值价值(1000美元)”。与前一个图相似,颜色深浅代表了MEDV的SHAP值。可以看出,较小的MEDV值对应的犯罪率较高,因此,仅依赖RM并不能准确预测犯罪率。

左下角的图,横轴为RM,纵轴为RM的SHAP值,颜色则代表犯罪率。图中显示,较小的RM值对应较小的犯罪率有显著影响。虽然与左上角的图类似,但观察角度不同。

右下角的图则无需过多解释,只需注意其纵轴与左下图的纵轴比例不同。

综合来看,尽管RM与犯罪率存在关联,但与MEDV值相比,其相关性较弱。

其他想法

  • 原始数据的分析可能是确定犯罪率影响因素的更有效途径。
  • 为了保证模型的公正,可能需要排除与特定种族,如黑人,相关的特征。
  • Partial Dependence/ICE 分析应被考虑纳入。

对应本篇文章,指北君制作的工作流在这里: https://hub.knime.com/havef/spaces/Public/latest/Just_KNIME_It/S2/C13~b-GtqjIULcBZUGjH

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/693241.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apikit 自学日记:发起文档测试-HTTP

HTTP 功能入口:API管理应用 / 选中某个项目 / API文档菜单 / 选中某一API文档 / 点击“测试”TAB API文档测试页,可对该API文档描述的接口进行快速测试。API文档测试页分为地址控制栏、请求控制区、返回展示区,以及测试辅助工具区共四个部分…

Android进阶之路 - 深入浅出字体、字体库

当时组内临时接到一个换字体库的需求,这个需求相对简单,因为手头有其他事情,同时之前也没换过字体库,就交给了同事去做了;现在有时间就好好充实下自己 ( 我写的也未必全对,如有不足可直接提出,相…

vue 组件基本使用方法

前言:vue 可以比较灵活的使用 html的片段,并将html的片段进行数据隔离,参数也可以互相传递,组件与组件之间也可以进行数据的交互 合理的使用组件可以避免重复代码或者很方便的调用第三方组件库 vue组件 简单实例组件传参实际应用父子组件交互…

右键文件夹添加指定打开的程序(如:IDEA、PyCharm等)

一.打开注册表 使用winR打开运行界面(默认为左下角)输入regedit 二.进入指定目录 1.找不到可直接复制路径: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell 2.在当前路径shell下右键->新建->项->命名IDEA (名字任意即可),修改默认…

利用影刀RPA批量导出excel中的图片并重命名

本程序要求excel中的图片应该符合以下截图中的格式: 图片和名称应该处于同一行,而且图片应该是嵌入在单元格中 程序参考:

linux系统Nginx服务Rewrite重写

文章目录 一、Rewrite跳转场景二、Rewrite跳转实现三、Rewrite实际场景1.Nginx跳转需求的实现方式2.rewrite放在 server{}、if{}、location{}段中3.对域名或参数字符串 四、Nginx正则表达式1.常用的正则表达式元字符2.正则表达式的优点 五、Rewrite命令1.Rewrite命令语法2.flag…

数字IC前端学习笔记:仲裁轮询(六)

相关文章 数字IC前端学习笔记:LSFR(线性反馈移位寄存器) 数字IC前端学习笔记:跨时钟域信号同步 数字IC前端学习笔记:信号同步和边沿检测 数字IC前端学习笔记:锁存器Latch的综合 数字IC前端学习笔记&am…

数据库学习3

主键使用 主键的使用 CREATE TABLE t17 (id INT PRIMARY KEY ,name VARCHAR(32), email VARCHAR(32)); 主键列的值不可以重复 INSERT INTO t17 VALUES(1,jack,jacksohu.com); INSERT INTO t17 VALUES(2,tom,tomsohu.com); INSERT INTO t17 VALUES(1,hsp,hspsohu.com); SELECT …

《计算机系统与网络安全》 第九章 访问控制技术

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

2022(二等奖)C859基于WebGIS的南京市排污口管理系统

作品介绍 一、需求分析 (一)社会需求 《国务院办公厅关于加强入河入海排污口监督管理工作的实施意见》明确提出,入河入海排污口(以下简称排污口)是指直接或通过管道、沟、渠等排污通道向环境水体排放污水的口门,是流…

Day40

思维导图 练习 定义一个命名空间Myspace,包含以下函数:将一个字符串中的所有单词进行反转,并输出反转后的结果。例如,输入字符串为"Hello World",输出结果为"olleH dlroW",并在主函数…

Visual C++中的虚函数和纯虚函数的定义

我是荔园微风,作为一名在IT界整整25年的老兵,今天来说说Visual C中的虚函数和纯虚函数。 直接说虚函数和纯虚函数有很多人会直接晕,但是来看这篇帖子的很多人是有JAVA或其他面象对象编程基础的,我要不就先作个类比,究…

【Java面试题】Java基础——排序算法

文章目录 冒泡排序★★★算法步骤动图演示代码示例 选择排序算法步骤动图演示 插入排序算法步骤动图演示 快速排序算法步骤动图演示 冒泡排序★★★ 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。 它重复的遍历过要排序的数列,一次比…

Debian 12 “bookworm” 正式发布

经过 1 年 9 个月零 28 天的开发,Debian 项目推出了其新的稳定版本 12(代号 bookworm)。 Debian 12 包含超过 11,089 个新软件包,总计 64,419 个软件包, 6,296 个软件包已作为过时包删除。此版本更新了 43,254 个软件…

threejs让模型始终面向相机

需求:threejs导入3D模型,改变相机位置的同时,让模型始终面向相机。 实现方式:使用模型的lookAt()方法,设置模型lookAt的值 首次加载模型时,面向相机 load.load(/model5.glb, g > {// 获取相机位置const…

浮点数不再神秘:JS浮点数精度详解

文章目录 I. 引言JS中什么是浮点数为什么精度会受到影响 II. 浮点数精度的问题浮点数精度丢失的例子JS中最常见的浮点数问题精度问题对计算的影响 III. 如何避免浮点数精度问题使用精度库避免精度错误的方法显示控制精度的方法 IV. 浮点数精度问题与前端开发前端开发中的浮点数…

在k8s上部署vue

1. dockerfile镜像文件编写 # 拉取 nginx镜像 FROM nginx:1.24.0# 拷贝 nginx 配置文件到 docker中 COPY nginx.conf /etc/nginx/nginx.conf# 拷贝vue打包后的文件到 docker中 COPY webapp /usr/share/nginx/html# 新增时区设置 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai…

【FreeRTOS】FreeRTOS 静态创建任务与删除

0. 实验准备 正点原子 STM32407ZG 探索者开发板 FreeRTOS 例程模板(可以在这一篇文章找到:STM32F407 移植 FreeRTOS) 1. 静态创建任务函数 API 1.1 函数简介 动态创建任务需要使用到BaseType_t xTaskCreate函数,我们可以在 Fr…

VUE L ∠脚手架 插曹Vuex ⑩⑨

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs C L I CLI CLI 插槽 ❗ C L I CLI CLI V u e X VueX VueX 1、概念 2、何时使用? 3、搭建 V u e x Vuex Vuex环境 4、基本使用…

基于Scrcpy的Android手机屏幕投影到电脑教程

基于Scrcpy的Android手机屏幕投影到电脑教程 文章目录 基于Scrcpy的Android手机屏幕投影到电脑教程一,前言二,具体步骤1.软件下载2.环境配置 三,基于Scrcpy的手机投屏教程1.基于Scrcpy的有线手机投屏2.无线投屏 一,前言 在执行某…