[ENH] Add naive baseline with kernel, parametric and bounding estimators#786
Open
arnavk23 wants to merge 9 commits intosktime:mainfrom
Open
[ENH] Add naive baseline with kernel, parametric and bounding estimators#786arnavk23 wants to merge 9 commits intosktime:mainfrom
arnavk23 wants to merge 9 commits intosktime:mainfrom
Conversation
…etric, and bounding estimators This PR completes the remaining tasks from issue sktime#10 - the scikit-base rearchitecture for skpro v2: 1. Naive baseline density/distribution estimator with kernel support - Enhanced DummyProbaRegressor with new 'kernel' strategy - Uses Gaussian KDE (via scipy.stats.gaussian_kde) for distribution estimation - Supports configurable bandwidth and number of samples - Maintains backward compatibility with existing 'empirical' and 'normal' strategies 2. Composite parametric distribution estimator - New ParametricRegressor that wraps sklearn regressors - Fits parametric distribution families (Normal, Laplace, Cauchy, t, etc.) - Automatically estimates scale parameter from training residuals - Supports multiple distribution families with flexible parameterization 3. Bounding wrapper for predictions - New BoundingRegressor for constraining predictions to valid ranges - Supports lower/upper bounds with multiple bounding methods - Methods: 'truncate' (recommended), 'clip_mean', 'delta' - Applies bounds to predict, predict_proba, predict_interval, and predict_quantiles All estimators follow skpro's BaseProbaRegressor interface and include comprehensive docstrings with examples and test parameters. Fixes sktime#10
- Fix unused imports flagged by flake8 - Add BoundingRegressor to Composition section - Add ParametricRegressor to Reduction section - All pre-commit checks pass (except unrelated existing issues)
…b.com/arnavk23/skpro into feature/issue-10-final-estimators
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
Fixes #10.
What does this implement/fix? Explain your changes.
This PR completes the remaining tasks from issue - the scikit-base rearchitecture for skpro v2:
1. Naive baseline density/distribution estimator with kernel support
DummyProbaRegressorwith new'kernel'strategyscipy.stats.gaussian_kde) for distribution estimation2. Composite parametric distribution estimator
3. Bounding wrapper for predictions
'truncate'(recommended),'clip_mean','delta'predict,predict_proba,predict_interval, andpredict_quantilesDoes your contribution introduce a new dependency? If yes, which one?
No.
What should a reviewer concentrate their feedback on?
Did you add any tests for the change?
Yes. All new estimators include:
Any other comments?
PR checklist
For all contributions
For new estimators
docs/source/api_reference/taskname.rst, follow the pattern.Examplessection.python_dependenciestag and ensureddependency isolation, see the estimator dependencies guide.