发布说明
要查看下一版本即将发布的最新更改,请参阅 v0.49.0…master。
v0.49.0
发布于 2025-10-14 - GitHub - PyPI
变更内容
注意:这是最后一个支持 Python 3.9 和 Python 3.10 的版本。从 v0.50.0 开始,我们将仅支持 Python 3.11 及以上版本。
其他变更
- plots.image 如果提供,则为每一行显示标签,由 @julesvanrie 在 #4113 中实现
- 使用 nbtest,由 @CloseChoice 在 #4143 中实现
- 为 PyTorch 的 Flatten添加支持,由 @RoyiAvital 在 #4148 中实现
- 更新 .save() 和 .load() 方法以移除 Explainer 和 Serializer 中的 AttributeError,由 @oscarl77 在 #4155 中实现
- 修复 LGBMRegressor 缺少 objective 错误的问题,由 @imatiach-msft 和 @CloseChoice 在 #1063 中实现
- 通过为特征名称添加字符串转换来修复数字特征分支中潜在的 TypeError #4150,由 @YunyuG 在 #4159 中实现
- 改进 Coalition Explainer 用户指南并修复树构建,由 @EnzoFanAccount 在 #4116 中实现
新的贡献者
- @diego-pm 在 #4110 中首次做出贡献
- @julesvanrie 在 #4113 中首次做出贡献
- @Helias 在 #4141 中首次做出贡献
- @oscarl77 在 #4155 中首次做出贡献
- @FanwangM 在 #4119 中首次做出贡献
- @YunyuG 在 #4159 中首次做出贡献
- @EnzoFanAccount 在 #4116 中首次做出贡献
- @nqviller 在 #4171 中首次做出贡献
完整变更日志: v0.48.0...v0.49.0
v0.48.0
发布于 2025-06-12 - GitHub - PyPI
变更内容
新增
- 添加 CoalitionExplainer 并在 Partition Explainer 中增加了使用 Winter 值的可能性,由 @CousinThrockmorton 在 #3666 中实现
- 支持并测试 Python 3.13,由 @connortann 在 #3861 和 @CloseChoice 在 #4104 中实现
- 为 PyTorch 的 Identity层添加支持,由 @RoyiAvital 在 #4028 中实现
文档
- 更新“解释一个使用标准化特征的模型”,由 @randombenj 在 #3903 中实现
其他变更
- 更改别名,由 @Ja-Tink 在 #4049 中实现
- 更新 javascript 包,由 @CloseChoice 在 #4067 中实现
- 修复了小 SHAP 值的视觉错误,由 @Ja-Tink 在 #4053 中实现
- 修复 summary_plot 仅显示一个特征的问题 4081,由 @CloseChoice 在 #4087 中实现
- 解决 regex 库的线程警告,由 @emmanuel-ferdman 在 #4084 中实现
新的贡献者
- @RoyiAvital 在 #4028 中首次做出贡献
- @Ja-Tink 在 #4049 中首次做出贡献
- @emmanuel-ferdman 在 #4084 中首次做出贡献
- @randombenj 在 #3903 中首次做出贡献
- @CousinThrockmorton 在 #3666 中首次做出贡献
完整变更日志: v0.47.2...v0.48.0
v0.47.2
发布于 2025-04-17 - GitHub - PyPI
变更内容
新增
- 添加实验性的 causalml 支持,由 @alexander-pv 在 #3273 中实现
其他变更
- 文档:在 Simple California Demo.ipynb中阐明分区树解释,由 @ethanknights 在 #4027 中实现
- 修复:唯一值抖动,由 @fabianliebig 在 #4041 中实现
- 修复:修正 SHAP 值描述中的中性语言,由 @Hrafz 在 #4058 中实现
- 修复:为 javascript 绘图组件添加回归测试并增加测试用例,由 @CloseChoice 在 #4060 中实现
新的贡献者
- @ethanknights 在 #4027 中首次做出贡献
- @Hrafz 在 #4058 中首次做出贡献
完整变更日志: v0.47.1...v0.47.2
v0.47.1
发布于 2025-03-22 - GitHub - PyPI
修复
- 修复摘要小提琴图中的回归问题,由 @CloseChoice 在 #4033 中实现
- 修复新 scikit 版本中树模型对缺失数据计算出不正确 SHAP 值的问题,由 @sunruslan 在 #3998 中实现
- 修复调用 check_additivity 时容差过紧的问题,由 @adamwitmer 在 #3993 中实现
- 修复提取颜色时出现的 AttributeError,由 @fabianliebig 在 #4017 中实现
- 修复 uint32 溢出导致的可加性检查失败,由 @arhall0 在 #4006 中实现
新的贡献者
- @adamwitmer 在 #3993 中首次做出贡献
- @fabianliebig 在 #4017 中首次做出贡献
- @sunruslan 在 #3998 中首次做出贡献
- @arhall0 在 #4006 中首次做出贡献
完整变更日志: v0.47.0...v0.47.1
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 的 colorconv,由 @connortann 在 #3785 中实现
- 修复 shap.plots.image 中多行标签选项的问题,由 @SFatemehM 在 #3636 中实现
- 修复 transformers,由 @costrau 在 #3578 中实现
- 修复仅含关键字参数操作的 OpChain repr,由 @thatlittleboy 在 #3838 中实现
- 修复摘要图中多分类的错误图形,由 @46319943 在 #3836 中实现
- 修复多分类情况下的摘要图问题,由 @CloseChoice 在 #3925 中实现
- 修复颜色图,由 @CloseChoice 在 #3909 中实现
文档
- 修复 shap.datasets.communitiesandcrime 文档中的错误,由 @TommyGiak 在 #3846 中实现
- 修复“理解 Tree SHAP”笔记本中的列索引,由 @operte 在 #3749 中实现
- 重新格式化 API 示例中的散点图笔记本,由 @Xovee 在 #3752 中实现
- 改进散点图的类型提示和文档,由 @connortann 在 #3811 中实现
- 为一些外部链接使用 intersphinx,由 @thatlittleboy 在 #3851 中实现
- 为可复现性固定文档依赖项,由 @connortann 在 #3885 中实现
- 修复 force plot 中 LightGBM 的拼写错误和描述,由 @davidefiocco 在 #3962 中实现
- 修复:修复了引言中某些章节标题的 markdown 问题,由 @CSantos01 在 #3957 中实现
- 修复引言笔记本中 beeswarm 图的注释,由 @davidefiocco 在 #3960 中实现
维护
- 修复:在测试中显式设置 matplotlib 插值 rcParams,由 @connortann 在 #3953 中实现
其他变更
- 在 MacOS runner 上跳过情感分析测试,由 @connortann 在 #3955 中实现
- 移除已弃用且未使用的代码 _build_delta_masked_inputs和Explainer._compute_main_effects,由 @connortann 在 #3856 中实现
- 为保持一致性,改进 TreeExplainer 的 approximate参数处理,并在 explainer 的 init 方法中弃用该参数,由 @CloseChoice 在 #3834 中实现
- 重构 Tree explainers 中的 feature_perturbation,由 @glemaitre 在 #2624 中实现
- 测试决策图,由 @CloseChoice 在 #3720 中实现
- 升级 ruff,修复规则 E721,由 @connortann 在 #3751 中实现
- 重构绘图工具和颜色,由 @thatlittleboy 在 #3833 中实现
- 重构并优化解释操作,由 @thatlittleboy 在 #3850 中实现
- 修复 CI feedstock 构建,由 @CloseChoice 在 #3862 中实现
- 为多输出队列调用添加错误,由 @CloseChoice 在 #3870 中实现
- 修复 beeswarm.ipynb 中的拼写错误,由 @kamurani 在 #3900 中实现
- DeepExplainer 文档字符串改进,由 @anitagraser 在 #3892 中实现
- 在生成新的摘要图前清除绘图,以避免颜色条重叠,由 @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 模型相关的错误。
变更内容
新增
- 为 pytorch deep explainer 添加 selu 激活函数,由 @CloseChoice 在 #3617 中实现
- 为热力图绘图函数添加 "ax" 选项,由 @sroener 在 #3571 中实现
变更
- 从数据集函数中移除未使用的 "display" 参数,由 @LakshmanKishore 在 #3543 中实现
已修复
- 修复了加载带有指数损失的 XGBoost 模型的问题,由 @CloseChoice 在 #3616 中实现
- 修复了 deep explainer 的调用接口,由 @CloseChoice 在 #3558 中实现
- 修复了使用 Falcon 语言模型进行文本生成的问题,由 @CloseChoice 在 #3592 中实现
- 修复了 lightgbm 编译问题(macOS 工作流),由 @bewygs 在 #3632 中实现
- 修复了加载带有指数损失的 XGBoost 模型的问题,由 @CloseChoice 在 #3616 中实现
以及由 @bewygs、@CloseChoice、@Hugh-OBrien 提供的若干文档和维护更新
新的贡献者
完整变更日志: v0.45.0...v0.45.1
v0.45.0
发布于 2024-03-08 - GitHub - PyPI
这是一个相当重要的版本,包含一些重大变更。
感谢许多新贡献者为本次发布做出的贡献!我们渴望扩大维护者团队,如果您有兴趣成为团队的一员,请在 #3559 与我们联系。
变更内容
重大变更
- 在 #3414 中放弃了对 3.8 的支持
- 在某些情况下更改了返回的 SHAP 值的类型和形状,以与模型输出保持一致。具有多个输出的模型的 SHAP 值现在是 np.ndarray 而不是 list,由 @CloseChoice 在 #3318 中实现
- 移除了 TreeExplainer 和 LinearExplainer 中已弃用的 feature_dependence参数,由 @thatlittleboy 在 #3340 中实现
- 移除了 Coefficient 的已弃用别名,由 @connortann 在 #3511 中实现
新增
- 增加了对 python 3.12 的支持,由 @connortann 在 #3414 中实现
- 增加了对近期 CUDA 版本的 GPU 构建支持,由 @trivialfis 在 #3462 中实现
- 通过延迟导入 pytorch 使导入时间加快 2 倍,由 @connortann 在 #3533 中实现
- 增加了在条形图中返回 matplotlib 图形的支持,由 @richarddli 在 #3494 中实现
- 为 tensorflow deep explainer 添加 selu 激活函数,由 @CloseChoice 在 #3504 中实现
- 增加了对 catboost 模型中特殊字符的支持,由 @CloseChoice 在 #3506 中实现
- 增加了控制 beeswarm图中标记大小的功能,由 @MonoHue 在 #3530 中实现
已修复
- 修复了 XGBoost 模型加载问题,由 @trivialfis 在 #3462 中实现
- 修复了使用某些分词器时的文本掩码问题,由 @costrau 在 #3536 中实现
- 修复了使用 KernelExplainer 解释 tensorflow 模型时的问题,由 @connortann 在 #3542 中实现
- 修复了 force_plot 对负贡献值的贡献阈值问题,由 @connortann 在 #3547 中实现
- 由 @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
修复力图显示问题的补丁版本。
已修复
- 由 @CloseChoice 在 #3464 中修复了影响力图显示的 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 中启用了向 group_difference()图传递ax参数的功能
- 由 @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图中数组重塑相关的错误
文档
- 由 @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 中移除了已弃用的波士顿数据集
- Explanation.base_values的形状在不同的 TreeExplainer 模型之间已标准化,始终为- (N,)而非- (N,1)。由 @thatlittleboy 在 #3121 中完成
新增
- 由 @noxthot 在 #3265 中为 Pytorch DeepExplainer 添加了可加性检查(默认激活)
- 添加了标志以允许多输出条形图的图例中打印平均 SHAP 值。由 @101AlexMartin 在 #3062 中完成
- 由 @connortann 在 #3157 中将热力图和小提琴图添加到顶层 API
- 由 @owenlamont 在 #3199 中将所有 tqdm 导入替换为 tqdm.auto
已修复
- 由 @thatlittleboy 在 #3093 中修复了在 MacOS 上使用 lightgbm 测试时(使用较新版本的 libomp)出现的段错误
- 由 @thatlittleboy 在 #3094 中支持包含单叶树(树桩)的 LightGBM 集成模型
- 由 @danieleongari 在 #3131 中修复了将 DataFrame 转换为 Explanation.data 的 ndarray 的问题
- 由 @connortann 在 #3138 中修复了 sklearn 树模型解释的瀑布图
- 由 @Koen-Git 在 #3153 中修复了梯度解释器的 pandas 输入问题
- 由 @thatlittleboy 在 #3126 中修复了在具有方形 .values的 Explanation 对象中对feature_names的切片问题
- 由 @zaburo-ch 在 #2839 中修正了当力的符号都相同时 force_matplotlib 中的 xlim
- 由 @CloseChoice 在 #3294 中修复了当 col_sample < 1 时的 ngboost 解释
- 由 @noxthot 在 #3281 中修复了 PyTorch DeepExplainer 中的 torch 可加性检查
- 由 @znacer 在 #3264 中用警告替换了 DeepExplainer 中的 print 语句
- 由 @noxthot 在 #3259 中替换了已弃用的 register_backward_hook()
- 由 @CloseChoice 在 #3306 中修复了已弃用的 xgboost early_stopping_rounds 的使用
- 由 @connortann 在 #3084 中修复了第三方弃用警告:numba、xgboost、typing、distutils
- 由 @connortann 在 #2974 中更新了 Javascript 包以更新已弃用的依赖项
教程和示例也得到了大量改进,贡献者包括 @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。
已修复
- 由 @thatlittleboy 在 #3076 中修复了 shap.benchmark 的循环导入问题。
- 由 @connortann 在 #3068 中修复了 TestPyPI 发布工作流
- 由 @thatlittleboy 在 #3073 中修复了更多不稳定的测试
- 由 @jklaise 在 #2697 中修复了 shap.summary_plot 以使其与 matplotlib 3.6.0 兼容
- 由 @thatlittleboy 在 #3076 中修复了 benchmark 的顶层导入
- 由 @connortann 在 #3090 中修复了顶层 shap 导入引起的 ipython 导入警告
完整更新日志: v0.42.0...v0.42.1
v0.42.0
发布于 2023-07-06 - GitHub - PyPI
此版本包含了许多最初由 SHAP 社区通过 @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 贡献)。
- 防止 TreeExplainer.__call__在传递包含分类列的 pandas DataFrame 时抛出 ValueError(fork#88 由 @thatlittleboy 贡献)。
- 修复了 shap.datasets中的采样问题,改为无放回采样(fork#36 由 @thatlittleboy 贡献)。
- 修复了因向 shap.plots.bar传递字典输入而引起的UnboundLocalError问题(#3001 由 @thatlittleboy 贡献)。
- 修复了使用 Gradient时 Pyspark 的 tensorflow 导入问题(#2983 由 @skamdar 贡献)。
- 修复了 shap.plots.heatmap中颜色条的纵横比,并在内部使用axmatplotlib 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 贡献)。
已移除
- 弃用了波士顿房价数据集(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 贡献)。
- 引入了一套最小的 rufflinting(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 贡献)。
- 引入了用于可复现模糊测试的 fixtures(#3048 由 @connortann 贡献)。
v0.41.0
发布于 2022-06-16 - GitHub - PyPI
大量的错误修复和 API 改进。
- 由 @TheZL @lrjball 修复了 XGBoost 模型加载的罕见错误
- 由 @ravwojdyla 修复了 beeswarm 图,使其不再修改传入的解释对象
- 由 @quantumtec 使用 GH actions 实现自动 wheel 构建
- 由 @Qingtian-Zou 在 KernelExplainer 中进行 GC 内存回收
- 修复了 PartitionExplainer 的 max_evals 参数
- 对 PartitionExplainer 进行 JIT 优化
- 修复颜色条格式问题 @SleepyPepperHead
- 新的基准测试笔记本
- 尽可能使用 display_data 进行绘图 @yuuuxt
- 改进 GPUTreeShap 编译和参数 @RAMitchell
- 修复 DeepExplainer 中的 TF API 变更 @filusn
- 为绘图添加 torch 张量支持 @alexander-pv
- 将测试从 Travis 切换到 Github actions
- 新的加州演示数据集 @swalsh1123
- 修复瀑布图错误 @RichardScottOZ
- 处理 matplotlib 未安装的情况 @klieret
- 为 Additive explainer 添加 linearize 链接支持 (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 提供的新文档
- 由 @PrimozGodec 提供的新 wheel 构建
- 由 @gialmisi 改进了文档的暗黑模式
- 由 @c56pony @nsorros @jebarb 进行的 api 调整
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 的支持。具体改进包括
- 由 @ryserrao 贡献的 Text 解释器中的 Transformer 模型支持
- 由 @RAMitchell 贡献的 Interventional Tree 解释器 GPU 支持
- 由 @anusham1990 贡献的图像字幕模型支持
- 由 @maggiewu19 贡献的基准测试改进
- 由 @vivekchettiar 贡献的新的文本和图像可视化
- 由 @vivekchettiar 贡献的新的解释器序列化支持
- 由 @heimengqi 贡献的 Linear 解释器和新 API 的错误修复
- 由 @jeffreyftang 贡献的分类图修复
- 由 @JohnZed 贡献的 CUDA 支持改进
- 由 @vasilismsr 贡献的对 econML 模型的支持
- 许多其他的错误修复和 API 改进。
v0.37.0
发布于 2020-11-04 - GitHub - PyPI
此版本包含对新 API 的更多支持、许多错误修复以及对模型无关的文本/图像解释器的初步支持(仍为测试版)。具体贡献包括
- 由 @tcbegley 修复 Sampling 解释器样本计数问题
- 添加多条形图绘制支持。
- 对群组的初步支持。
- 由 @suragnair 修复导入错误
- 由 @zhanjiezhu 修复 Tree 解释器在使用 max_features < 1 的隔离森林时的问题
- 由 @lrjball 进行的大量文档清理和更新
- 由 @anusham1990 修复拼写错误
- 为 Exact 解释器添加了文档笔记本。
- 由 @anusham1990 和 Ryan Serrao 贡献的文本和图像解释器
- 修复 shap.utils.hclust 的错误
- 对 InterpretML EBM 模型的初步支持。
- 为 Explainer 对象添加了列分组功能。
- 由 @quentinRaq 修复 PyTorch 中 Deep 解释器的 for 循环索引错误
- 由 @vivekchettiar 贡献的文本到文本可视化的初步概念
- 由 @wangjoshuah 修复颜色转换警告
- 由 @PrimozGodec 使用伪逆修复 Kernel 解释器中的可逆性问题
- 由 @maggiewu19 和 @vivekchettiar 贡献的新基准测试代码
- 其他小的错误修复和增强。
v0.36.0
发布于 2020-08-27 - GitHub - PyPI
此版本对 SHAP 代码库进行了重大重构,形成了一个新的(更清晰的)API。应保持完全的向后兼容性,但现在大多数功能都可以在具有新 API 的位置找到。请注意,此 API 仍处于测试阶段,因此在下个版本发布前,请勿在生产代码中依赖它。亮点包括
- 一个新的 shap.Explainer 对象,可根据给定的模型和掩码数据集自动选择解释器。
- 一个新的 shap.Explanation 对象,允许并行切片数据、SHAP 值、基准值(期望值)和其他特定于解释的元素。
- 一个新的 shap.maskers.* 模块,将各种掩码(即扰动/隐藏)特征的方式与算法本身分离开来。
- 一个新的 shap.explainers.Partition 解释器,可以非常快速地解释任何文本或图像模型。
- 一个新的 shap.maskers.Partition 掩码器,可确保紧密分组的特征被一致地扰动,从而防止“不切实际”的模型输入不当地影响模型预测。它还允许对“结构化博弈”(联盟根据层次聚类进行结构化)的 SHAP 值进行精确的二次时间计算。
- 一个新的 shap.plots.* 模块,其中包含支持新 API 的 revamped 绘图类型。绘图现在命名更直接,因此 summary_plot(默认)变为beeswarm,dependent_plot变为scatter。并非所有绘图都已移植到新 API,但大多数已经完成。
- 一个新的 notebooks/plots/* 目录,给出了如何使用新绘图函数的示例。
- 一个新的 shap.plots.bar 函数,可直接创建条形图,并显示层次聚类结构以将冗余特征分组在一起,并显示 Partition 解释器使用的结构(该解释器依赖于 Owen 值,这是 Shapley 值的扩展)。
- 由 @jameslamb 贡献的相等性检查修复
- 由 @PrimozGodec 贡献的稀疏 kmeans 支持
- 由 @rightx2 贡献的 Pytorch 错误修复
- 由 @SachinVarghese 贡献的 NPM JS 代码清理
- 由 @ehuijzer 贡献的 logit 力图错误修复
- 由 @floidgilbert 贡献的决策图文档更新
- 由 @ChemEngDataSci 贡献的 sklearn GBM 修复
- 由 @lrjball 贡献的 XGBoost 1.1 修复
- 由 @QuentinAmbard 使 SHAP spark 可序列化
- 由 @nasir-bhanpuri 贡献的自定义摘要图颜色映射
- 由 @YotamElor 贡献,KernelSHAP 现支持字符串输入
- 由 @imatiach-msft 贡献,修复了文档
- 由 @fabsig 贡献,支持 GPBoost
- 由 @gracecarrillo 和 @aokeson 贡献,修复了导入错误
0.35.0
发布于 2020-02-27 - GitHub - PyPI
此版本包括
- 更好地支持 TensorFlow 2(感谢 @imatiach-msft)
- TreeExplainer 支持 NGBoost 模型(感谢 @zhiruiwang)
- TreeExplainer 支持新的 sklearn.ensemble.HistGradientBoosting 模型。
- 针对图像和文本的新版改进型 PartitionExplainer。
- 由 @DorianCzichotzki 贡献,兼容 IBM zOS。
- 支持 XGBoost 1.0
- 由 Ivan、Christian Paul、@RandallJEllis 和 @ibuda 贡献,修复了许多错误。
0.34.0
发布于 2019-12-27 - GitHub - PyPI
此版本包括
0.33.0
发布于 2019-12-11 - GitHub - PyPI
此版本包含各种错误修复和新功能,包括
- 由 @QuentinAmbard 贡献,为 TreeExplainer 添加了 PySpark 支持
- 一种可替代 force_plot 的新绘图类型:waterfall_plot
- 一个新的 PermutationExplainer,可替代 KernelExplainer 和 SamplingExplainer。
- 由 @s6juncheng 贡献,为 PyTorch 的 GradientExplainer 添加了 return_variances功能
- 由 @ssaamm 贡献,现在我们在 TreeExplainer 中使用异常而不是断言
- 由 @Jimbotsai 贡献,修复了 image_plot 的转置问题
- 由 Lasse Valentini Jensen 贡献,修复了颜色条坐标轴附加问题
- 由 @gabrieltseng 贡献,修复了 PyTorch 中的张量附加问题
- 由 @joelostblom 贡献,修复了 summary_pot 中的颜色裁剪范围
- 由 @lemon-yellow 贡献,解决了 sklearn 0.22 的 API 变更问题
- 由 @imatiach-msft 贡献,确保 matplotlib 是可选依赖项
0.32.1
发布于 2019-11-06 - GitHub - PyPI
此版本旨在从 travis 和 appveyor 推送更好的自动部署包。
0.32.0
发布于 2019-11-06 - GitHub - PyPI
此版本包括
- 由 @JiechengZhao 贡献,支持 sklearn isolation forest
- 新的 check_additivity 测试,以确保 DeepExplainer 和 TreeExplainer 中没有错误
- 修复 #861, #860
- 修复缺失的 readme 示例 html 文件
- 由 @QuentinAmbard 贡献,支持 spark decision tree regressor
- 由 @parsatorb 贡献,更安全的 isinstance 检查
- 由 @bottydim 贡献,修复了 TF < 2 中的 eager execution 问题
0.31.0
发布于 2019-10-21 - GitHub - PyPI
此版本包含几项新功能和错误修复
- GradientExplainer 现在支持 TensorFlow 2.0。
- 我们现在对绘图依赖项进行惰性加载,这意味着 pip 安装不再需要同时引入 matplotlib、skimage 和 ipython。这将使安装过程更加轻量,特别是对于那些不需要绘图的用户 :)
- 为小型问题添加了新的 BruteForceExplainer,以便于测试和比较。
- 添加了新的 partial_dependence_plot 函数。此函数将用于在未来的示例笔记本中说明偏依赖图和 SHAP 值之间的密切联系。
- 由 @gabrieltseng 贡献,处理 LinearExplainer 中没有截距的多分类情况
- 由 @AbdealiJK 贡献,在 pip 安装期间提供了一些 extras_require 选项
- 其他小的错误修复和更新
0.30.2
发布于 2019-10-09 - GitHub - PyPI
此版本主要是为了移除对 setup.py 中未包含的 dill 依赖项。它还包括
- 由 @jonlwowski012 贡献,修复 force.py 中的一个拼写错误
- 由 @jorgecarleitao 贡献,清理了测试代码
0.30.1
发布于 2019-09-09 - GitHub - PyPI
- 修复了最近 sklearn 版本的树模型中的浮点数舍入不匹配问题
- 更新了 TreeExplainer,使其能更轻松地加载自定义树集成模型。
- 由 @floidgilbert 贡献,更新了 decision_plot文档
0.30.0
发布于 2019-08-31 - GitHub - PyPI
- 由 @floidgilbert 贡献,新增 decision_plot 函数
- 添加新的与模型无关的 PartitionExplainer 的 alpha 版本
- 由 @gabrieltseng 贡献,确保在 DeepExplainer 中,pytorch 的所有数据都在同一设备上
- 由 @imatiach-msft 贡献,修复 lightgbm 的边缘情况问题
- 由 @jamesmyatt 贡献,为 shap 创建 binder 设置
- 由 @gabrieltseng 贡献,允许在 gradient explainer 中使用多个输入
- 由 @jorgecarleitao 贡献,新增 KernelExplainer 单元测试
- 由 @proinsias 贡献,添加 python 2/3 trove 分类器
- 由 @QuentinAmbard 贡献,支持 pyspark 树模型
- 许多其他错误修复由 @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
各种错误修复和改进,包括
- 由 @dvpolyakov 贡献,为 CatBoost 添加二分类的 SHAP 值
- 由 @pmeier-tiplu 贡献,修复了绘图中的整数除法问题
- 由 @mqk 贡献,支持向 dependence_plot 传递 Axes 对象
- 由 @gabrieltseng 贡献,添加自适应平均池化层和卷积转置层
- 由 @hchandola 贡献,修复了缺少 matplotlib 后端时的导入错误
- 由 @prempiyush 贡献,修复 TreeExplainer GradientBoostingClassifier 的错误
- 由 @KOLANICH 贡献,使 tqdm 更好地与 notebooks 配合
- 由 @juliusbierk 贡献,允许 deep_pytorch 使用 cuda 模型
- 由 @nasir-bhanpuri 贡献,修复 sklearn GradientBoostingRegressor 的错误
- 由 @imatiach-msft 贡献,为 shap linear explainer 添加稀疏支持
0.29.1
发布于 2019-05-15 - GitHub - PyPI
修复以支持最新版 sklearn 中的更改
0.29.0
发布于 2019-05-14 - GitHub - PyPI
此版本的一些贡献亮点(按时间顺序)
- 由 @jorgecarleitao 贡献,更好的测试
- 由 @verdimrc 贡献,图像绘图自定义
- 由 @JiechengZhao 贡献,DeepExplainer 中 PyTorch 的 Batch norm 支持
- 由 @gabrieltseng 贡献,为 PyTorch DeepExplainer 添加 Leaky ReLU 和其他卷积层支持
- 由 @moritzaugustin 贡献,修复了 GradientExplainer 中的 Keras 多输入问题并改进了随机种子
- 由 @doramir 贡献,支持 CatBoost ranker
- 由 @imatiach-msft 贡献,将 XGBRanker 和 LGBMRanker 添加到 TreeExplainer
- 由 @andriy-nikolov 贡献,修复 DeepExplainer 中使用 tf.keras 的 embedding lookup 问题
- 由 @rcarneva 贡献,自定义 dependence_plot 颜色图
- 由 @dvpolyakov 贡献,修复 CatBoost 模型可能出现的除零问题
- 大量其他的错误修复/改进!
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 模型时的字节对齐问题。
- 由 @HughChen 贡献,现在与 XGBoost 模型中的 tree_limit 使用相匹配
- 修复了 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 值
- 由 @gabrieltseng 贡献,更新以支持 Pytorch 1.0
- 修复了 sklearn DecisionTreeClassifier 的处理,以正确归一化为概率输出
- 当 feature_dependence="independent"时,为TreeExplainer启用多输出模型支持
- 正确加载 LightGBM 模型的目标函数,用于解释模型损失。
- 修复了与 sklearn 模型的数值精度不匹配问题。
- 通过现在直接从内存而不是 JSON 加载,修复了与 XGBoost 模型的数值精度不匹配问题。
0.27.0
发布于 2019-01-01 - GitHub - PyPI
- 更好的层次聚类排序,现在可以旋转子树以提供更好的连续性。
- 解决了 XGBoost JSON 问题。
- 在进行自动交互检测时考虑 NaNs。
- PyTorch 修复。
- 更新了 LinearExplainer。
0.26.0
发布于 2018-12-12 - GitHub - PyPI
- 完全重构 TreeExplainer 以支持更深层次的 C++ 集成
- 在 TreeExplainer 中能够解释树模型的转换后输出,包括损失。与 @HughChen 合作完成
- 由 @AvantiShri 贡献,允许在 DeepExplainer 中使用动态参考值
- 由 @ihopethiswillfi 贡献,为分类依赖图添加 x_jitter选项
- 由 @dmilad 贡献,添加了对带分位数损失的 GradientBoostingRegressor 的支持
- 更好地支持绘制 NaN 值
- 修复了几个错误。
0.25.2
发布于 2018-11-09 - GitHub - PyPI
- 由 @JasonTam 贡献,允许向 force_plot 传递 ordering_keys
- 由 @imatiach-msft 贡献,修复了 KernelExplainer 中稀疏非零背景的问题
- 修复以支持 DeepExplainer 中的 tf.concat。
0.25.1
发布于 2018-11-08 - GitHub - PyPI
修复了 pip 包中未包含 tree_shap.h 的问题。
0.25.0
发布于 2018-11-07 - GitHub - PyPI
- 由 @gabrieltseng 贡献,在 GradientExplainer 中支持 PyTorch,并在 DeepExplainer 中初步支持 PyTorch。
- 由 @jverre 贡献,提供单样本 force_plot 的 matplotlib 版本。
- 在 GradientExplainer 中支持函数式 Keras 模型。
- KernelExplainer 速度改进。
- 各种性能改进和错误修复。
0.24.0
发布于 2018-08-24 - GitHub - PyPI
新的改进包括:对于稀疏输入,KernelExplainer 执行速度更快。支持 sklearn gradient boosting 分类器。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
修复了 DeepExplainer 在 TensorFlow >= 1.9 上的问题。修复了一个条形图绘制问题。
v0.22.2
发布于 2018-08-08 - GitHub - PyPI
修复了 other explainers 的 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 中的多维输入而可能进行接口更改之前的最终版本。