[python-package] change types in sklearn.py initializations #5718
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.
Follow-up to #5672 (thanks @IdoKendo for starting this discussion again!)
Fixes the following errors from
mypy
.See my description in #5672 (comment) for the reasoning behind this proposed change.
How I tested this
Besides just running
mypy
and the unit tests, I wanted to also confirm that there wasn't any other code relying on the attributes_n_features
,_n_features_in
, and_best_iteration
being initialized toNone
.Since those are private attributes of a class inside
lightgbm
, it's sufficient just to check this repository for such references.I didn't see any places relying specifically on those attributes being initialized to
None
, so I think changing them to be initialized to-1
is safe.