[ENH] Add UnconditionalDistfitRegressor and DeterministicReductionRegressor#994
Open
arnavk23 wants to merge 27 commits intosktime:mainfrom
Open
[ENH] Add UnconditionalDistfitRegressor and DeterministicReductionRegressor#994arnavk23 wants to merge 27 commits intosktime:mainfrom
UnconditionalDistfitRegressor and DeterministicReductionRegressor#994arnavk23 wants to merge 27 commits intosktime:mainfrom
Conversation
- Change default distr_type to 'norm' (was 'best'), matching valid distfit options - Update test to use distr_type='norm' explicitly - Mark KDE test as xfail due to upstream scipy/distfit incompatibility - Fix Laplace attribute checks in tests to use 'scale' (not 'b') - Ensure all baseline regressor tests pass or are correctly handled
…t, and adding get_params to DeterministicReductionRegressor for better sklearn compatibility.
…' key for mean calculation.
…parenthesis/ellipsis for multi-line import in docstring; ensure all style and test checks pass.
…w.github.com/arnavk23/skpro into feature/baseline-unconditional-densities
… for the unconditional distfit regressor. This is in preparation for the upcoming release, and to ensure that the baseline regressors are working correctly.
…w.github.com/arnavk23/skpro into feature/baseline-unconditional-densities
Contributor
Author
|
Updated the UnconditionalDistfitRegressor docstring doctest expectation to match current return contract and stable scalar formatting in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Towards #7
What does this implement/fix? Explain your changes.
This PR adds two unconditional baselines for probabilistic regression to improve benchmarking:
UnconditionalDistfitRegressor
yusingdistfit.Xentirely by design (feature-agnostic baseline).norm,laplace) and histogram mode.DeterministicReductionRegressor
mu) and constant uncertainty from training target variance:sigma = sqrt(var(y_train))scale = sqrt(var(y_train) / 2)Additional updates:
distfitcompatibility constraints.Limitations
UnconditionalDistfitRegressor
DeterministicReductionRegressor
ytarget univariate y.Does your contribution introduce a new dependency? If yes, which one?
distfitis used as a soft dependency.What should a reviewer concentrate their feedback on?
mu,sigma,scale)Did you add any tests for the change?
Yes. Tests cover:
Invalid distribution type handling
Univariate vs multioutput behavior
Distribution parameter correctness (
loc/scale,sigma/scale)Mean consistency with deterministic predictions
Estimator-wide contract checks for probabilistic outputs
Any other comments?
KDE-related behavior was cleaned up to reflect upstream instability/deprecation in the
distfit/SciPy stack. This PR does not present KDE as an actively supported option.distr_typeis now 'norm' (was 'best').PR checklist
For all contributions
How to: add yourself to the all-contributors file in the
skproroot directory (not theCONTRIBUTORS.md). Common badges:code- fixing a bug, or adding code logic.doc- writing or improving documentation or docstrings.bug- reporting or diagnosing a bug (get this pluscodeif you also fixed the bug in the PR).maintenance- CI, test framework, release.See here for full badge reference
For new estimators
docs/source/api_reference/taskname.rst, follow the pattern.Examplessection.python_dependenciestag and ensureddependency isolation, see the estimator dependencies guide.