[python-package] fix mypy errors about custom eval functions in sklearn.py #5721
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.
Contributes to #3756
Contributes to #3867.
Fixes the following errors from
mypy
.In the
scikit-learn
interface, custom eval functions can return either a tuple of the form(eval_name, eval_result, is_higher_better)
or a list of such tuples.LightGBM/python-package/lightgbm/sklearn.py
Lines 150 to 156 in 29796ee
mypy
is raising these complaints because that return type annotation on_EvalFunctionWrapper
doesn't include that possibility of returning a list of eval results.LightGBM/python-package/lightgbm/sklearn.py
Line 181 in 29796ee