找回密码
 立即注册
查看: 689|回复: 0

分享几个可解释AI的Python库

[复制链接]

1

主题

0

回帖

9

积分

新手上路

积分
9
发表于 2023-5-22 16:51:27 | 显示全部楼层 |阅读模式
比来在看文章时,看到可解释AI的Python库,乍一看还没太开大白是什么东西,仔细了解了一下发现,应该会有一些伴侣对可解释有需要,所以分享一下,应该会有小伙伴有需要。
这里我们不得不提及一个名词XAI。那什么是XAI?
简单来说就是Explainable AI,其目的是可以为AI决策过程和预测提供清晰易懂的解释的决策和策略。方针是为模型的行为和决定提供有意义的解释,从而辅佐增加信任、提供问责制和模型决策的透明度。而且XAI并不限于解释,还是以一种使推理更容易被用户提取和当即的方式进行ML尝试。
在实践过程中,XAI有多种实现手段,例如特征重要性度量、可视化技术、本质可解释模型(线性回归模型等)。
目前AI系统被应用于各种行业,诸如医疗、保健、金融、司法等,这些行业或者范围中,错误决策的风险极高,所以如何被可信任就变得非常高。因此XAI就变得越来越重要。你不能胡乱的给出一个答案,还要人相信,而不承担任何责任。


在可解释性实践的法式有以下挨次
数据筹备,包罗数据的收集、清洗和措置。
模型训练,在筹备好的数据长进行训练和微调。
模型评估,在适当的评估方式和指标下对模型效果进行评估。
解释生成,通过上面已经讲述过的手段生成可解释模型,包含但不限于例如特征重要性度量、可视化技术、本质可解释模型。
部署和监控,在真实的部署后环境中进行监控和不竭评估,按期评估系统性能,也是可解释性的一个关键法式。
基本上把XAI解释了一下,下面进入正题,分享几个用于可解释性AI的库
SHAP - SHapley Additive exPlanations
SHAP是一种博弈论方式,可用于解释任何机器学习模型的输出。其使用博弈论中Shapley值及其相关扩展的最佳信用分配与当地解释联系起来


LIME - Local Interpretable Model-agnosticExplanations
LIME 是一种与模型无关的方式,它通过围绕特定预测在局部近似模型的行为来工作。LIME 试图解释机器学习模型在做什么。LIME 撑持解释文本分类器、表格类数据或图像的分类器的个别预测。


Eli5
ELI5是一个Python包,它可以辅佐调试机器学习分类器并解释它们的预测。它提供了以下机器学习框架和包的撑持:

  • scikit-learn:ELI5可以解释scikit-learn线性分类器和回归器的权重和预测,可以将决策树打印为文本或SVG,显示特征的重要性,并解释决策树和基于树集成的预测。ELI5还可以理解scikit-learn中的文本措置法式,并相应地突出显示文本数据。
  • Keras -通过Grad-CAM可视化解释图像分类器的预测。
  • XGBoost -显示特征的重要性,解释XGBClassifier, XGBRegressor和XGBoost . booster的预测。
  • LightGBM -显示特征的重要性,解释LGBMClassifier和LGBMRegressor的预测。
  • CatBoost:显示CatBoostClassifier和CatBoostRegressor的特征重要性。
  • lightning -解释lightning 分类器和回归器的权重和预测。
  • sklearn-crfsuite。ELI5允许查抄sklearn_crfsuite.CRF模型的权重。
基本用法:
Show_weights() 显示模型的所有权重,Show_prediction() 可用于查抄模型的个体预测


ELI5还实现了一些查抄黑盒模型的算法:
TextExplainer使用LIME算法解释任何文本分类器的预测。摆列重要性法可用于计算黑盒估计器的特征重要性。


Shapash
提供了多种可视化方式来让使用者更容易理解模型,并通过摘要来理解模型提出的决策。Shapash是由MAIF数据科学家开发,主打的就是通过可视化解释模型。其通过web应用法式机制,与Juypter完美结合。
from shapash import SmartExplainer

xpl = SmartExplainer(
     model=regressor,
     preprocessing=encoder, # Optional: compile step can use inverse_transform method
     features_dict=house_dict  # Optional parameter, dict specifies label for features name
)

xpl.compile(x=Xtest,
  y_pred=y_pred,
  y_target=ytest, # Optional: allows to display True Values vs Predicted Values
  )

xpl.plot.contribution_plot(”OverallQual”)


Anchors
Anchors通过使用被其称为锚点的高精度法则对复杂模型行为进行解释,声称代表的是局部的充实预测条件。该算法可以有效地计算任何具有高概率保证的黑盒模型的解释。
其实简单的说Anchors可以直接看做上文提到的LIME v2。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|T9AI - 深度人工智能平台 ( 沪ICP备2023010006号 )

GMT+8, 2024-11-25 14:25 , Processed in 0.060562 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表