人工智能|6个可解释AI的Python框架推荐

共 4133字,需浏览 9分钟

 ·

2022-08-17 01:36

    来源:DeepHub IMBA
              
                  本文
                  
                    约1500
                  
                  ,建议阅读
                  
                    5
                  
                  
                    
                      
                        分钟
                      
                    
                  
                
              本文为你介绍6个用于可解释性的Python框架。
                

随着人工智能的发展为了解决具有挑战性的问题,人们创造了更复杂、更不透明的模型。AI就像一个黑匣子,能自己做出决定,但是人们并不清楚其中缘由。建立一个AI模型,输入数据,然后再输出结果,但有一个问题就是我们不能解释AI为何会得出这样的结论。需要了解AI如何得出某个结论背后的原因,而不是仅仅接受一个在没有上下文或解释的情况下输出的结果。
可解释性旨在帮助人们理解:
  • 如何学习的?
  • 学到了什么?
  • 针对一个特定输入为什么会做出如此决策?
  • 决策是否可靠?

在本文中,我将介绍6个用于可解释性的Python框架。

SHAP


SHapley Additive explanation (SHapley Additive explanation)是一种解释任何机器学习模型输出的博弈论方法。它利用博弈论中的经典Shapley值及其相关扩展将最优信贷分配与局部解释联系起来(详见论文的细节和引用
数据集中每个特征对模型预测的贡献由Shapley值解释。Lundberg和Lee的SHAP算法最初发表于2017年,这个算法被社区在许多不同的领域广泛采用。
1a8deeb2cb997ef84a7cfd9567a0f0c9.webp
使用pip或conda安装shap库。
    
        
          # install with pip
        
        
          pip install shap
        
        
          
            
# install with conda conda install -c conda-forge shap

cc6f03c837f80f06c07511b46e36bf43.webp使用Shap库构建瀑布图
e2c8749b6143e3875d7062d319e97134.webp使用Shap库构建Beeswarm图
ff2d53558152dec7c25ec990502166ca.webp使用Shap库构建部分依赖图

LIME


在可解释性领域,最早出名的方法之一是LIME。它可以帮助解释机器学习模型正在学习什么以及为什么他们以某种方式预测。Lime目前支持对表格的数据,文本分类器和图像分类器的解释。
知道为什么模型会以这种方式进行预测对于调整算法是至关重要的。借助LIME的解释,能够理解为什么模型以这种方式运行。如果模型没有按照计划运行,那么很可能在数据准备阶段就犯了错误。
4ae4d4f2690da282d4739ff9f562303e.webp
使用pip安装:
    
      
        pip install lime
      
    
    
LIME 构建的局部解释图
501112618b66f717cf51a8b482ce075c.webpLIME构建的Beeswarm 图

Shapash


“ Shapash是一个使机器学习对每个人都可以进行解释和理解Python库。Shapash提供了几种类型的可视化,显示了每个人都能理解的明确标签。数据科学家可以更轻松地理解他们的模型并分享结果。最终用户可以使用最标准的摘要来理解模型是如何做出判断的。”
为了表达数据中包含故事、见解和模型的发现,互动性和漂亮的图表必不可少。业务和数据科学家/分析师向AI/ML结果展示和互动的最佳方法是将其可视化并且放到web中。Shapash库可以生成交互式仪表盘,并收集了许多可视化图表。与外形/石灰解释性有关。它可以使用SHAP/Lime作为后端,也就是说它只提供了更好看的图表。
0089396454c17b59cc8a70f8ecd608d2.webp使用Shapash构建特征贡献图
dc4145b3936e08d4d539f30d2faa61f0.webp使用Shapash库创建的交互式仪表板
65ad24fd26a67144fe58aba9bf9dcf9b.webp使用Shapash构建的局部解释图

InterpretML


InterpretML是一个开源的Python包,它向研究人员提供机器学习可解释性算法。InterpretML支持训练可解释模型(glassbox),以及解释现有的ML管道(blackbox)。
InterpretML展示了两种类型的可解释性:glassbox模型——为可解释性设计的机器学习模型(如:线性模型、规则列表、广义可加模型和黑箱可解释性技术——用于解释现有系统(如:部分依赖,LIME。使用统一的API并封装多种方法,拥有内置的、可扩展的可视化平台,该包使研究人员能够轻松地比较可解释性算法。InterpretML还包括了explanation Boosting Machine的第一个实现,这是一个强大的、可解释的、glassbox模型,可以像许多黑箱模型一样精确。
bbfb67a6569118759614185f37aea2e0.webp使用InterpretML构建的局部解释交互式图
5f328ec8d8c89040161e837b8faa2010.webp使用InterpretML构建的全局解释图

ELI5


ELI5是一个可以帮助调试机器学习分类器并解释它们的预测的Python库。目前支持以下机器学习框架:
  • scikit-learn
  • XGBoost、LightGBM CatBoost
  • Keras

ELI5有两种主要的方法来解释分类或回归模型:
  • 检查模型参数并说明模型是如何全局工作的;
  • 检查模型的单个预测并说明什么模型会做出这样的决定。

d5e639f3366af2baa092e5827438d916.webp使用ELI5库生成全局权值
bfa1bfba2cc8960496ac7b55bc19b529.webp使用ELI5库生成局部权重

OmniXAI


OmniXAI (Omni explained AI的简称),是Salesforce最近开发并开源的Python库。它提供全方位可解释的人工智能和可解释的机器学习能力来解决实践中机器学习模型在产生中需要判断的几个问题。对于需要在ML过程的各个阶段解释各种类型的数据、模型和解释技术的数据科学家、ML研究人员,OmniXAI希望提供一个一站式的综合库,使可解释的AI变得简单。
9590b487aeca9747c9424f21889e0818.webp
以下是OmniXAI提供的与其他类似库的对比:
8ff435677c7aef2336dc39c036e5d405.webp
最后,下面是这6个框架的官方地址:
https://shap.readthedocs.io/en/latest/index.html https://github.com/marcotcr/lime https://shapash.readthedocs.io/en/latest/ https://interpret.ml/ https://eli5.readthedocs.io/ https://github.com/salesforce/OmniXAI
作者:Moez Ali 编辑:黄继彦


我真诚欢迎你加入我的金融科技数据人才群,文末有我的微信,可以连接我,请备注:金融科技


我提供付费咨询和服务。

你我连接,相互交流,创造更多价值。


—END—


  你或许还想看


金融科技:建模工作环境

金融科技:数据建模框架


喜欢本文点个在看

或关注下方公众号


你将感受到一个数据科学工作者的灵魂




公众号:数据科学与人工智能

作者:陆勤


数据科学工作者。

混迹金融科技行业。

解决信贷业务风控和营销问题。

喜欢写点东西,有一颗利他之心。

只做付费咨询和服务。


连接请加微信:shushengya360



浏览 51
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报