[python-package] replace uses of scipy.sparse.issparse() with isinstance() #5784
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
mypy
errors.Proposes replacing calls like this:
with this:
This helps
mypy
to understand branches of logic specific to sparse matrices.It also protects
lightgbm
users a bit from future changes toscipy
's public API.We aren't getting much from
scipy.sparse.issparse()
.It's an alias for
scipy.sparse.isspmatrix()
(code link, docs link), which just runsisinstance(x, spmatrix)
(code link).There is also a recent, ongoing discussion in
scipy
about possibly changing how these functions handle sparse array (non-matrix) types: scipy/scipy#15790.