MNT mean_tweedie_deviance
refactoring into a sklearn._loss module
#15245
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.
This moves some definitions of the Tweedie distribution, used in
mean_tweedie_deviance
under a separatesklearn._loss.glm_deviance
module as discussed in #14300 (comment) to allow re-using these deviance scores in GLM models #14300 without creating circular import issues.The class hierarchy in
sklearn._loss.glm_deviance
is necessary for #14300 and indeed this implements part of the refactoring necessary for that PR hoping to make it easier to review.This should not change the public API, just some refactoring with more tests for
mean_tweedie_deviance
.Might also help for #15244
Also a first step to address #15123