更新日志

你可以在GitHub releases中找到最新的更改

0.15.1 (2024年4月)

  • 此版本修复了macOS上的构建失败以及UpliftTreeClassifier中的一些错误。

  • 我们有两位新的贡献者,@lee-junseok 和 @IanDelbridge。感谢你们的贡献!

更新

新贡献者

0.15.0 (2024年2月)

  • 在此版本中,除了修复了大量错误外,我们还改进了文档,清理了依赖项,并改进了安装过程。

  • 我们有三位新的贡献者,@peterloleungyau、@SuperBo 和 @ZiJiaW,他们向 CausalML 提交了他们的第一个 PR。@erikcs 也为 @ras44 的 PR #729 做出了贡献,将他的 MAQ 实现的包装器添加到 CausalML 中。感谢你们的贡献!

更新

新贡献者

0.14.1 (2023年8月)

  • 此版本主要解决了安装问题并相应地更新了文档。

  • 我们有4位新的贡献者。@bsaunders27, @xhulianoThe1, @zpppy, 和 @bsaunders23。感谢你们的贡献!

更新

新贡献者

0.14.0 (2023年7月)

  • CausalML在PyPI上的下载量超过了2百万次,在GitHub上获得了4,100颗星。感谢您选择CausalML并在GitHub上支持我们。

  • 我们有7位新的贡献者:@darthtrevino, @ras44, @AbhishekVermaDH, @joel-mcmurry, @AlxClt, @kklein, 和 @volico。感谢你们的贡献!

更新

新贡献者

0.13.0 (2022年9月)

  • CausalML在PyPI上的下载量超过了1百万次,在GitHub上获得了3,200颗星。感谢您选择CausalML并在GitHub上支持我们。

  • 我们有7位新的贡献者@saiwing-yeung, @lixuan12315, @aldenrogers, @vincewu51, @AlkanSte, @enzoliao, 和 @alexander-pv。感谢你们的贡献!

  • @alexander-pv 改进了 CausalTreeRegressor 并添加了 CausalRandomForestRegressor,使其与 scikit-learn 的 Cython 树模块集成更加无缝。他还添加了与 shap 的集成,用于因果树/随机森林的解释。请查看 示例笔记本

  • 我们放弃了对Python 3.6的支持,并移除了其测试工作流程。

更新

0.12.3 (2022年2月)

此补丁是为了发布一个版本,解除Shap在Conda中使用的限制。

更新

  • #483 by @ppstacy: 修改Shap的需求版本

0.12.2 (2022年2月)

此补丁包括由@tonkolviktor和@heiderich提供的三个更新。我们还将开始使用black,一个Python格式化工具。请查看更新的贡献指南以了解如何使用它。

更新

  • #473 by @tonkolviktor: 打开 scipy 依赖版本

  • #476 by @heiderich: 使用首选的joblib后端,而不是硬编码

  • #477 by @heiderich: 允许UpliftRandomForestClassifier进行并行预测,并使joblib的首选后端可配置

0.12.1 (2022年2月)

此补丁包括对UpliftRandomForestClassifier的两个错误修复,如下所示:

更新

  • #462 by @paullo0106: 在应用验证数据集时,为fillTree()使用正确的treatment_idx

  • #468 by @jeongyoonlee: 将UpliftRandomForestClassifier的joblib后端切换为线程,以避免在树之间进行内存复制

0.12.0 (2022年1月)

更新

  • 更新关于工具变量方法的文档 @huigangchen (#447)

  • 添加基准模拟研究示例笔记本 by @t-tte (#443)

  • 为R-learner添加sample_weight支持,由@paullo0106 (#425)

  • 修复了由@jeongyoonlee在UpliftTreeClassifier中数值特征分箱不正确的问题 (#420)

  • 更新论文、演讲和出版物信息到README和refs.bib,由@zhenyuz0500 (#410 #414 #433)

  • 添加关于contributing.md文档的说明,由@jeongyoonlee提供 (#408)

  • 修复由@paullo0106提供的错误特征重要性计算逻辑 (#406)

  • 通过@paullo0106添加了对NearestNeighbors搜索的并行作业支持,使用n_jobs参数 (#389)

  • 修复由@jroessler在simulate_randomized_trial中的bug (#385)

  • 由 @ppstacy 添加 GA pytest 工作流 (#380)

0.11.0 (2021-07-28)

主要更新

  • 使tensorflow依赖变为可选,并添加对python 3.9的支持,由@jeongyoonlee (#343)

  • 添加由@jroessler提出的delta-delta-p (ddp)树推断方法 (#327)

  • 为Python 3.6、3.7和3.8添加conda环境文件,由@jeongyoonlee (#324)

小更新

  • 修复了由@paullo0106在提升树中特征重要性计算不一致的问题 (#372)

  • 修复了由@manojbalaji1提交的数据中存在NaN时过滤器方法失败的问题 (#367)

  • 由@jeongyoonlee添加自动包发布 (#354)

  • 修复由@jeongyoonlee在unit_selection优化中的拼写错误 (#347)

  • 修复文档构建失败,由 @jeongyoonlee (#335)

  • 将pandas输入转换为numpy在S/T/R学习者中,由@jeongyoonlee (#333)

  • 在setup.py中将scikit-learn作为依赖项要求由@ibraaaa (#325)

  • 修复了当将Outcome和Effect学习者传递给R-Learner时出现的AttributeError,由@paullo0106 (#320)

  • 修复当KL散度过滤器没有正类时的错误,由@lleiou提交 (#311)

  • 根据@maccam912的要求,在setup.py中为requirements.txt添加cython和numpy的版本 (#306)

0.10.0 (2021-02-18)

主要更新

  • 添加策略学习器、DR学习器、DRIV学习器,由@huigangchen (#292)

  • 为CEVAE添加包装器,这是一个由@ppstacy(#276)开发的基于深度潜在变量和变分自编码器的模型。

小更新

  • 通过@jeongyoonlee将propensity_learner添加到R-learner中 (#297)

  • 添加BaseLearner类,供其他元学习器继承,避免代码重复,由@jeongyoonlee贡献 (#295)

  • 修复由@paullo0106提出的Shap>=0.38.1的安装问题 (#287)

  • 修复由@jeongyoonlee (#283) 引起的sklearn>= 0.24的导入错误

  • 修复了由@surajiyer在Filter方法中对某些数据集出现的KeyError问题 (#281)

  • 修复由@vaclavbelak提交的多个模型累积提升分数计算不一致的问题 (#273)

  • 修复了由@manojbalaji1在特征选择方法中处理重复值的问题 (#271)

  • 修复SHAP摘要图的颜色光谱,用于元学习者的特征解释,由@paullo0106 (#269)

  • 添加IIA和价值优化相关文档 by @t-tte (#264)

  • 修复StratifiedKFold参数以用于倾向得分估计,由@paullo0106贡献 (#262)

  • 使用字符串格式参数重构代码,并比较对象类型,通过@harshcasper将不使用绑定实例的方法更改为静态方法(#256, #260

0.9.0 (2020-10-23)

  • CausalML在UberML’20的海报展示环节中获得了一等奖

  • DoWhy 从 v0.4 开始集成了 CausalML (release note)

  • CausalML团队欢迎新的项目领导,Mert Bay

  • 我们有4位新的社区贡献者,Mario Wijaya (@mwijaya3)、Harry Zhao (@deeplaunch)、Christophe (@ccrndn) 和 Georg Walther (@waltherg)。感谢他们的贡献!

主要更新

  • 通过@yungmsh将特征重要性及其可视化添加到UpliftDecisionTrees和UpliftRF中 (#220)

  • 通过@paullo0106添加使用过滤方法的特征选择示例 (#223)

小更新

  • 通过@waltherg实现通用接口的倾向模型抽象 (#223)

  • 修复由 @yungmsh 和 @ppstacy 在 BaseSClassifier 和 BaseXClassifier 中的错误 (#217), (#218)

  • 修复由@paullo0106提交的UpliftDecisionTrees的parentNodeSummary问题 (#238)

  • 添加 pd.Series 用于倾向评分条件检查,由 @paullo0106 (#242)

  • 修复由@ppstacy提出的uplift随机森林预测输出 (#236)

  • 通过@mwijaya3为优化模块的初始化添加函数和方法 (#228)

  • 安装 GitHub Stale App 以自动关闭不活跃的问题 @jeongyoonlee (#237)

  • 由 @deeplaunch, @ccrndn, @ppstacy 更新文档 (#214, #231, #232)

0.8.0 (2020-07-17)

CausalML 超过了 100,000 次下载!感谢您的支持。

主要更新

  • 将价值优化添加到 optimize 由 @t-tte (#183)

  • 将反事实单位选择添加到optimize中,由@t-tte (#184)

  • 通过@ppstacy添加敏感性分析到metrics (#199, #212)

  • 添加iv估计器子模块,并通过@huigangchen添加2SLS模型(#201

小更新

  • 添加 GradientBoostedPropensityModel 由 @yungmsh (#193)

  • 通过@yluogit添加协变量平衡可视化 (#200)

  • 修复由 @ppstacy 在 X 学习器倾向模型中的错误 (#209)

  • 更新包依赖由 @jeongyoonlee (#195, #197)

  • 更新文档由 @jeongyoonlee, @ppstacy 和 @yluogit (#181, #202, #205)

0.7.1 (2020-05-07)

特别感谢我们的新社区贡献者,Katherine (@khof312)!

主要更新

  • 通过@yungmsh在倾向得分匹配中根据匹配列数的因子调整匹配距离 (#157)

  • 添加基于TMLE的AUUC/Qini/lift计算和绘图,由@ppstacy (#165)

小更新

  • 修复拼写错误并更新文档,由 @paullo0106, @khof312, @jeongyoonlee 提交 (#150, #151, #155, #163)

  • 修复了UpliftTreeClassifier.kl_divergence()pk == 1 or 0的错误,由@jeongyoonlee (#169)提交

  • 修复了在没有倾向评分输入的情况下BaseRRegressor.fit()中的错误,由@jeongyoonlee提交 (#170)

0.7.0 (2020-02-28)

特别感谢我们的新社区贡献者,Steve (@steveyang90)!

主要更新

  • 添加一个新的nn推理子模块,包含由@yungmsh实现的DragonNet

  • 添加一个新的特征选择子模块,包含由@zhenyuz0500提供的过滤特征选择方法

小更新

  • 在所有元学习器中使倾向得分成为可选项,由@ppstacy提供

  • eli5的排列重要性替换为sklearn的,由@yluogit提供

  • propensity.py中将ElasticNetCV替换为LogisticRegressionCV,由@yungmsh完成

  • 修复由@jeongyoonlee提供的负ATE的标准化提升曲线图

  • 修复由 @steveyang90 提交的来自分叉仓库的 PR 的 TravisCI FOSSA 错误

  • 添加关于树可视化的文档,由@zhenyuz0500提供

0.6.0 (2019-12-31)

特别感谢我们的新社区贡献者,Fritz (@fritzo)、Peter (@peterfoley) 和 Tomasz (@TomaszZamacinski)!

  • 通过@jeongyoonlee将UpliftTreeClassifier的速度提高了4倍

  • 修复由@TomaszZamacinski在CausalTreeRegressor中的杂质计算问题

  • 修复由@peterfoley引起的XGBoost相关警告

  • 修复拼写错误并改进文档,由 @peterfoley 和 @fritzo 提供

0.5.0 (2019-11-26)

特别感谢我们的新社区贡献者,Paul (@paullo0106) 和 Florian (@FlorianWilhelm)!

  • 添加TMLELearner,目标最大似然估计器到inference.meta,由@huigangchen

  • 为DGPs添加一个回归选项,以模拟不平衡的倾向分布,由@huigangchen提供

  • 修复不正确的边缘连接,并在提升树图中添加更多信息 by @paullo0106

  • 修复由@FlorianWilhelm提出的与Cythonnumpy相关的安装错误

  • setup.py中移除对Python 2的支持,由@jeongyoonlee完成

  • 更新 causaltree.pyx Cython 代码以兼容 scikit-learn>=0.21.0,由 @jeongyoonlee 完成

0.4.0 (2019-10-21)

  • 添加 uplift_tree_plot()inference.tree 以可视化 UpliftTreeClassifier 由 @zhenyuz0500

  • Explainer类添加到inference.meta中,以使用SHAPeli5PermutationImportance提供特征重要性,由@yungmsh提供

  • 为元学习者的平均治疗效果估计添加自举置信区间,由@ppstacy提供

0.3.0 (2019-09-17)

  • 扩展元学习器以支持分类 by @t-tte

  • 扩展元学习器以支持多种治疗方法 by @yungmsh

  • 修复了提升曲线中的一个错误,并由@jeongyoonlee将Qini曲线/分数添加到metrics

  • 添加 inference.meta.XGBRRegressor,带有早期停止和排名优化,由 @yluogit 提供

0.2.0 (2019-08-12)

  • 添加基于Athey和Wager 2017的optimize.PolicyLearner [6]

  • 添加基于Athey和Imbens 2016 [4]CausalTreeRegressor估计器(实验性)

  • features.py中添加缺失的导入,以便在LabelEncoder()中启用对稀有值进行分组的标签编码。

  • 修复了一个导致inference.meta.tlearner.predict()中训练和预测特征不匹配的错误

0.1.0 (未发布)

  • 初始发布包含Uplift Random Forest和S/T/X/R-learners。