-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
[python-package] add scikit-learn-style API for early stopping #5808
Open
ClaudioSalvatoreArcidiacono
wants to merge
33
commits into
microsoft:master
Choose a base branch
from
ClaudioSalvatoreArcidiacono:3313-enable-auto-early-stopping
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
ad43e17
Enable Auto Early Stopping
ClaudioSalvatoreArcidiacono f05e5e0
Relax test conditions
ClaudioSalvatoreArcidiacono 76f3c19
Merge branch 'master' into 3313-enable-auto-early-stopping
ClaudioSalvatoreArcidiacono 457c7f6
Merge master
ClaudioSalvatoreArcidiacono 0db1941
Revert "Merge master"
ClaudioSalvatoreArcidiacono 10fac65
Merge remote-tracking branch 'lgbm/master' into 3313-enable-auto-earl…
ClaudioSalvatoreArcidiacono d10ca54
Add missing import
ClaudioSalvatoreArcidiacono 3b8eb0a
Remove added extra new line
ClaudioSalvatoreArcidiacono e47acc0
Merge branch 'master' into 3313-enable-auto-early-stopping
ClaudioSalvatoreArcidiacono 66701ac
Merge branch 'master' into 3313-enable-auto-early-stopping
ClaudioSalvatoreArcidiacono 39d333e
Merge branch 'master' into 3313-enable-auto-early-stopping
ClaudioSalvatoreArcidiacono cad7eb6
Merge branch 'master' into 3313-enable-auto-early-stopping
ClaudioSalvatoreArcidiacono 1234ccf
Merge master
ClaudioSalvatoreArcidiacono d54c96a
Improve documentation, check default behavior of early stopping
ClaudioSalvatoreArcidiacono 9c1c8b4
Solve python 3.8 compatibility issue
ClaudioSalvatoreArcidiacono 724c7fe
Remove default to auto
ClaudioSalvatoreArcidiacono c957fce
Revert changes in fit top part
ClaudioSalvatoreArcidiacono 2d7da78
Make interface as similar as possible to sklearn
ClaudioSalvatoreArcidiacono 069a84e
Add parameters to dask interface
ClaudioSalvatoreArcidiacono c430ec1
Improve documentation
ClaudioSalvatoreArcidiacono 416323a
Linting
ClaudioSalvatoreArcidiacono 73562ff
Check for exact value equal true for early stopping
ClaudioSalvatoreArcidiacono 38edc42
Merge branch 'master' into 3313-enable-auto-early-stopping
jameslamb 9a32376
Switch if/else conditions order in fit
ClaudioSalvatoreArcidiacono f33ebd3
Merge remote-tracking branch 'origin/master' into 3313-enable-auto-ea…
ClaudioSalvatoreArcidiacono a61726f
fix issues in engine.py
ClaudioSalvatoreArcidiacono 44316d7
make new early stopping parameters keyword-only
ClaudioSalvatoreArcidiacono 4cbfc84
Remove n_iter_no_change parameter
ClaudioSalvatoreArcidiacono 93acf6a
Address comments in tests
ClaudioSalvatoreArcidiacono 2b049c9
Improve tests
ClaudioSalvatoreArcidiacono 61371cb
Add tests to check for validation fraction
ClaudioSalvatoreArcidiacono 65c4e2f
Remove validation_fraction=None option
ClaudioSalvatoreArcidiacono 0a8e843
Remove validation_fraction=None option also in dask
ClaudioSalvatoreArcidiacono File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jameslamb, I have removed the option of having
validation_fraction=None
and performing early stopping on the train set.Early stopping in lightgbm is disabled when the validation set equals the train set and I did not want to alter that behavior in this PR, so I have decided to deviate a little from the scikit-learn implementation of auto early stopping and to not allow
validation_fraction=None
.Let me know your thoughts on it.