Releases: uber/causalml
Releases · uber/causalml
v0.15.2
What's Changed
- fix typo in MAINTAINERS.md by @jeongyoonlee in #761
- Update python-publish GHA to build multi-platform wheels by @jeongyoonlee in #762
- Remove build for 32-bit systems that are failing by @jeongyoonlee in #763
- Remove musllinux build by @jeongyoonlee in #765
- Fix issue 764 to handle edge case in one hot encoding transformation by @paullo0106 in #766
- fix #771 and add a test for get/plot_tmlegain() by @jeongyoonlee in #773
- Add an explicit treatment input argument to causaltree/forest by @jeongyoonlee in #776
- Dev/install issues #767 #769 by @ras44 in #778
- Dev/ras44 remove envs 780 by @ras44 in #782
- Many to one propensity matching without replacement by @spohngellert-o in #786
- Update input arguments of XGBoost to be compatible with the latest APIs by @jeongyoonlee in #788
- Make torch optional. Update DragonNet w/ latest TF APIs by @jeongyoonlee in #790
- Update example references by @emmanuel-ferdman in #793
- Up the version to 0.15.2 by @jeongyoonlee in #792
- Update the cibuildwheel version to 2.21 by @jeongyoonlee in #794
- Pin the numpy version to be <2 by @jeongyoonlee in #795
New Contributors
- @spohngellert-o made their first contribution in #786
- @emmanuel-ferdman made their first contribution in #793
Full Changelog: v0.15.1...v0.15.2
v0.15.1
- This release fixes the build failure on macOS and a few bugs in
UpliftTreeClassifier
. - We have two new contributors, @lee-junseok and @IanDelbridge. Thanks for your contributions!
What's Changed
- Relax
pandas
version requirement by @jeongyoonlee in #743 - Remove undefined variables in
match.__main__()
by @jeongyoonlee in #749 - Fix
distr_plot_single_sim()
by @jeongyoonlee in #750 - Add
with_std
,with_counts
tocreate_table_one
by @lee-junseok in #748 - fix stratified sampling call by @IanDelbridge in #756
- 20240207 honest leaf size by @IanDelbridge in #753
- 757: add
return_ci=True
in sensitivity by @lee-junseok in #758 - Update sensitivity tests with more meta-learners by @jeongyoonlee in #759
- manually specify
multiprocessing
use fork insetup.py
by @IanDelbridge in #754 - v0.15.1 release by @jeongyoonlee in #760
New Contributors
- @lee-junseok made their first contribution in #748
- @IanDelbridge made their first contribution in #756
Full Changelog: v0.15.0...v0.15.1
v0.15.0
- In this release, we revamped documentation, cleaned up dependencies, and improved installation - in addition to the long list of bug fixes.
- We have four new contributors, @peterloleungyau, @SuperBo, @ZiJiaW, and @erikcs who submitted their first PRs to CausalML. Thanks for your contributions!
Updates
- Update python-publish.yml by @jeongyoonlee in #673
- Add build.[os, tools.python] to .readthedocs.yml by @jeongyoonlee in #676
- Update notebook example with causal trees interpretation by @alexander-pv in #683
- Remove the numpy and pandas version restriction in pyproject.toml by @jeongyoonlee in #681
- Add governance documents by @jeongyoonlee in #688
- Update GOVERNANCE.md by @ras44 in #691
- Dev/governance docs to snake-case by @ras44 in #693
- Reduce sklearn dependency in causalml by @alexander-pv in #686
- Update MAINTAINERS.md by @jeongyoonlee in #696
- Modified to speed up UpliftTreeClassifier.growDecisionTreeFrom. by @peterloleungyau in #695
- Update README.md by @ras44 in #698
- Add notebook examples to docs by @jeongyoonlee in #697
- resolves change requests in #166 by @ras44 in #701
- Fix the readthedocs build error by @jeongyoonlee in #702
- Replace Stack and PriorityHeap with cpp stack/heap methods in trees by @SuperBo in #700
- Hotfix for #701 by @jeongyoonlee in #705
- Dev/699 win build fix by @ras44 in #710
- expose n_jobs for rlearner by @ZiJiaW in #714
- minimal fix to resolve #707 by @ras44 in #720
- Add Python 3.10, 3.11, 3.12 to the testing by @cclauss in #454
- Remove Python 3.12 from the build tests in python-test.yaml by @jeongyoonlee in #726
- fix plot_std_diffs, add bal_tol, condense to one plot by @ras44 in #723
- Dev/677 documentation by @ras44 in #725
- documentation updates by @ras44 in #728
- resolves #730, docs clean conda install by @ras44 in #731
- minimal wrapper of MAQ #662 by @ras44 in #729
- Temporary fix for causal trees missing values support #733 by @alexander-pv in #734
- resolves #639, credit due to Dong Liu by @ras44 in #722
- v0.15.0 release by @jeongyoonlee in #737
- Remove maq git+pip dependency by @erikcs in #739
New Contributors
- @peterloleungyau made their first contribution in #695
- @SuperBo made their first contribution in #700
- @ZiJiaW made their first contribution in #714
- @erikcs made their first contribution in #739
Full Changelog: v0.14.1...v0.15.0
v0.14.1
- This release mainly addressed installation issues and updated documentation accordingly.
- We have 4 new contributors. @bsaunders27, @xhulianoThe1, @zpppy, and @bsaunders23. Thanks for your contributions!
What's Changed
- Update the python-publish workflow file to fix the package publish Gi… by @jeongyoonlee in #633
- Update Cython dependency by @alexander-pv in #640
- Fix for builds on Mac M1 infrastructure by @bsaunders27 in #641
- code cleanups by @xhulianoThe1 in #634
- support valid error early stopping by @zpppy in #614
- Revert "support valid error early stopping" by @jeongyoonlee in #645
- "support valid error early stopping" by @zpppy in #648
- fix: update to
envs/
conda build for precompiled M1 installs by @bsaunders27 in #646 - Installation updates to README and .github/workflows by @ras44 in #637
- fix: simulate_randomized_trial by @bsaunders23 in #656
- issue 252 by @vincewu51 in #660
- ras44/651 graph viz, resolves #651 by @ras44 in #661
- linted with black by @ras44 in #663
- Fix issue 650 by @vincewu51 in #659
- Install graphviz in the workflow builds by @jeongyoonlee in #668
- Update docs/installation.rst by @jeongyoonlee in #667
- Schedule monthly PyPI install tests by @jeongyoonlee in #670
- v0.14.1 release by @jeongyoonlee in #672
New Contributors
- @bsaunders27 made their first contribution in #641
- @xhulianoThe1 made their first contribution in #634
- @zpppy made their first contribution in #614
- @bsaunders23 made their first contribution in #656
Full Changelog: v0.14.0...v0.14.1
v0.14.0
- CausalML surpassed 2MM downloads on PyPI and 4,100 stars on GitHub. Thanks for choosing CausalML and supporting us on GitHub.
- We have 7 new contributors: @darthtrevino, @ras44, @AbhishekVermaDH, @joel-mcmurry, @AlxClt, @kklein, and @volico. Welcome to the CausalML development team, and thanks for your contributions!
What's Changed
- Fix the readthedocs build failure by @jeongyoonlee in #545
- Add pyproject.toml with basic build dependencies for PEP518 compliance by @darthtrevino in #553
- bump numpy==1.23.2 in environment-py38.yml #338 by @ras44 in #550
- CausalTree split criterions fix and fit optimization by @alexander-pv in #557
- fixing math notations for proper rendering by @AbhishekVermaDH in #558
- Update methodology.rst by @joel-mcmurry in #568
- Causal trees bootstrapping and
max_leaf_nodes
fixes with minor update by @alexander-pv in #583 - Fix #596 by @AlxClt in #597
- Add **kwargs to Explainer.plot_shap_values() by @jeongyoonlee in #603
- Make the Adam optimization optional and learning rate/epochs configurable in DragonNet by @jeongyoonlee in #604
- Fix bug in variance calculation in drivlearner. by @huigangchen in #606
- Bug Fix in Dragonnet: Adam parameter name lr depreciation by @huigangchen in #617
- Fix AttributeError in builds with numpy>=1.24 and pandas>=2.0 by @jeongyoonlee in #631
- Pass on **kwargs in
plot_shap_values
of base meta leaner by @kklein in #627 - Bump scipy from 1.4.1 to 1.10.0 by @dependabot in #629
- Feature/ttest criterion by @volico in #570
- Added Interaction Tree (IT), Causal Inference Tree (CIT), and Invariant DDP (IDDP) by @jroessler in #562
- Causal trees option to return counterfactual outcomes by @alexander-pv in #623
- Up the version to 0.14 by @jeongyoonlee in #632
New Contributors
- @darthtrevino made their first contribution in #553
- @ras44 made their first contribution in #550
- @AbhishekVermaDH made their first contribution in #558
- @joel-mcmurry made their first contribution in #568
- @AlxClt made their first contribution in #597
- @kklein made their first contribution in #627
- @volico made their first contribution in #570
Full Changelog: v0.13.0...v0.14.0
v0.13.0
- CausalML surpassed 1MM downloads on PyPI and 3,200 stars on GitHub. Thanks for choosing CausalML and supporting us on GitHub.
- We have 7 new contributors @saiwing-yeung, @lixuan12315, @aldenrogers, @vincewu51, @AlkanSte, @enzoliao, and @alexander-pv. Thanks for your contributions!
- @alexander-pv revamped
CausalTreeRegressor
and addedCausalRandomForestRegressor
with more seamless integration withscikit-learn
's Cython tree module. He also added integration withshap
for causal tree/ random forest interpretation. Please check out the example notebook. - We dropped the support for Python 3.6 and removed its test workflow.
What's Changed
- Fix typo
(% -> $)
by @saiwing-yeung in #488 - Add function for calculating PNS bounds by @t-tte in #482
- Fix hard coding bug by @t-tte in #492
- Update README of
conda
install and instruction of maintain in conda-forge by @ppstacy in #485 - Update
examples.rst
by @lixuan12315 in #496 - Fix incorrect
effect_learner_objective
inXGBRRegressor
by @jeongyoonlee in #504 - Fix Filter F doesn't work with latest
statsmodels
' F test f-value format by @paullo0106 in #505 - Exclude tests in
setup.py
by @aldenrogers in #508 - Enabling higher orders feature importance for F filter and LR filter by @zhenyuz0500 in #509
- Ate pretrain 0506 by @vincewu51 in #511
- Update
methodology.rst
by @AlkanSte in #518 - Fix the bug of incorrect result in qini for multiple models by @enzoliao in #520
- Test
get_qini()
by @enzoliao in #523 - Fixed typo in
uplift_trees_with_synthetic_data.ipynb
by @jroessler in #531 - Remove Python 3.6 test from workflows by @jeongyoonlee in #535
- Causal trees update by @alexander-pv in #522
- Causal trees interpretation example by @alexander-pv in #536
New Contributors
- @saiwing-yeung made their first contribution in #488
- @lixuan12315 made their first contribution in #496
- @aldenrogers made their first contribution in #508
- @vincewu51 made their first contribution in #511
- @AlkanSte made their first contribution in #518
- @enzoliao made their first contribution in #520
- @alexander-pv made their first contribution in #522
Full Changelog: v0.12.3...v0.13.0
v0.12.3
v0.12.2
This patch includes three updates by our latest contributors, @tonkolviktor and @heiderich. We also start using black, a Python formatter. Please check out the updated contribution guideline to learn how to use it.
What's Changed
- Opens up scipy dependency version range towards newer releases (#441) by @tonkolviktor in #473
- Merely define preferred backend for joblib instead of hard-coding it by @heiderich in #476
- Allow parallel prediction and make joblib's backend configurable for UpliftRandomForestClassifier by @heiderich in #477
- Reformat code using black by @jeongyoonlee in #474
New Contributors
- @tonkolviktor made their first contribution in #473
- @heiderich made their first contribution in #476
Full Changelog: v0.12.1...v0.12.2
v0.12.1
This patch includes two bug fixes for UpliftRandomForestClassifier as follows:
- #462 by @paullo0106: Use the correct
treatment_idx
forfillTree()
when applying validation data set - #468 by @jeongyoonlee: Switch the joblib backend for UpliftRandomForestClassifier to threading to avoid memory copy across trees
v0.12.0
0.12.0 (Jan 2022)
- CausalML surpassed 637K downloads on PyPI and 2,500 stars on Github!
- We have 4 new community contributors, Luis (@lgmoneda ), Ravi (@raviksharma), Louis (@LouisHernandez17) and JackRab (@Jackrab). Thanks for the contribution!
- We refactored and speeded up UpliftTreeClassifier/UpliftRandomForestClassifier by 5x with Cython (#422 #440 by @jeongyoonlee)
- We revamped our API documentation, it now includes the latest methodology, references, installation, notebook examples, and graphs! (#413 by @huigangchen @t-tte @zhenyuz0500 @jeongyoonlee @paullo0106)
- Our team gave talks at 2021 Conference on Digital Experimentation @ MIT (CODE@MIT), Causal Data Science Meeting 2021, and KDD 2021 Tutorials on CausalML introduction and applications. Please take a look if you missed them! Full list of publications and talks can be found here.
Updates
- Update documentation on Instrument Variable methods @huigangchen (#447)
- Add benchmark simulation studies example notebook by @t-tte (#443)
- Add sample_weight support for R-learner by @paullo0106 (#425)
- Fix incorrect binning of numeric features in UpliftTreeClassifier by @jeongyoonlee (#420)
- Update papers, talks, and publication info to README and refs.bib by @zhenyuz0500 (#410 #414 #433)
- Add instruction for contributing.md doc by @jeongyoonlee (#408)
- Fix incorrect feature importance calculation logic by @paullo0106 (#406)
- Add parallel jobs support for NearestNeighbors search with n_jobs parameter by @paullo0106 (#389)
- Fix bug in simulate_randomized_trial by @jroessler (#385)
- Add GA pytest workflow by @ppstacy (#380)