又一机器学习模型解释神器:Shapash
来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习科技周边相关编程知识。下面本篇文章就来带大家聊聊《又一机器学习模型解释神器:Shapash》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

什么是 Shapash
模型可解释性和可理解性一直是许多研究论文和开源项目的关注的重点。并且很多项目中都配备了数据专家和训练有素的专业人员。
Shapash 适用于大多数 sklearn、lightgbm、xgboost、catboost 模型,并可用于分类和回归任务。它利用 Shap 后端来计算特征的局部贡献度,但是,这可以用其他一些计算局部贡献度的策略代替。数据科学家可以利用 Shapash 解释器对他们的模型进行调查和故障排除,或者部署以提供每个推测的可视化。并且它还可以用于制作可以为最终客户和企业家带来巨大价值的 Web 应用程序。

shabash 库
Shapash的目标
1. 显示清晰合理的结果
绘图和输出使用每个组件及其模式的标签:

2. Web 应用程序
数据科学家可以通过使用 Web 应用程序轻松探索全局和局部邻域之间的逻辑,从而快速理解他们的模型,并了解各种关键点如何发挥作用:

shapash 库 webapp
3. 总结并导出解释
Shapash 提出了一个简短而清晰的解释。它允许每个客户(无论他们的背景是什么),都能理解对托管模型清晰的解释,因为对 Shapash 特征进行了总结和清晰的说明。

4. 完整的数据科学报告
这里有完整的数据报告可以查看:https://shapash-demo.ossbymaif.fr/
Shapash 功能
Shapash 的一些功能如下所示:
1.机器学习模型:它适用于分类(二元或多类问题)和回归问题。它支持多种模型,如 Catboost、Xgboost、LightGBM、Sklearn Ensemble、线性模型和 SVM。
2.特征编码:它支持大量的编码技术来处理我们数据集中的分类特征,如单热编码、序数编码、Base N 编码、目标编码或二进制编码等。
3.SklearnColumnTransformer: OneHotEncoder、OrdinalEncoder、StandardScaler、QuantileTransformer 或 PowerTransformer
4.可视化: 提供一组视觉效果以轻松解释你的结果,并显示可理解和清晰的结果。
5.它与 Lime 和 Shap 兼容。它使用 Shap 后端只需几行代码即可显示结果。
6.它为参数提供了许多选项,以简洁地获得结果。
7.Shapash 安装简单和使用方便: 它提供了一个 SmartExplainer 类来理解你的模型并用简单的语法总结澄清。
8.部署: 对于操作使用的调查和部署(通过 API 或批处理模式)很重要。轻松创建 Web 应用程序以从全局导航到本地。
9.高度通用性: 要显示结果,需要进行非常多次的争论。但如果你在清理和归档数据方面做得越多,最终客户得到的结果就越清楚。

Shapash 如何工作
Shapash 是一个使机器学习易于理解和解释的Python库。数据爱好者可以轻松理解并分享他们的模型。Shapash 使用 Lime 和 Shap 作为后端,只需几行代码即可显示结果。Shapash 依赖于构建机器学习模型以使结果合理的各种重要进展。下图显示了 shapash 包的工作流程:

Shapash 是如何工作的
工作原理
- 首先,它编译每个步骤的元素,如数据准备、特征工程、模型拟合、模型评估和模型理解。
- 其次,它提供了一个 WebApp 和图表来更好地理解模型。可以与客户分享和讨论模型的结果。
- 最后,它为您提供了可解释性的摘要。
安装
可以使用以下代码安装 Shapash:
pip install shapash
对于 Jupyter Notebook: 如果你正在使用 jupyter notebook 并且想要查看内联图,那么你需要使用另一个命令:
pip install ipywidgets
入门
在这里我们将使用数据集房价预测来探索 Shapash 。这是一个回归问题,我们必须预测房价。首先我们分析数据集,包括单变量和双变量分析,然后使用特征重要性、特征贡献、局部和比较图对可解释性建模,然后是模型性能,最后是 WebApp。
分析数据集
单变量分析
使用可以查看下图,了解名为First Floor Square Feet的要素。我们可以看到一个表格,其中显示了我们的训练和测试数据集的多种统计数据,例如平均值、最大值、最小值、标准偏差、中位数等等。在右侧图中可以看到训练和测试数据集的分布图。Shapash 还提到了我们的特征是分类的还是数字的,它还提供了下拉选项,在下拉菜单中所有功能都可用。

单变量分析
对于分类特征,训练和测试数据集显示了非重复值和缺失值。在右侧,显示了一个条形图,其中显示了各要素中相应类别的百分比。

特征中的类别
目标分析
还可以看到对名为 Sales Price 的目标变量的详细分析。在左侧,显示了所有统计数据,如计数、平均值、标准差、最小值、最大值、中位数等,用于训练和预测数据集。在右侧,显示了训练和预测数据集的分布。

目标分析
多元变量分析
上面我们 详细讨论了单变量分析。在本节中,我们将看到多元分析。下图显示了训练和测试数据集的前 20 个特征的相关矩阵。还根据不同的颜色显示了相关性标度。这就是我们如何使用 Shapash 可视化特征之间的关系。

多元分析
模型可解释性
特征重要性图
通过使用这个库,我们可以看到该特征的重要性。特征重要性是一种寻找输入特征在预测输出值中的重要性的方法。下图显示了特征重要性曲线:

特征重要性图
特征贡献图
这些曲线帮助我们回答诸如特征如何影响我的预测、它的贡献是积极的还是消极的等等。这个图完成了模型的可解释性的重要性,模型的整体一致性更有可能理解特征对模型的影响。
我们可以看到数值和分类特征的贡献图。
对于数值特征

征贡献图
对于分类特征

对于分类特征
局部图
我们可以绘制局部图。下图显示了局部图:

局部图
比较图
我们可以绘制比较图。下图显示了比较图:

比较图
模型性能
在数据分析之后,我们正在训练机器学习模型。下图显示了我们预测的输出。在左侧,显示了真实值和预测值的统计数据,如计数、最小值、最大值、中值、标准偏差等。在右侧,显示了预测值和实际值的分布。

模型性能
WebApp
经过模型训练后,我们也可以构建一个WebApp。这个网络应用程序显示了我们数据的完整仪表板,包括我们迄今为止所涵盖的内容。下图显示了仪表板。

WebApp
项目地址:https://github.com/MAIF/shapash
写在最后
本篇文章简单介绍了shapash 的基本功能及绘图展示,相信大家对该python库有一定的认识。
以上就是《又一机器学习模型解释神器:Shapash》的详细内容,更多关于机器学习,Shapash的资料请关注golang学习网公众号!
数据科学必知必会:10个重要概念+22张图表含义
- 上一篇
- 数据科学必知必会:10个重要概念+22张图表含义
- 下一篇
- 新款 MacBook Air 和配备 M2 的 13 英寸 MacBook Pro 将于今年晚些时候推出
-
- user_1671454250
- 太全面了,码住,感谢作者的这篇技术贴,我会继续支持!
- 2023-05-11 03:10:20
-
- 踏实的长颈鹿
- 很有用,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢楼主分享技术文章!
- 2023-04-28 16:56:41
-
- 笑点低的宝马
- 这篇文章出现的刚刚好,太详细了,很有用,已加入收藏夹了,关注老哥了!希望老哥能多写科技周边相关的文章。
- 2023-04-26 09:59:29
-
- 甜美的大树
- 这篇技术文章出现的刚刚好,太全面了,很好,已加入收藏夹了,关注博主了!希望博主能多写科技周边相关的文章。
- 2023-04-20 07:04:28
-
- 科技周边 · 人工智能 | 1天前 |
- vLLM 连续批处理下的显存与吞吐取舍
- 209浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- Reranker 接入后如何控制检索延迟预算
- 113浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- Embedding 向量维度变化时的索引迁移方案
- 429浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- Agent 轨迹评测区分工具错误与模型错误
- 239浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- MCP 资源与工具描述的缓存更新策略
- 313浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- MCP 服务端授权范围与会话隔离的配置
- 161浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- MCP 工具结果分页与长列表截断的设计
- 486浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 | 人工智能 · chat template apply_chat_template AI tokenizer 多模型消息格式
- AI tokenizer chat template 统一多模型消息格式
- 154浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 424次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 503次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 512次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 460次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 289次使用
-
- 本地大模型反复输出同一句话怎么调整生成参数
- 2026-09-06 501浏览
-
- Python 调用大模型时如何用结构化输出校验 JSON:从解析失败到可重试
- 2026-08-29 501浏览
-
- AI写作工具免费版安装教程(含豆包Clawdbot)
- 2026-05-30 501浏览
-
- WPS AI能自动生成PPT吗?输入主题一键制作演示文稿
- 2026-05-27 501浏览
-
- Canva手机闪退解决方法及适配指南
- 2026-05-25 501浏览

