[python-package] [dask] fix mypy errors about Dask fit() return types #5756
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 #3867.
Resolves the following
mypy
errors.Switches the Dask estimators to returning
self
, so that e.g.DaskLGBMRegressor.fit()
returns aDaskLGBMRegressor
. This is useful for other user code and downstream libraries relying on LightGBM, to be able to doisinstance()
checks and not need to rely on lightgbm-internal details like_DaskLGBMModel
. It could also be relevant in the future is we add attributes toDaskLGBMRegressor
,DaskLGBMClassifier
, orDaskLGBMRanker
that the other Dask estimators don't have.It is, by the way, exactly the same approach the
sklearn
estimators use:LightGBM/python-package/lightgbm/sklearn.py
Lines 989 to 1024 in e666a4b
Related conversation: #5672 (comment)