六个优秀的可解释AI (XAI)的Python框架推荐
来源:51CTO.COM
时间:2023-04-25 18:23:48 270浏览 收藏
目前golang学习网上已经有很多关于科技周边的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《六个优秀的可解释AI (XAI)的Python框架推荐》,也希望能帮助到大家,如果阅读完后真的对你学习科技周边有帮助,欢迎动动手指,评论留言并分享~
AI就像一个黑匣子,能自己做出决定,但是人们并不清楚其中缘由。建立一个AI模型,输入数据,然后再输出结果,但有一个问题就是我们不能解释AI为何会得出这样的结论。需要了解AI如何得出某个结论背后的原因,而不是仅仅接受一个在没有上下文或解释的情况下输出的结果。
可解释性旨在帮助人们理解:
- 如何学习的?
- 学到了什么?
- 针对一个特定输入为什么会做出如此决策?
- 决策是否可靠?
在本文中,我将介绍6个用于可解释性的Python框架。
SHAP
SHapley Additive explanation (SHapley Additive explanation)是一种解释任何机器学习模型输出的博弈论方法。它利用博弈论中的经典Shapley值及其相关扩展将最优信贷分配与局部解释联系起来(详见论文的细节和引用)。
数据集中每个特征对模型预测的贡献由Shapley值解释。Lundberg和Lee的SHAP算法最初发表于2017年,这个算法被社区在许多不同的领域广泛采用。
使用pip或conda安装shap库。
# install with pippip install shap# install with condaconda install -c conda-forge shap
使用Shap库构建瀑布图
使用Shap库构建Beeswarm图
使用Shap库构建部分依赖图
LIME
在可解释性领域,最早出名的方法之一是LIME。 它可以帮助解释机器学习模型正在学习什么以及为什么他们以某种方式预测。 Lime目前支持对表格的数据,文本分类器和图像分类器的解释。
知道为什么模型会以这种方式进行预测对于调整算法是至关重要的。借助LIME的解释,能够理解为什么模型以这种方式运行。如果模型没有按照计划运行,那么很可能在数据准备阶段就犯了错误。
使用pip安装
pip install lime
LIME 构建的局部解释图
LIME构建的Beeswarm 图
Shapash
“ Shapash是一个使机器学习对每个人都可以进行解释和理解Python库。 Shapash提供了几种类型的可视化,显示了每个人都能理解的明确标签。 数据科学家可以更轻松地理解他们的模型并分享结果。 最终用户可以使用最标准的摘要来理解模型是如何做出判断的。”
为了表达数据中包含故事、见解和模型的发现,互动性和漂亮的图表必不可少。 业务和数据科学家/分析师向AI/ML结果展示和互动的最佳方法是将其可视化并且放到web中。Shapash库可以生成交互式仪表盘,并收集了许多可视化图表。与外形/石灰解释性有关。 它可以使用SHAP/Lime作为后端,也就是说他只提供了更好看的图表。
使用Shapash构建特征贡献图
使用Shapash库创建的交互式仪表板
使用Shapash构建的局部解释图
InterpretML
InterpretML是一个开源的Python包,它向研究人员提供机器学习可解释性算法。InterpretML支持训练可解释模型(glassbox),以及解释现有的ML管道(blackbox)。
InterpretML展示了两种类型的可解释性:glassbox模型——为可解释性设计的机器学习模型(如:线性模型、规则列表、广义可加模型)和黑箱可解释性技术——用于解释现有系统(如:部分依赖,LIME)。使用统一的API并封装多种方法,拥有内置的、可扩展的可视化平台,该包使研究人员能够轻松地比较可解释性算法。InterpretML还包括了explanation Boosting Machine的第一个实现,这是一个强大的、可解释的、glassbox模型,可以像许多黑箱模型一样精确。
使用InterpretML构建的局部解释交互式图
使用InterpretML构建的全局解释图
ELI5
ELI5是一个可以帮助调试机器学习分类器并解释它们的预测的Python库。目前支持以下机器学习框架:
- scikit-learn
- XGBoost、LightGBM CatBoost
- Keras
ELI5有两种主要的方法来解释分类或回归模型:
- 检查模型参数并说明模型是如何全局工作的;
- 检查模型的单个预测并说明什么模型会做出这样的决定。
使用ELI5库生成全局权值
使用ELI5库生成局部权重
OmniXAI
OmniXAI (Omni explained AI的简称),是Salesforce最近开发并开源的Python库。它提供全方位可解释的人工智能和可解释的机器学习能力来解决实践中机器学习模型在产生中需要判断的几个问题。对于需要在ML过程的各个阶段解释各种类型的数据、模型和解释技术的数据科学家、ML研究人员,OmniXAI希望提供一个一站式的综合库,使可解释的AI变得简单。
以下是OmniXAI提供的与其他类似库的对比
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于科技周边的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
241 收藏
-
326 收藏
-
153 收藏
-
492 收藏
-
201 收藏
-
499 收藏
-
491 收藏
-
135 收藏
-
462 收藏
-
385 收藏
-
440 收藏
-
427 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习