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

Use the training (or validation) loss value for early stopping by default #69

Closed
ogrisel opened this issue Dec 14, 2018 · 2 comments
Closed

Comments

@ogrisel
Copy link
Owner

ogrisel commented Dec 14, 2018

I think we should have scoring=None for all Gradient Boosting estimators by default and still enable early stopping.

  • if self.validation_split is not None, call self.loss_(y_validation, raw_predictions_validation) instead of a Scorer instance.
  • if self.validation_split is None, find a way to incrementally update an estimator of the full training loss without adding any additional computation cost (I think it should be doable but I have not checked in detail).
  • if n_iter_no_change is None or n_iter_no_change == 0 disable early stopping and go to max_iter.

@NicolasHug WDYT?

@NicolasHug
Copy link
Collaborator

+1 this is a more natural strategy.

For the second point, you mean updating the training loss while we update the gradients to avoid redundant computations? This seems doable for LS at least.

I'll go for a simple version first (separate updates) and see what it looks like.

@ogrisel
Copy link
Owner Author

ogrisel commented Dec 14, 2018

For the second point, you mean updating the training loss while we update the gradients to avoid redundant computations? This seems doable for LS at least.

Yes.

I'll go for a simple version first (separate updates) and see what it looks like.

Alright.

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

No branches or pull requests

2 participants