Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cython implementation of GRF and CausalForestDML #341

Merged
merged 129 commits into from
Jan 9, 2021

Conversation

vsyrgkanis
Copy link
Collaborator

This PR implements a high-performance Cython version of Generalized Random Forests and enables ForestDML for multiple treatments and multiple outcomes. Replaces and deprecates SubsampledHonestForest. Also deprecates ForestDML by CausalForestDML and CausalForest by CausalForestDML. Adds CausalIVForest for future integration with DMLIV.

…ndomness for subsampling causing weird correlations and non pseudorandomness
Copy link
Contributor

@heimengqi heimengqi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed each file related to shap and each file under dml folder. Mostly looks good, only minor issue needs to be addressed.
The logic for all the functions under shap.py are heavily related and repeated, I might need to do a second round improvement.

econml/__init__.py Show resolved Hide resolved
econml/shap.py Show resolved Hide resolved
econml/shap.py Outdated Show resolved Hide resolved
econml/shap.py Outdated Show resolved Hide resolved
econml/shap.py Show resolved Hide resolved
econml/tests/test_shap.py Outdated Show resolved Hide resolved
econml/tests/test_shap.py Outdated Show resolved Hide resolved
notebooks/Interpretability with SHAP.ipynb Outdated Show resolved Hide resolved
Copy link
Collaborator

@kbattocchi kbattocchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly looks fine; added a few suggestions.

doc/reference.rst Show resolved Hide resolved
doc/spec/api.rst Show resolved Hide resolved
doc/spec/estimation/forest.rst Outdated Show resolved Hide resolved
doc/spec/estimation/forest.rst Show resolved Hide resolved
econml/__init__.py Outdated Show resolved Hide resolved
econml/drlearner.py Show resolved Hide resolved
econml/setup.py Outdated Show resolved Hide resolved
econml/tree/_splitter.pyx Outdated Show resolved Hide resolved
econml/tree/_utils.pyx Outdated Show resolved Hide resolved
econml/utilities.py Outdated Show resolved Hide resolved
@vsyrgkanis vsyrgkanis force-pushed the vasilis/grf_simplification branch 2 times, most recently from 980ec82 to d16b615 Compare January 6, 2021 20:23
fixed shap improt

addressed Keith's review comments

fixed doctest

added TODO for sklearn compaitbility
Copy link
Collaborator

@kbattocchi kbattocchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

econml/shap.py Outdated Show resolved Hide resolved
Copy link
Contributor

@heimengqi heimengqi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

Copy link
Contributor

@moprescu moprescu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, nothing stood out to me. Mainly looked at the GRF portion.

econml/causal_tree.py Outdated Show resolved Hide resolved
econml/ortho_forest.py Show resolved Hide resolved
econml/ortho_forest.py Outdated Show resolved Hide resolved
@vsyrgkanis vsyrgkanis merged commit bb042d5 into master Jan 9, 2021
@vsyrgkanis vsyrgkanis deleted the vasilis/grf_simplification branch January 9, 2021 03:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants