Py之aix360:aix360的简介、安装、使用方法之详细攻略

Py之aix360:aix360的简介、安装、使用方法之详细攻略

目录

aix360的简介

1、支持的可解释算法

aix360的安装

aix360的使用方法


aix360的简介

        AI Explainability 360,可解释AI 360工具包是一个开源库,用于解释数据集机器学习模型。由 IBM在2019年左右开发的,在他们的平台上广泛使用。
        可解释AI 360 Python包一组包含不同解释维度的算法,覆盖不同层次的解释以及替代可解释度量。可解释AI 360工具包支持表格、文本、图像和时间序列数据。
        解释性没有最佳方法,有很多种解释方式:数据对比模型、直接可解释对后验解释、局部对全局等。因此,掌握哪些算法最适用于给定用例可能很混乱。为此,我们创建了一些指南资料和分类树,可以参考。

GitHub官网
GitHub - Trusted-AI/AIX360: Interpretability and explainability of data and machine learning models

文档AI Explainability 360 — aix360 0.1 documentation

1、支持的可解释算法

局部白盒解释器
局部黑盒解释器
全局白盒解释器
可直接解释的无监督解释器
可直接解释的监督解释器
基于时间序列的本地黑匣子解释器

数据解释

ProtoDash (Gurumoorthy等人,2019年)

Disentangled Inferred Prior VAE (Kumar等人,2018年) 分离推断先前

局部后验解释

ProtoDash(Gurumoorthy等人,2019年)

对比性解释方法(Dhurandhar等人,2018年)

具有单调属性函数的对比性解释方法(Luss等人,2019年)

示例基本对比解释方法

聚合条件期望(对Goldstein等人的个人条件期望图进行高维度的适应)

LIME(Ribeiro等人。2016,Github)

SHAP(Lundberg等人。2017,Github)

时间序列局部后验解释

使用综合梯度的时间序列显着性地图(受Sundararajan等人启发)

时间序列LIME(Ribeiro等人2016年经典论文的时间序列适应)

时间序列个人条件期望(Goldstein等人的个人条件期望图的时间序列适应)

局部直接解释

教AI解释其决策(Hind等人,2019)

最佳运输中的顺序约束(Lim等人,2022,Github)

全局直接解释

可解释模型差分(IMD)(Haldar等人,2023)

继续分数网(CoFrNets)(Puri等人,2021)

布尔决策规则通过列生成(Light版)(Dash等人,2018)

通用线性规则模型(WEI等人,2019)

快速高效规则归纳(Ripper)(William W Cohen,1995)

全局后验解释

全局后验解释

ProfWeight (Dhurandhar等人,2018年)

支持的可解释度量

信任度(Alvarez-Melis和Jaakkola,2018)

单调性(Luss等人,2019)

aix360的安装

pip install aix360

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple aix360

 

aix360的使用方法

1、基础用法

(1)、基于泰坦尼克号数据集利用aix360实现可解释性

import pandas as pd
from sklearn.model_selection import train_test_split
from aix360.algorithms.explainers import ExplainableBoostingClassifier
from aix360.algorithms.explainers import plot_ebm
from interpret import show

# 1. 加载数据
titanic = pd.read_csv('titanic.csv')

# 2. 选择特征和标签
features = ['Pclass', 'Sex', 'Age', 'SibSp', 'Parch']
label = 'Survived'

# 3. 划分数据集
X = titanic[features]
y = titanic[label]
X_train, X_test, y_train, y_test = train_test_split(X, y)

# 4. 训练EBM模型
model = ExplainableBoostingClassifier()
model.fit(X_train, y_train)

# 5. 可视化模型
plot_ebm(model, show_results=True, flatten=True)

# 6. 获得局部解释
prediction = model.predict([3, 'female', 20, 1, 0])
show(prediction, X.columns)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值