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

Fix deprecated args and dowhy wrapper #434

Merged
merged 4 commits into from
Mar 22, 2021
Merged

Fix deprecated args and dowhy wrapper #434

merged 4 commits into from
Mar 22, 2021

Conversation

heimengqi
Copy link
Contributor

  • Fix the deprecated args in ForestDRLearner, this will fix the issue ForestDRLearner DoWhy Fit not working #432
  • Ignore the "deprecated" args when get the parameters for cate estimator under dowhy wrapper
  • Fix the feature name bug, should save the feature names from input data frame before transferring it to numpy arrays.

@heimengqi heimengqi linked an issue Mar 18, 2021 that may be closed by this pull request
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.

Please add tests for all bugs fixed.

@@ -1523,7 +1523,7 @@ def n_crossfit_splits(self, value):

@property
def criterion(self):
return self.criterion
return "mse"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Seems a bit weird that we allow est.criterion = 'deprecated' but not est.criterion = 'mse', and yet we return "mse" here...

If this is identical to sklearn's approach then I guess we can stick with it, but seems unintuitive to me.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not exactly the same approach, they have a decorator for deprecated args and the deprecated args are not defined in init. Or can I just remove these deprecated args? since it should be removed for next release anyway?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@kbattocchi @vsyrgkanis Any final conclusion on this? Then I could make it ready to merge.

Copy link
Collaborator

Choose a reason for hiding this comment

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

How hard would it be to mimic sklearn's approach? I think it would be best to either do that or remove the deprecated args as you suggested.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I removed all the deprecated args, also for other classes, especially clean up the n_splits/n_crossfit_splits. It's not so clear to me how to mirror sklearn, they seem just add a warning, might worth create an issue to explore how to handle that systematically.

@@ -1533,7 +1533,7 @@ def criterion(self, value):

@property
def max_leaf_nodes(self):
return self.max_leaf_nodes
return None
Copy link
Collaborator

Choose a reason for hiding this comment

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

Parallel comment here.

econml/dowhy.py 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.

LGTM

@heimengqi heimengqi merged commit cac4c3e into master Mar 22, 2021
@heimengqi heimengqi deleted the mehei/dowhybugfix branch March 22, 2021 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ForestDRLearner DoWhy Fit not working
2 participants