FIX Conditionally resolve metric deprecated by SciPy #25285
Closed
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.
Reference Issues/PRs
Fixes #25202.
Alternative to #25212.
What does this implement/fix? Explain your changes.
SciPy might deprecated some distance metrics overtime, so with need to have condtional fallback for deprecated metrics. This is currently the case for
"kulsinski"
.This adds a fallback on
DistanceMetric{,32}
.Note that for now, the newly introduced
DistanceMetric{,32}
fallback has precedence over thescipy.spatial.distance
fallback, but this must not be the case.One way to remove this precedence would be to check for metric inclusion in a list equals to
scipy.spatial.distance._METRICS_NAMES
(which can't be imported unfortunately 🙁 ).Hence the proposed
_SCIPY_DEPRECATED_METRICS
.Any other comments?
I guess we need to coordinate with the team of SciPy to correctly address distance metric resolution on the long term. What do you think?