发行说明
要查看下个版本即将发布的最新更改,请参阅 v0.47.0…master。
v0.47.0
发布于 2025-03-05 - GitHub - PyPI
变更内容
重大变更
- 为旧版条形图添加弃用警告,并为新的 Explainer API 添加迁移指南,由 @connortann 在 #3739 中完成
新增
- 为 shap.plots.scatter 添加了类别支持,由 @hypostulate 在 #3706 中完成
- 在图像图中引入 vmax 参数,由 @sd3ntato 在 #2848 中完成
- 新的 beeswarm 绘图 API,用于接受和返回坐标轴,由 @chriscave 在 #3561 中完成
- 允许创建不含其他特征总和的 beeswarm 图形,由 @kalkairis 在 #2225 中完成
- 用于自定义可视化的新界面,由 @connortann 在 #3788 中完成
- 允许条形图的自定义样式,由 @connortann 在 #3849 中完成
- TreeExplainer 数值灵敏度,由 @tylerjereddy 在 #3990 中完成
- 更快的非树 KernelExplainer,由 @tylerjereddy 在 #3944 中完成
修复
- 修复 KernelExplainer 中的 logit 错误,由 @CloseChoice 在 #3917 中完成
- 修复 summary_plot 中的 TypeError,由 @bedapisl 在 #3738 中完成
- 从 skimage 0.24.0 重新 vendor colorconv,由 @connortann 在 #3785 中完成
- 修复 shap.plots.image 中多行标签选项的问题,由 @SFatemehM 在 #3636 中完成
- 修复 transformers,由 @costrau 在 #3578 中完成
- 修复仅 kwargs 操作的 OpChain repr,由 @thatlittleboy 在 #3838 中完成
- 修复 summary plot 中多类别的错误图形,由 @46319943 在 #3836 中完成
- 修复多类别情况下的 summary plot 问题,由 @CloseChoice 在 #3925 中完成
- 修复颜色图,由 @CloseChoice 在 #3909 中完成
文档
- 修复 shap.datasets.communitiesandcrime 文档中的错误,由 @TommyGiak 在 #3846 中完成
- 修复 Understanding Tree SHAP 笔记本中的列索引,由 @operte 在 #3749 中完成
- 重新格式化 API 示例中的散点图笔记本,由 @Xovee 在 #3752 中完成
- 改进了散点图的类型和文档,由 @connortann 在 #3811 中完成
- 为一些外部链接使用 intersphinx,由 @thatlittleboy 在 #3851 中完成
- 固定文档依赖项以实现可重现性,由 @connortann 在 #3885 中完成
- 修复 LightGBM 的 force plot 中的错别字和描述,由 @davidefiocco 在 #3962 中完成
- 修复:修复了 introductio 中某些章节标题的 markdown 问题… 由 @CSantos01 在 #3957 中完成
- 修复 intro notebook 中 beeswarm plot 的注释,由 @davidefiocco 在 #3960 中完成
维护
- 修复:在测试中显式设置 matplotlib 插值 rcParams,由 @connortann 在 #3953 中完成
其他更改
- 在 MacOS 运行器上跳过情感分析测试,由 @connortann 在 #3955 中完成
- 移除已弃用的未使用代码
_build_delta_masked_inputs
和Explainer._compute_main_effects
,由 @connortann 在 #3856 中完成 - 改进
approximate
参数在 TreeExplainer 中的处理,以保持一致性,并弃用 explainer 的 init 方法中的该参数,由 @CloseChoice 在 #3834 中完成 - 重构 Tree explainers 中的 feature_perturbation,由 @glemaitre 在 #2624 中完成
- 测试 decision plot,由 @CloseChoice 在 #3720 中完成
- Bump ruff,修复规则 E721,由 @connortann 在 #3751 中完成
- 重构绘图工具和颜色,由 @thatlittleboy 在 #3833 中完成
- 重构和优化解释操作,由 @thatlittleboy 在 #3850 中完成
- 修复 CI feedstock 构建,由 @CloseChoice 在 #3862 中完成
- 为多输出 cohort 调用添加错误,由 @CloseChoice 在 #3870 中完成
- 修复 beeswarm.ipynb 中的错别字,由 @kamurani 在 #3900 中完成
- DeepExplainer 文档字符串改进,由 @anitagraser 在 #3892 中完成
- 在生成新的 summary plots 之前清除绘图,以避免颜色条重叠,由 @chun61205 在 #3921 中完成
- 支持 summary_plot 的 rng,由 @tylerjereddy 在 #3945 中完成
- 非树 KernelExplainer 中的小幅加速,由 @tylerjereddy 在 #3983 中完成
新贡献者
- @bedapisl 在 #3738 中完成了他们的首次贡献
- @operte 在 #3749 中完成了他们的首次贡献
- @Xovee 在 #3752 中完成了他们的首次贡献
- @hypostulate 在 #3706 中完成了他们的首次贡献
- @SFatemehM 在 #3636 中完成了他们的首次贡献
- @sd3ntato 在 #2848 中完成了他们的首次贡献
- @chriscave 在 #3561 中完成了他们的首次贡献
- @kalkairis 在 #2225 中完成了他们的首次贡献
- @TommyGiak 在 #3846 中完成了他们的首次贡献
- @46319943 在 #3836 中完成了他们的首次贡献
- @kamurani 在 #3900 中完成了他们的首次贡献
- @anitagraser 在 #3892 中完成了他们的首次贡献
- @chun61205 在 #3921 中完成了他们的首次贡献
- @davidefiocco 在 #3962 中完成了他们的首次贡献
- @CSantos01 在 #3957 中完成了他们的首次贡献
- @Fredheda 在 #3984 中完成了他们的首次贡献
- @tylerjereddy 在 #3945 中完成了他们的首次贡献
完整变更日志: v0.46.0...v0.47.0
v0.46.0
发布于 2024-06-27 - GitHub - PyPI
变更内容
此版本增加了与最新版本的 numpy 和 tensorflow 的兼容性,并包含多项错误修复。
新增
- 增加了对 numpy 2 的支持,由 @connortann 在 #3717 和 @paulbkoch 在 #3704 中完成
- 增加了对 keras 3 和 tensorflow 2.16 的支持,由 @CloseChoice 在 #3677 中完成
已更改
- 移除了
shap.summary_plot()
中已弃用的auto_size_plot
参数。
修复
- 修复了解释使用
float16
混合精度训练的模型的问题,由 @CloseChoice 在 #3652 中完成 - 修复了
XGBRegressor
模型的反序列化错误,由 @CloseChoice 在 #3669 中完成
以及更多文档和代码质量方面的改进。
新贡献者
- @LetiP 在 #3685 中完成了他们的首次贡献
- @paulbkoch 在 #3704 中完成了他们的首次贡献
完整变更日志: v0.45.1...v0.46.0
v0.45.1
发布于 2024-05-07 - GitHub - PyPI
这是一个补丁版本,包含一些错误修复。特别是,修复了与加载具有指数损失的 XGBoost 模型相关的错误。
变更内容
新增
- 由 @CloseChoice 在 #3617 中为 pytorch 深度解释器添加了 selu 激活
- 由 @sroener 在 #3571 中为热图绘制函数添加了 "ax" 选项
已更改
- 由 @LakshmanKishore 在 #3543 中从数据集函数中移除了未使用的 "display" 参数
修复
- 由 @CloseChoice 在 #3616 中修复了加载具有指数损失的 XGBoost 模型的问题
- 由 @CloseChoice 在 #3558 中修复了深度解释器的调用接口
- 由 @CloseChoice 在 #3592 中修复了使用 Falcon 语言模型进行文本生成的问题
- 由 @bewygs 在 #3632 中修复了 lightgbm 编译 (macOS 工作流) 问题
- 由 @CloseChoice 在 #3616 中修复了加载具有指数损失的 XGBoost 模型的问题
以及由 @bewygs , @CloseChoice , @Hugh-OBrien 完成的一些文档和维护更新
新贡献者
完整更新日志: v0.45.0...v0.45.1
v0.45.0
发布于 2024-03-08 - GitHub - PyPI
这是一个相当重要的版本,包含一些重大更改。
感谢许多新贡献者为此版本的贡献!我们渴望扩大维护者队伍,如果您有兴趣成为团队的一员,请在 #3559 上联系我们。
变更内容
重大变更
- 在 #3414 中放弃了对 3.8 的支持
- 由 @CloseChoice 在 #3318 中更改了返回的 SHAP 值的类型和形状,以与模型输出保持一致。现在,具有多个输出的模型的 SHAP 值是 np.ndarray 而不是列表。
- 由 @thatlittleboy 在 #3340 中移除了 TreeExplainer 和 LinearExplainer 中已弃用的
feature_dependence
参数 - 由 @connortann 在 #3511 中移除了已弃用的 Coefficient 别名
新增
- 由 @connortann 在 #3414 中添加了对 python 3.12 的支持
- 由 @trivialfis 在 #3462 中添加了对最新 CUDA 版本上 GPU 构建的支持
- 由 @connortann 在 #3533 中通过 pytorch 的延迟导入,导入时间加速 2 倍
- 由 @richarddli 在 #3494 中添加了在条形图中返回 matplotlib 图形的支持
- 由 @CloseChoice 在 #3504 中为 tensorflow 深度解释器添加了 selu 激活
- 由 @CloseChoice 在 #3506 中添加了对 catboost 模型中特殊字符的支持
- 由 @MonoHue 在 #3530 中添加了在
beeswarm
图中控制标记大小的功能
修复
- 由 @trivialfis 在 #3462 中修复了 XGBoost 模型加载问题
- 由 @costrau 在 #3536 中修复了使用某些分词器的文本掩码问题
- 由 @connortann 在 #3542 中修复了在使用 KernelExplainer 解释 tensorflow 模型时出现的问题
- 由 @connortann 在 #3547 中修复了 force_plot 负贡献的阈值问题
- 由 @connortann 在 #3514 中移除了对默认警告过滤器或格式化程序的覆盖
.. 以及由 @CloseChoice , @yuanx749 , @LakshmanKishore 和其他人完成的大量文档、测试和其他维护更新。
新贡献者
- @richarddli 在 #3494 中做出了他们的首次贡献
- @yuanx749 在 #3458 中做出了他们的首次贡献
- @LakshmanKishore 在 #3393 中做出了他们的首次贡献
- @trivialfis 在 #3462 中做出了他们的首次贡献
- @DanGolding 在 #3526 中做出了他们的首次贡献
- @MonoHue 在 #3530 中做出了他们的首次贡献
- @costrau 在 #3536 中做出了他们的首次贡献
完整更新日志: v0.44.1...v0.45.0
v0.44.1
发布于 2024-01-25 - GitHub - PyPI
补丁版本,用于修复 force plot 显示问题。
修复
- 由 @CloseChoice 在 #3464 中修复了影响 force plot 显示的 HTML 问题
- 由 @CloseChoice 在 #3459 中修复了 catboost 回归器交互值的计算
- 由 @CloseChoice 在 #3345 中更新 XGBoost 解析以使用 ubjson 格式,替换已弃用的二进制格式
其他
- 进一步改进文档
完整更新日志: v0.44.0...v0.44.1
v0.44.0
发布于 2023-12-07 - GitHub - PyPI
此版本包含许多增强功能和错误修复。
变更内容
新增
- 由 @lorentzenchr 在 #3271 中 KernelShap 中更快更稳定的线性求解器
- 由 @mtlulka 在 #3355 中允许将
ax
传递给group_difference()
图 - 由 @fountaindive 在 #3386 中添加了对条形图中 Explanation.display_data 的支持
- 由 @connortann 在 #3403 中改进了从源代码构建时的构建消息
修复
- 由 @CloseChoice 在 #3325 中修复了 Windows 上具有特征交互的
CatboostClassifier
解释 - 由 @vancromy 在 #3314 中修复了将 Xgboost 模型参数传递给 xgboost.DMatrix 的问题
- 由 @mtlulka 在 #3352 中显式指定 xgboost>=1.4 约束
- 由 @thatlittleboy 在 #3359 中修复了 DMatrix 到 CSR 矩阵的转换
- 由 @CloseChoice 在 #3369 中移除了
dependence_plot
中已弃用的use_line_collection
- 由 @SomeUserName1 在 #2799 中修复了
scatter
图中与数组重塑相关的错误
文档
- 大量 示例 notebook 已由 @connortann, @znacer , @thatlittleboy, @CloseChoice 和 @stompsjo 修复和更新
新贡献者
- @vancromy 在 #3314 中做出了他们的首次贡献
- @lorentzenchr 在 #3271 中做出了他们的首次贡献
- @mtlulka 在 #3352 中做出了他们的首次贡献
- @fountaindive 在 #3386 中做出了他们的首次贡献
- @SomeUserName1 在 #2799 中做出了他们的首次贡献
- @stompsjo 在 #3391 中做出了他们的首次贡献
完整更新日志: v0.43.0...V0.44.0
v0.43.0
发布于 2023-10-09 - GitHub - PyPI
变更内容
此版本包含许多错误修复和改进。
遵循 NEP 29 弃用策略,此版本放弃了对 python 3.7 的支持。
重大变更
- 由 @thatlittleboy 在 #3316 中移除了已弃用的 Boston 数据集
Explanation.base_values
的形状已在不同的 TreeExplainer 模型之间标准化,始终为(N,)
形状,而不是(N,1)
。由 @thatlittleboy 在 #3121 中完成
新增
- 由 @noxthot 在 #3265 中为 Pytorch DeepExplainer 添加了可加性检查(默认激活)
- 由 @101AlexMartin 在 #3062 中添加了允许在多输出条形图的图例中打印平均 SHAP 值的标志。
- 由 @connortann 在 #3157 中将热图和小提琴图添加到顶层 API
- 由 @owenlamont 在 #3199 中将所有 tqdm 导入替换为 tqdm.auto
修复
- 由 @thatlittleboy 在 #3093 中修复了 MacOS 上 lightgbm 测试中的段错误 (使用较新版本的 libomp)
- 支持 LightGBM 集成模型,包含单叶树 (stump),由 @thatlittleboy 在 #3094 中完成
- 修复了将 DataFrame 转换为 Explanation.data 的 ndarray 的问题,由 @danieleongari 在 #3131 中完成
- 修复了 sklearn 树模型的解释的瀑布图问题,由 @connortann 在 #3138 中完成
- 修复了 gradient explainer 的 pandas 输入问题,由 @Koen-Git 在 #3153 中完成
- 修复了在具有方形
.values
的 Explanation 对象中切片feature_names
的问题,由 @thatlittleboy 在 #3126 中完成 - 修正了当力的符号相同时 force_matplotlib 中的 xlim,由 @zaburo-ch 在 #2839 中完成
- 修复了当 col_sample < 1 时的 ngboost 解释问题,由 @CloseChoice 在 #3294 中完成
- 修复了 PyTorch DeepExplainer 中的 torch 加和性检查,由 @noxthot 在 #3281 中完成
- 在 DeepExplainer 中用警告替换了打印语句,由 @znacer 在 #3264 中完成
- 替换了已弃用的
register_backward_hook()
,由 @noxthot 在 #3259 中完成 - 修复了已弃用的 xgboost early_stopping_rounds 的使用,由 @CloseChoice 在 #3306 中完成
- 修复了第三方弃用警告:numba, xgboost, typing, distutils,由 @connortann 在 #3084 中完成
- 更新了 Javascript 包以更新已弃用的依赖项,由 @connortann 在 #2974 中完成
教程和示例也进行了大量改进,由 @connortann, @znacer, @arshiaar, @thatlittleboy, @dsgibbons, @owenlamont 和 @CloseChoice 完成
新贡献者
- @101AlexMartin 在 #3062 中做出了首次贡献
- @znacer 在 #3112 中做出了首次贡献
- @danieleongari 在 #3131 中做出了首次贡献
- @Koen-Git 在 #3153 中做出了首次贡献
- @pre-commit-ci 在 #3173 中做出了首次贡献
- @owenlamont 在 #3199 中做出了首次贡献
- @arshiaar 在 #3201 中做出了首次贡献
- @dsgibbons 在 #3200 中做出了首次贡献
- @noxthot 在 #3265 中做出了首次贡献
- @zaburo-ch 在 #2839 中做出了首次贡献
- @CloseChoice 在 #3282 中做出了首次贡献
完整变更日志: v0.42.1...v0.43.0
v0.42.1
发布于 2023-07-15 - GitHub - PyPI
补丁版本发布,旨在为更广泛的架构提供 wheels。
新增
- 由 @PrimozGodec 在 #3078 和 @connortann 在 #3083 中添加了用于 linux:aarch64 和 macos:arm64 的 wheels。
修复
- 修复了 shap.benchmark 的循环导入问题,由 @thatlittleboy 在 #3076 中完成。
- 修复了 TestPyPI 发布工作流程,由 @connortann 在 #3068 中完成
- 修复了更多不稳定的测试,由 @thatlittleboy 在 #3073 中完成
- 修复了 shap.summary_plot 以使其与 matplotlib 3.6.0 兼容,由 @jklaise 在 #2697 中完成
- 修复了基准测试顶级导入问题,由 @thatlittleboy 在 #3076 中完成
- 修复了从顶级 shap 导入 ipython 时的警告,由 @connortann 在 #3090 中完成
完整变更日志: v0.42.0...v0.42.1
v0.42.0
发布于 2023-07-06 - GitHub - PyPI
此版本包含许多更改,这些更改最初由 @dsgibbons 的 社区分支 贡献,该分支现已合并到主 shap 仓库中。来自此来源的 PR 在此处标记为 fork#123
。
这将是最后一个支持 python 3.7 的版本。
新增
- 增加了对 python 3.11 的支持 (fork#72,由 @connortann 完成)。
- 为
shap.datasets
中的所有函数添加了n_points
参数 (fork#39,由 @thatlittleboy 完成)。 - 为
KernelExplainer
添加了__call__
方法 (#2966,由 @dwolfeu 完成)。 - 添加了贡献指南 (#2996,由 @connortann 完成)。
修复
- 修复了
plot.waterfall
以支持带有布尔特征的 yticklabels (fork#58,由 @dwolfeu 完成)。 - 防止当传递包含类别列的 pandas DataFrame 时,
TreeExplainer.__call__
抛出 ValueError 错误 (fork#88,由 @thatlittleboy 完成)。 - 修复了
shap.datasets
中的采样以进行无放回采样 (fork#36,由 @thatlittleboy 完成)。 - 修复了将字典输入传递给
shap.plots.bar
时出现的UnboundLocalError
问题 (#3001,由 @thatlittleboy 完成)。 - 修复了使用 Gradient 时 Pyspark 的 tensorflow 导入问题 (#2983,由 @skamdar 完成)。
- 修复了
shap.plots.heatmap
中颜色条的纵横比,并在内部使用 ax matplotlib API 进行绘图 (#3040,由 @thatlittleboy 完成)。 - 修复了 numba>=0.44 的弃用警告 (fork#9 和 fork#68,由 @connortann 完成)。
- 修复了来自 numpy 类型的 numpy>=1.24 的弃用警告 (fork#7,由 @dsgibbons 完成)。
- 修复了来自
Ipython.core.display
的Ipython>=8
的弃用警告 (fork#13,由 @thatlittleboy 完成)。 - 修复了来自
tf.optimisers
的tensorflow>=2.11
的弃用警告 (fork#16,由 @simonangerbauer 完成)。 - 修复了来自
sklearn.linear_model
的sklearn>=1.2
的弃用警告 (fork#22,由 @dsgibbons 完成)。 - 修复了树解释器中来自
ntree_limit
的xgboost>=1.4
的弃用警告 (#2987,由 @adnene-guessoum 完成)。 - 修复了在 Windows 和 MacOS 上的构建问题 (#3015,由 @PrimozGodec 完成; #3028, #3029 和 #3031,由 @connortann 完成)。
- 修复了在
shap.explainers.Exact
中创建不规则数组的问题 (#3064,由 @connortann 完成)。
已更改
- 更新了多个
shap.plots
函数的文档字符串 (#3003, #3005,由 @thatlittleboy 完成)。
已移除
- 弃用了 Boston 房价数据集 (fork#38,由 @thatlittleboy 完成)。
- 移除了未使用的
mimic.py
文件和MimicExplainer
代码 (fork#53,由 @thatlittleboy 完成)。
维护
- 修复了失败的单元测试 (fork#29,由 @dsgibbons 完成, fork#20,由 @simonangerbauer 完成, #3044 和 fork#24,由 @connortann 完成)。
- 在源分发中包含 CUDA GPU C 扩展文件 (#3009,由 @jklaise 完成)。
- 修复了通过 setuptools 安装软件包的问题 (fork#51,由 @thatlittleboy 完成)。
- 引入了一组最基本的
ruff
linting (fork#25, fork#26, fork#27, #2973, #2972 和 #2976,由 @connortann 完成; #2968, #2986,由 @thatlittleboy 完成)。 - 更新了项目元数据以符合 PEP 517 标准 (#3022,由 @connortann 完成)。
- 在 CI 上引入了针对较新依赖项的更全面的测试 (fork#61 和 #3017,由 @connortann 完成)
- 将单元测试时间缩短了约 5 分钟 (#3046,由 @connortann 完成)。
- 为可重现的模糊测试引入了装置 (#3048,由 @connortann 完成)。
v0.41.0
发布于 2022-06-16 - GitHub - PyPI
大量的错误修复和 API 改进。
- 修复了 XGBoost 模型加载的罕见错误,由 @TheZL @lrjball 完成
- 修复了 beeswarm 图,使其不会修改传递的解释对象,@ravwojdyla 完成
- 使用 GH actions 自动构建 wheel,由 @quantumtec 完成
- KernelExplainer 中用于内存的 GC 收集,由 @Qingtian-Zou 完成
- 修复了 PartitionExplainer 的 max_evals 参数
- JIT 优化了 PartitionExplainer
- 修复了颜色条格式问题 @SleepyPepperHead
- 新的基准测试笔记本
- 尽可能使用 display_data 进行绘图 @yuuuxt
- 改进了 GPUTreeShap 的编译和参数 @RAMitchell
- 修复了 DeepExplainer 中的 TF API 更改 @filusn
- 为绘图添加了 torch 张量支持 @alexander-pv
- 切换到 Github actions 进行测试,而不是 Travis
- 新的 California 演示数据集 @swalsh1123
- 修复了瀑布图 bug @RichardScottOZ
- 处理缺少 matplotlib 安装的情况 @klieret
- 为 Additive explainer 添加了线性化链接支持 (Nandish Gupta)
- 修复了异常,使其更具体 @alexisdrakopoulos @collinb9
- 为绘图添加了颜色映射选项 @tlabarta
- 发布了固定的 numpy 版本要求 @rmehyde
- 以及其他许多由以下人员慷慨贡献的代码 @WeichenXu123 @imatiach-msft @zeshengli @nkthiebaut @songololo @GiovannaNicora @joshzwiebel @Ashishbodla @navdeep-G @smathewmanuel @ycouble @anubhavmaity @adityasaini70 @ngupta20 @jckkvs @abs428 @JulesCollenne @Tiagosf00 @javirandor 和 @Thuener
v0.40.0
发布于 2021-10-20 - GitHub - PyPI
此版本包含许多错误修复和大量新功能,特别是针对基于 transformer 的 NLP 模型。一些亮点包括
- 新的绘图、错误修复、文档和 NLP 模型解释功能(详见文档)。
- 重要的排列解释器性能修复,由 @sander-sn 完成
- 新的联合散点图,可以在同一 y 轴刻度上一次绘制多个
- 更好的树模型内存使用,由 @morriskurz 完成
- 新的文档,由 @coryroyce 完成
- 新的 wheel 构建,由 @PrimozGodec 完成
- 文档的暗黑模式改进,由 @gialmisi 完成
- API 调整,由 @c56pony @nsorros @jebarb 完成
v0.39.0
发布于 2021-03-03 - GitHub - PyPI
大量新的文本解释器工作由 @ryserrao 贡献,序列化工作由 @vivekchettiar 贡献!(稍后会记录所有其他更改)
v0.38.1
发布于 2021-01-15 - GitHub - PyPI
修复了 v0.38.0 版本的版本不匹配和序列化更新。
v0.38.0
发布于 2021-01-14 - GitHub - PyPI
此版本包含改进的 Transformer 文本模型解释支持以及对新的基于 Explanation 对象的 API 的支持。具体改进包括
- 文本解释器中的 Transformer 模型支持,由 @ryserrao 贡献
- Interventional Tree Explainer GPU 支持,由 @RAMitchell 贡献
- 图像字幕模型支持,由 @anusham1990 贡献
- 基准测试改进,由 @maggiewu19 贡献
- 新的文本和图像可视化,由 @vivekchettiar 贡献
- 新的解释器序列化支持,由 @vivekchettiar 贡献
- Linear Explainer 和新 API 的错误修复,由 @heimengqi 贡献
- 分类绘图的修复,由 @jeffreyftang 贡献
- CUDA 支持改进,由 @JohnZed 贡献
- econML 模型支持,由 @vasilismsr 贡献
- 许多其他错误修复和 API 改进。
v0.37.0
发布于 2020-11-04 - GitHub - PyPI
此版本包含对新 API 的更多支持、许多错误修复以及初步的模型无关文本/图像解释器支持(仍为 beta 版)。具体贡献包括
- Sampling Explainer 样本计数问题修复,由 @tcbegley 贡献
- 添加多柱状图绘制支持。
- 初步支持队列。
- 修复了一个导入错误,由 @suragnair 贡献
- 修复了 Tree Explainer 在 max_features < 1 的隔离森林中存在的问题,由 @zhanjiezhu 贡献
- 大量的文档清理和更新,由 @lrjball 贡献
- 拼写错误修复,由 @anusham1990 贡献
- 为 Exact Explainer 添加了一个文档笔记本。
- 文本和图像解释器,由 @anusham1990 和 Ryan Serrao 贡献
- shap.utils.hclust 的错误修复
- 初步支持 InterpretML EBM 模型。
- 为 Explainer 对象添加了列分组功能。
- 修复了 PyTorch 的 Deep Explainer 中的循环索引错误,由 @quentinRaq 贡献
- 初步的文本到文本可视化概念,由 @vivekchettiar 贡献
- 颜色转换警告修复,由 @wangjoshuah 贡献
- 修复了 Kernel Explainer 中使用伪逆的求逆性问题,由 @PrimozGodec 贡献
- 新的基准代码,由 @maggiewu19 和 @vivekchettiar 贡献
- 其他小的错误修复和增强功能。
v0.36.0
发布于 2020-08-27 - GitHub - PyPI
此版本包含对 SHAP 代码库的重大重构,使其成为新的(更简洁的)API。应保留完全的向后兼容性,但现在大多数功能都可以在新 API 的位置找到。请注意,此 API 仍处于 beta 版形式,因此在下一个版本发布之前,请勿将其用于生产代码。亮点包括
- 一个新的 shap.Explainer 对象,可以根据给定的模型和掩码数据集自动选择解释器。
- 一个新的 shap.Explanation 对象,允许并行切片数据、SHAP 值、基本值(期望值)和其他特定于解释的元素。
- 一个新的 shap.maskers.* 模块,将各种掩码(即扰动/隐藏)特征的方法与算法本身分开。
- 一个新的 shap.explainers.Partition explainer,可以非常快速地解释任何文本或图像模型。
- 一个新的 shap.maskers.Partition masker,确保紧密分组的特征被一致地扰动,从而防止“不真实的”模型输入不适当地影响模型预测。它还允许对“结构化博弈”(联盟根据层次聚类结构化)精确地进行二次时间计算 SHAP 值。
- 一个新的 shap.plots.* 模块,其中包含改进的绘图类型,所有这些类型都支持新的 API。现在绘图的命名更加直接,因此
summary_plot
(默认)变为beeswarm
,dependent_plot
变为scatter
。并非所有绘图都已移植到新 API,但大多数已移植。 - 一个新的 notebooks/plots/* 目录,其中提供了有关如何使用新绘图功能的示例。
- 一个新的 shap.plots.bar 函数,用于直接创建条形图,并显示层次聚类结构,以将冗余特征分组在一起,并显示 Partition explainer 使用的结构(该结构依赖于 Owen 值,Owen 值是 Shapley 值的扩展)。
- 等效性检查修复,由 @jameslamb 贡献
- 稀疏 k 均值支持,由 @PrimozGodec 贡献
- Pytorch 错误修复,由 @rightx2 贡献
- NPM JS 代码清理,由 @SachinVarghese 贡献
- logit force plot 错误修复,由 @ehuijzer 贡献
- Decision plot 文档更新,由 @floidgilbert 贡献
- sklearn GBM 修复,由 @ChemEngDataSci 贡献
- XGBoost 1.1 修复,由 @lrjball 贡献
- 使 SHAP spark 可序列化,由 @QuentinAmbard 贡献
- 自定义 summary plot 颜色图,由 @nasir-bhanpuri 贡献
- KernelSHAP 的字符串输入支持,由 @YotamElor 贡献
- 文档修复,由 @imatiach-msft 贡献
- GPBoost 支持,由 @fabsig 贡献
- 导入错误修复,由 @gracecarrillo 和 @aokeson 贡献
0.35.0
发布于 2020-02-27 - GitHub - PyPI
此版本包括
- 更好地支持 TensorFlow 2(感谢 @imatiach-msft)
- TreeExplainer 中对 NGBoost 模型的支持(感谢 @zhiruiwang)
- TreeExplainer 支持新的 sklearn.ensemble.HistGradientBoosting 模型。
- 改进了图像和文本的 PartitionExplainer 版本。
- IBM zOS 兼容性,由 @DorianCzichotzki 贡献。
- 对 XGBoost 1.0 的支持
- 许多错误修复,由 Ivan、Christian Paul、@RandallJEllis 和 @ibuda 贡献。
0.34.0
发布于 2019-12-27 - GitHub - PyPI
此版本包括
0.33.0
发布于 2019-12-11 - GitHub - PyPI
此版本包含各种错误修复和新功能,包括
- 添加了对 TreeExplainer 的 PySpark 支持,由 @QuentinAmbard 贡献
- 一种新的绘图类型,是 force_plot 的替代方案,即
waterfall_plot
- 一个新的 PermutationExplainer,是 KernelExplainer 和 SamplingExplainer 的替代方案。
- 为 PyTorch 的 GradientExplainer 添加了
return_variances
,由 @s6juncheng 贡献 - 现在我们在 TreeExplainer 中使用异常而不是断言,由 @ssaamm 贡献
- 修复了 image_plot 转置问题,由 @Jimbotsai 贡献
- 修复了颜色栏轴附件问题,由 Lasse Valentini Jensen 贡献
- 修复了 PyTorch 中的张量附件问题,由 @gabrieltseng 贡献
- 修复了 summary_pot 中的颜色剪切范围,由 @joelostblom 贡献
- 解决了 sklearn 0.22 API 更改,由 @lemon-yellow 贡献
- 确保 matplotlib 是可选的,由 @imatiach-msft 贡献
0.32.1
发布于 2019-11-06 - GitHub - PyPI
此版本仅旨在从 travis 和 appveyor 中推出更好的自动部署包。
0.32.0
发布于 2019-11-06 - GitHub - PyPI
此版本包括
- 对 sklearn 隔离森林的支持,由 @JiechengZhao 贡献
- 新的 check_additivity 测试,以确保 DeepExplainer 和 TreeExplainer 中没有错误
- 修复 #861, #860
- 修复了缺失的 readme 示例 html 文件
- 对 spark 决策树回归器的支持,由 @QuentinAmbard 贡献
- 更好的安全 isinstance 检查,由 @parsatorb 贡献
- 修复了 TF < 2 中的 eager execution,由 @bottydim 贡献
0.31.0
发布于 2019-10-21 - GitHub - PyPI
此版本包含多个新功能和错误修复
- GradientExplainer 现在支持 TensorFlow 2.0。
- 我们现在对绘图依赖项进行延迟加载,这意味着 pip install 不再需要同时拉取 matplotlib、skimage 和 ipython。这应该使安装更轻量级,尤其是那些不需要绘图的安装 :)
- 添加了一个新的 BruteForceExplainer,用于在小问题上轻松测试和比较。
- 添加了一个新的 partial_dependence_plot 函数。此函数将用于说明未来示例笔记本中偏依赖图和 SHAP 值之间的密切联系。
- 处理 LinearExplainer 中没有截距的多类情况,由 @gabrieltseng 贡献
- pip install 期间的一些 extras_require 选项,由 @AbdealiJK 贡献
- 其他小的错误修复和更新
0.30.2
发布于 2019-10-09 - GitHub - PyPI
此版本主要是为了删除 setup.py 中不存在的 dill 依赖项。它还包括
- force.py 中的拼写错误修复,由 @jonlwowski012 贡献
- 测试代码清理,由 @jorgecarleitao 贡献
0.30.1
发布于 2019-09-09 - GitHub - PyPI
- 修复了最近 sklearn 版本的树模型中浮点舍入不匹配的问题
- 更新以允许 TreeExplainer 更轻松地加载自定义树集成模型。
decision_plot
文档更新,由 @floidgilbert 贡献
0.30.0
发布于 2019-08-31 - GitHub - PyPI
- 新的 decision_plot 函数,由 @floidgilbert 贡献
- 添加了新的模型无关 PartitionExplainer 的 alpha 版本
- 确保 pytorch 的数据都在 DeepExplainer 的同一设备上,由 @gabrieltseng 贡献
- 修复了 lightgbm 边缘情况问题,由 @imatiach-msft 贡献
- 为 shap 创建了 binder 设置,由 @jamesmyatt 贡献
- 允许梯度解释器中存在多个输入,由 @gabrieltseng 贡献
- 新的 KernelExplainer 单元测试,由 @jorgecarleitao 贡献
- 添加了 python 2/3 trove 分类器,由 @proinsias 贡献
- 支持 pyspark 树,由 @QuentinAmbard 贡献
- 许多其他错误修复,由 @rygu, @Kylecrif, @trams, @imatiach-msft, @yunchuankong, @invokermain, @lupusomniator, @satyarta, @jotsif, @parkerzf, @jaller94, @gabrieltseng, 以及其他贡献者
0.29.3
发布于 2019-06-19 - GitHub - PyPI
- 修复了 TensorFlow 1.14 中的更改导致的 DeepExplainer 问题。
0.29.2
发布于 2019-06-19 - GitHub - PyPI
各种错误修复和改进,包括
- 为 CatBoost 添加了二元分类的 SHAP 值,由 @dvpolyakov 贡献
- 绘图的整数除法修复,由 @pmeier-tiplu 贡献
- 支持将 Axes 对象传递给 dependence_plot,由 @mqk 贡献
- 添加了自适应平均池化层和 conv 转置层,由 @gabrieltseng 贡献
- 修复了缺少 matplotlib 后端的导入错误,由 @hchandola 贡献
- 修复了 TreeExplainer GradientBoostingClassifier 错误,由 @prempiyush 贡献
- 使 tqdm 在笔记本中更好地工作,由 @KOLANICH 贡献
- 允许 deep_pytorch 使用 cuda 模型,由 @juliusbierk 贡献
- 修复了 sklearn GradientBoostingRegressor 错误,由 @nasir-bhanpuri 贡献
- 为 shap linear explainer 添加了稀疏支持,由 @imatiach-msft 贡献
0.29.1
发布于 2019-05-15 - GitHub - PyPI
修复了对最新版本 sklearn 中的更改的支持
0.29.0
发布于 2019-05-14 - GitHub - PyPI
此版本的一些贡献亮点(按时间顺序排列)
- 更好的测试,由 @jorgecarleitao 贡献
- 图像绘图自定义,由 @verdimrc 贡献
- DeepExplainer 中对 PyTorch 的批归一化支持,由 @JiechengZhao 贡献
- pytorch deep explainer 的 Leaky ReLU 和其他 conv 层支持,由 @gabrieltseng 贡献
- 修复了梯度解释器中的 keras 多输入问题,并改进了随机种子,由 @moritzaugustin 提供。
- 支持 catBoost 排序器,由 @doramir 提供。
- 为 TreeExplainer 添加了 XGBRanker 和 LGBMRanker,由 @imatiach-msft 提供。
- 修复了 DeepExplainer 中使用 tf.keras 的嵌入查找问题,由 @andriy-nikolov 提供。
- 自定义 dependence_plot 颜色映射,由 @rcarneva 提供。
- 修复了 CatBoost 模型可能出现的除零问题,由 @dvpolyakov 提供。
- 许多其他的错误修复/改进!
0.28.5
发布于 2019-02-16 - GitHub - PyPI
此版本仅用于刷新 AppVeyor 上未完成的 0.28.4 的 Windows 构建。
0.28.4
发布于 2019-02-16 - GitHub - PyPI
- 修复了 TreeExplainer 的内存损坏错误(由 @imatiach-msft 提供)。
- 增加了对 skopt Random Forest 和 ExtraTrees Regressors 的支持(由 @Bacoknight 提供)。
- 增加了对带有文本旋转的 matplotlib forceplot 的支持(由 @vatsan 提供)。
- 增加了一个 save_html 函数
0.28.3
发布于 2019-01-24 - GitHub - PyPI
- 修复了 0.28 引入的一些绘图颜色问题(例如 #406)。
0.28.2
发布于 2019-01-23 - GitHub - PyPI
- 降级 numpy API 使用以支持旧版本。
0.28.1
发布于 2019-01-23 - GitHub - PyPI
- 修复了在 Windows 上加载 XGBoost 模型时的字节对齐问题。
- 现在匹配 XGBoost 模型中的 tree_limit 使用,由 @HughChen 提供。
- 修复了 TreeExplainer 中转换模型输出的 expected_value 问题
0.28.0
发布于 2019-01-21 - GitHub - PyPI
- 在
KernelExplainer
中添加了对基于秩的特征选择的支持。 - 在
KernelExplainer
中弃用l1_reg="auto"
,最终将默认设置为l1_reg="num_features(10)"
- 基于 Lch 色彩空间的新颜色标度。
- 多类汇总图的更好的自动颜色选择。
- 更好地绘制 dependence_plots 中的 NaN 值
- 更新以支持 Pytorch 1.0,由 @gabrieltseng 提供。
- 修复了 sklearn DecisionTreeClassifier 的处理,以正确归一化到概率输出
- 当
feature_dependence="independent"
时,为TreeExplainer
启用多输出模型支持 - 正确加载 LightGBM 模型的目标函数,用于解释模型损失。
- 修复了与 sklearn 模型的数值精度不匹配问题。
- 通过现在直接从内存而不是 JSON 加载,修复了与 XGBoost 模型的数值精度不匹配问题。
0.27.0
发布于 2019-01-01 - GitHub - PyPI
- 更好的分层聚类排序,现在旋转子树以提供更多的连续性。
- 解决 XGBoost JSON 问题。
- 在进行自动交互检测时考虑 NaN。
- PyTorch 修复。
- 更新了 LinearExplainer。
0.26.0
发布于 2018-12-12 - GitHub - PyPI
- 完全重构 TreeExplainer 以支持更深入的 C++ 集成
- 能够在 TreeExplainer 中解释树模型的转换输出,包括损失。与 @HughChen 合作完成
- 允许在 DeepExplainer 中使用动态参考值,由 @AvantiShri 提供。
- 为分类 dependence plots 添加
x_jitter
选项,由 @ihopethiswillfi 提供。 - 增加了对带有分位数损失的 GradientBoostingRegressor 的支持,由 @dmilad 提供。
- 更好地支持绘制 NaN 值
- 修复了几个错误。
0.25.2
发布于 2018-11-09 - GitHub - PyPI
- 允许将 ordering_keys 传递给 force_plot,由 @JasonTam 提供。
- 修复了 KernelExplainer 的稀疏非零背景问题,由 @imatiach-msft 提供。
- 修复以支持 DeepExplainer 中的 tf.concat。
0.25.1
发布于 2018-11-08 - GitHub - PyPI
修复了 tree_shap.h 未包含在 pip 包中的问题。
0.25.0
发布于 2018-11-07 - GitHub - PyPI
- 在 GradientExplainer 中支持 PyTorch,并在 DeepExplainer 中初步支持 PyTorch,由 @gabrieltseng 提供。
- matplotlib 版本的单样本 force_plot,由 @jverre 提供。
- 在 GradientExplainer 中支持函数式 Keras 模型。
- KernelExplainer 速度改进。
- 各种性能改进和错误修复。
0.24.0
发布于 2018-08-24 - GitHub - PyPI
新改进包括:更快的 KernelExplainer 执行速度(针对稀疏输入)。支持 sklearn 梯度提升分类器。DeepExplainer 扩展以支持非常深的模型。
0.23.1
发布于 2018-08-16 - GitHub - PyPI
这修复了 DeepExplainer 中 softmax 运算符的数值稳定性问题。它还修复了 image_plot 的一个小的对齐问题。
0.23.0
发布于 2018-08-16 - GitHub - PyPI
此版本包含一个不错的更新,由 @imatiach-msft 为 KernelExplainer 提供。KernelExplainer 现在运行更快,并支持稀疏数据矩阵!
我们还重构了 DeepExplainer,使其与 TensorFlow 1.10 兼容。仍然有一些问题需要追踪,但 DeepExplainer 正在变得更加完善 :)
v0.22.3
发布于 2018-08-09 - GitHub - PyPI
修复了 TensorFlow >= 1.9 上 DeepExplainer 的问题。修复了一个条形图绘制问题。
v0.22.2
发布于 2018-08-08 - GitHub - PyPI
修复了 other
解释器的 pip 打包错误。
v0.22.1
发布于 2018-08-08 - GitHub - PyPI
修复了从 pip 安装时,上一个版本中引入的导入错误。
v0.22.0
发布于 2018-08-08 - GitHub - PyPI
将 iml
中的 JS 代码集成到 shap
中,以简化依赖关系。在 DeepExplainer
中增加了对更多 TensorFlow 组件的支持。重构了绘图函数,并删除了一些长期弃用的函数。修复了在使用非零参考值时 KernelExplainer 中的错误 (#192)。
v0.21.0
发布于 2018-07-24 - GitHub - PyPI
一个新的 LinearExplainer,可以估计线性模型的 SHAP 值,同时考虑输入特征之间的相关性。
v0.20.2
发布于 2018-07-23 - GitHub - PyPI
修复了 LightGBM 中分类特征的一些问题。还修复了 v.20 API 更改引起的一些问题。
v0.20.1
发布于 2018-07-17 - GitHub - PyPI
这只是一个用于构建 Windows wheel 文件的标签。
v0.20.0
发布于 2018-07-17 - GitHub - PyPI
此版本带来了重大的接口更改。模型的期望值不再包含在返回的 shap_values 数组的最后一列。相反,可以通过 explainer.expected_value
访问它。这将使未来的事情更加清晰,因为 shap_values 矩阵的形状现在将与模型的输入数组完全相同。这对于具有多维输入张量的深度学习模型尤其重要。请注意,由于此更改,shap.force_plot()
现在需要模型的期望(基准)值作为第一个参数。
v0.19.5
发布于 2018-07-13 - GitHub - PyPI
除了其他内容外,还增加了对嵌入层和 LSTM dropout 的支持。
v0.19.4
发布于 2018-07-12 - GitHub - PyPI
DeepExplainer 现在支持 LSTM 使用的 TensorFlow 组件。
V0.19.3: v0.19.3
发布于 2018-07-07 - GitHub - PyPI
DeepExplainer 和 GradientExplainer 的完整功能实现现已可用。
v0.19.2
发布于 2018-06-29 - GitHub - PyPI
修复了解释 sklearn 模型时的一个重要错误 (#137)。
v0.19.1
发布于 2018-06-28 - GitHub - PyPI
这标志着在潜在的接口更改之前的最后一个版本,以支持 DeepExplainer 中的多维输入。