|
| 1 | +<!-- Versioning follows semantic versioning, see also |
| 2 | + https://semver.org/spec/v2.0.0.html. The most important bits are: |
| 3 | + * Update the major if you break the public API |
| 4 | + * Update the minor if you add new functionality |
| 5 | + * Update the patch if you fixed a bug --> |
| 6 | + |
| 7 | +# Changelog |
| 8 | + |
| 9 | +## 0.12.0 (2025-01-29) |
| 10 | + |
| 11 | +### Other changes |
| 12 | + |
| 13 | +- Comply with `scikit-learn` versions 1.6 and higher. |
| 14 | + |
| 15 | +## 0.11.0 (2024-09-05) |
| 16 | + |
| 17 | +### New features |
| 18 | + |
| 19 | +- Add support for using `scipy.sparse.csr_matrix` as datastructure for covariates `X`. |
| 20 | + |
| 21 | +## 0.10.0 (2024-08-13) |
| 22 | + |
| 23 | +### New features |
| 24 | + |
| 25 | +- Add abstract method [`MetaLearner.predict_conditional_average_outcomes`][metalearners.metalearner.MetaLearner.predict_conditional_average_outcomes] to [`metalearners.metalearner.MetaLearner`][metalearners.metalearner.MetaLearner]. |
| 26 | +- Implement [`RLearner.predict_conditional_average_outcomes`][metalearners.rlearner.RLearner.predict_conditional_average_outcomes] for [`metalearners.rlearner.RLearner`][metalearners.rlearner.RLearner]. |
| 27 | + |
| 28 | +### Bug fixes |
| 29 | + |
| 30 | +- Fix bug in which the [`metalearners.slearner.SLearner`][metalearners.slearner.SLearner]'s inference step would have some leakage in the in-sample scenario. |
| 31 | + |
| 32 | +## 0.9.0 (2024-08-02) |
| 33 | + |
| 34 | +### New features |
| 35 | + |
| 36 | +- Add [`MetaLearner.init_args`][metalearners.metalearner.MetaLearner.init_args]. |
| 37 | +- Add [`FixedBinaryPropensity`][metalearners.utils.FixedBinaryPropensity]. |
| 38 | +- Add `MetaLearner._build_onnx` to [`metalearners.MetaLearner`][metalearners.metalearner.MetaLearner] abstract class and implement it for [`TLearner`][metalearners.tlearner.TLearner], [`XLearner`][metalearners.xlearner.XLearner], [`RLearner`][metalearners.rlearner.RLearner], and [`DRLearner`][metalearners.drlearner.DRLearner]. |
| 39 | +- Add `MetaLearner._necessary_onnx_models`. |
| 40 | +- Add [`DRLearner.average_treatment_effect`][metalearners.drlearner.DRLearner.average_treatment_effect] to compute the AIPW point estimate and standard error for average treatment effects (ATE) without requiring a full model fit. |
| 41 | + |
| 42 | +## 0.8.0 (2024-07-22) |
| 43 | + |
| 44 | +### New features |
| 45 | + |
| 46 | +- Add [`MetaLearner.fit_all_nuisance`][metalearners.metalearner.MetaLearner.fit_all_nuisance] and [`MetaLearner.fit_all_treatment`][metalearners.metalearner.MetaLearner.fit_all_treatment]. |
| 47 | +- Add optional `store_raw_results` and `store_results` parameters to [`MetaLearnerGridSearch`][metalearners.grid_search.MetaLearnerGridSearch]. |
| 48 | +- Renamed `_GSResult` to [`GSResult`][metalearners.grid_search.GSResult]. |
| 49 | +- Added `grid_size_` attribute to [`MetaLearnerGridSearch`][metalearners.grid_search.MetaLearnerGridSearch]. |
| 50 | +- Implement [`CrossFitEstimator.score`][metalearners.cross_fit_estimator.CrossFitEstimator.score]. |
| 51 | + |
| 52 | +### Bug fixes |
| 53 | + |
| 54 | +- Fixed a bug in [`MetaLearner.evaluate`][metalearners.metalearner.MetaLearner.evaluate] where it failed in the case of `feature_set` being different from `None`. |
| 55 | + |
| 56 | +## 0.7.0 (2024-07-12) |
| 57 | + |
| 58 | +### New features |
| 59 | + |
| 60 | +- Add optional `adaptive_clipping` parameter to [`DRLearner`][metalearners.drlearner.DRLearner]. |
| 61 | + |
| 62 | +### Other changes |
| 63 | + |
| 64 | +- Change the index columns order in `MetaLearnerGridSearch.results_`. |
| 65 | +- Raise a custom error if only one class is present in a classification outcome. |
| 66 | +- Raise a custom error if there are some treatment variants which have seen classification outcomes that have not appeared for some other treatment variant. |
| 67 | + |
| 68 | +## 0.6.0 (2024-07-08) |
| 69 | + |
| 70 | +### New features |
| 71 | + |
| 72 | +- Implement [`MetaLearnerGridSearch`][metalearners.grid_search.MetaLearnerGridSearch]. |
| 73 | +- Add a `scoring` parameter to [`MetaLearner.evaluate`][metalearners.metalearner.MetaLearner.evaluate] and implement the abstract method for [`XLearner`][metalearners.xlearner.XLearner] and [`DRLearner`][metalearners.drlearner.DRLearner]. |
| 74 | + |
| 75 | +### Other changes |
| 76 | + |
| 77 | +- Increase the lower bound on `scikit-learn` from 1.3 to 1.4. |
| 78 | +- Drop the run dependency on `git_root`. |
| 79 | + |
| 80 | +## 0.5.0 (2024-06-18) |
| 81 | + |
| 82 | +- No longer raise an error if `feature_set` is provided to [`SLearner`][metalearners.slearner.SLearner]. |
| 83 | +- Fix a bug where base model dictionaries -- e.g., `n_folds` or `feature-set` -- were improperly initialized if the provided dictionary's keys were a strict superset of the expected keys. |
| 84 | + |
| 85 | +## 0.4.2 (2024-06-18) |
| 86 | + |
| 87 | +- Ship license file. |
| 88 | + |
| 89 | +## 0.4.1 (2024-06-18) |
| 90 | + |
| 91 | +- Fix dependencies for pip. |
| 92 | + |
| 93 | +## 0.4.0 (2024-06-18) |
| 94 | + |
| 95 | +- Implemented [`CrossFitEstimator.clone`][metalearners.cross_fit_estimator.CrossFitEstimator.clone]. |
| 96 | +- Added `n_jobs_base_learners` to [`MetaLearner.fit`][metalearners.metalearner.MetaLearner.fit]. |
| 97 | +- Renamed [`Explainer.feature_importances`][metalearners.explainer.Explainer.feature_importances]. Note this is a breaking change. |
| 98 | +- Renamed [`MetaLearner.feature_importances`][metalearners.metalearner.MetaLearner.feature_importances]. Note this is a breaking change. |
| 99 | +- Renamed [`Explainer.shap_values`][metalearners.explainer.Explainer.shap_values]. Note this is a breaking change. |
| 100 | +- Renamed [`MetaLearner.shap_values`][metalearners.metalearner.MetaLearner.shap_values]. Note this is a breaking change. |
| 101 | +- Renamed [`MetaLearner.explainer`][metalearners.metalearner.MetaLearner.explainer]. Note this is a breaking change. |
| 102 | +- Implemented `synchronize_cross_fitting` parameter for [`MetaLearner.fit`][metalearners.metalearner.MetaLearner.fit]. |
| 103 | +- Implemented `cv` parameter for [`CrossFitEstimator.fit`][metalearners.cross_fit_estimator.CrossFitEstimator.fit]. |
| 104 | + |
| 105 | +## 0.3.0 (2024-06-03) |
| 106 | + |
| 107 | +- Implemented [`Explainer`][metalearners.explainer.Explainer] with support for binary classification and regression outcomes and discrete treatment variants. |
| 108 | +- Integration of [`Explainer`][metalearners.explainer.Explainer] with [`MetaLearner`][metalearners.metalearner.MetaLearner] for feature importance and SHAP values calculations. |
| 109 | +- Implemented model reuse through the `fitted_nuisance_models` and `fitted_propensity_model` parameters of [`MetaLearner`][metalearners.metalearner.MetaLearner]. |
| 110 | +- Allow for `fit_params` in [`MetaLearner.fit`][metalearners.metalearner.MetaLearner.fit]. |
| 111 | + |
| 112 | +## 0.2.0 (2024-05-28) |
| 113 | + |
| 114 | +Beta release with: |
| 115 | + |
| 116 | +- [`DRLearner`][metalearners.drlearner.DRLearner] with support for binary classification and regression outcomes and discrete treatment variants. |
| 117 | +- Generalization of [`TLearner`][metalearners.tlearner.TLearner], [`XLearner`][metalearners.xlearner.XLearner], and [`RLearner`][metalearners.rlearner.RLearner] to allow for more than two discrete treatment variants. |
| 118 | +- Unification of shapes returned by `predict` methods. |
| 119 | +- [`simplify_output`][metalearners.utils.simplify_output] and [`metalearner_factory`][metalearners.utils.metalearner_factory]. |
| 120 | + |
| 121 | +## 0.1.0 (2024-05-16) |
| 122 | + |
| 123 | +Alpha release with: |
| 124 | + |
| 125 | +- [`TLearner`][metalearners.tlearner.TLearner] with support for binary classification and regression outcomes and binary treatment variants. |
| 126 | +- [`SLearner`][metalearners.slearner.SLearner] with support for binary classification and regression outcomes and discrete treatment variants. |
| 127 | +- [`XLearner`][metalearners.xlearner.XLearner] with support for binary classification and regression outcomes and binary treatment variants. |
| 128 | +- [`RLearner`][metalearners.rlearner.RLearner] with support for binary classification and regression outcomes and binary treatment variants. |
0 commit comments