BONES
收藏资源简介:
BONES数据集由都灵理工大学的研究团队创建,专注于神经网络对Shapley值的估计。该数据集包含表格和图像数据,旨在支持可解释人工智能(XAI)模型的基准测试。数据集的创建过程结合了先进的神经网络和传统估计方法,以提供可靠的Shapley值计算。BONES数据集的应用领域主要集中在提高AI模型的透明度和解释性,解决复杂预测模型的解释问题。
The BONES Dataset was created by the research team from Polytechnic University of Turin, focusing on neural network-driven estimation of Shapley values. This dataset includes tabular and image data, aiming to support benchmarking for eXplainable Artificial Intelligence (XAI) models. The development of the BONES Dataset combines state-of-the-art neural networks and traditional estimation methodologies to deliver reliable Shapley value computations. The primary application scope of the BONES Dataset centers on improving the transparency and interpretability of AI models, addressing the interpretability challenges of complex predictive models.
BONES: 神经估计Shapley值的基准
BONES是一个用于基准测试神经估计Shapley值的Python库。
主要特点
- 解释器方法:提供九种(传统和神经)解释器方法,专门用于Shapley值计算。
- 评估指标:提供五种评估指标来比较模型。
- 数据模态支持:支持两种数据模态,并计划增加更多。
示例
开始使用
-
表格数据实验依赖安装: bash pip install requirements_tabular.txt
-
图像数据实验依赖安装: bash pip install requirements_image.txt
表格数据
基准设置
-
模块导入: python from bones.sv.tabular.explainers import FastSHAPModel, ShapRegModel, DASPModel, ExactModel from bones.sv.tabular.datasets import Monks, Census from bones.sv.tabular.metrics import L1, L2, Kendal from bones.sv.tabular.evaluation import Banckmark from bones.sv.tabular.display import TimeSamplePlot, TimeFeaturePlot, BarPlot, QuadrantPlot
-
创建基准: python benchmark=Benchmark( explainers=[FastSHAP, ShapReg, DASP], # 解释器 ground_truth=Exact, # 基准真值 dataset=[Monks, Census, Credit], # 数据集 metrics=[L1, L2, Kendal], # 评估指标 num_samples=100 # 样本数量 ).run()
-
打印结果: python benchmark.print_results(Monks) # 表格结果
可视化
-
样本数量与计算时间关系图: python TimeSamplePlot(benchmark, dataset=Monks, number_sample=100000, interval=10000, sample_method="random").plot()
-
特征数量与推理时间关系图: python TimeFeaturePlot(benchmark).plot()
-
Shapley值估计比较图: python BarPlot(bechmark, dataset=Monks).plot()
-
推理时间与距离比较图: python QuadrantPlot(benchmark, dataset=Monks).plot()
图像数据
基准设置
-
模块导入: python from bones.sv.image.explainers import FastSHAP, ViTShapley, DeepExplainer, GradientExplainer from bones.sv.image.datasets import ImageNette from bones.sv.image.metrics import L1, L2, AUC from bones.sv.image.evaluation import Banckmark from bones.sv.image.display import ImagePlot, AUC
-
创建基准: python benchmark=Benchmark( explainers=[ViTShapley, DeepExplainer, GradientExplainer], # 解释器 ground_truth=FastSHAP, # 基准真值 dataset=[ImageNette], # 数据集 metrics=[L1, L2, AUC], # 评估指标 num_samples=100 # 样本数量 ).run()
可视化
-
解释器在特定图像样本上的Shapley值掩码比较图: python ImagePlot(bechmark, datset=ImageNette, sample=0).plot()
-
重要特征包含/排除百分比与AUC关系图: python AUC(benchmark, dataset=ImageNette, num_sample=100).plot()
功能
表格数据
- 传统解释器:Exact, KernelSHAP, Unbiased KernelSHAP, Monte Carlo
- 神经解释器:DeepExplainer, GradientExplainer, FastSHAP, DASP
- 评估指标:L1距离, L2距离, Kendall相关性
- 可视化技术:BarPlot, QuadrantPlot, 时间/特征数量相关性, 时间/样本数量相关性
- 数据集:Monks, Credit, Magic, Census, Winsconsin Breast Cancer
图像数据
- 神经解释器:DeepExplaienr, GradientExplainer, FastSHAP, ViT-Shapley
- 评估指标:L1距离, L2距离, 包含AUC, 排除AUC
- 可视化技术:ImagePlot包含AUC, 排除AUC, 时间/样本数量相关性, ImagePlot
- 数据集:ImageNette, Pet
默认设置
- 表格数据:分类模型为MultiLayerPerceptron
- 图像数据:分类模型为预训练的ViT tiny版本
计划开发
- Python包
- DASP适应PyTorch
- DASP适应Tensorflow 2
- 文本数据支持
- 包含区间Shapley值
- 对齐需求

- 1BONES: a Benchmark fOr Neural Estimation of Shapley values都灵理工大学 · 2024年



