Skip to content

[ENH] add VotingProbaRegressor - heterogeneous ensemble compositor#1069

Open
Ashish-Kumar-Dash wants to merge 2 commits into
sktime:mainfrom
Ashish-Kumar-Dash:enh/voting-probra-regressor
Open

[ENH] add VotingProbaRegressor - heterogeneous ensemble compositor#1069
Ashish-Kumar-Dash wants to merge 2 commits into
sktime:mainfrom
Ashish-Kumar-Dash:enh/voting-probra-regressor

Conversation

@Ashish-Kumar-Dash

Copy link
Copy Markdown
Contributor

Reference Issues/PRs

None

What does this implement/fix? Explain your changes.

Adds VotingProbaRegressor, a heterogeneous ensemble that fits multiple
probabilistic regressors on the same data and returns a Mixture distribution
of their predictions.

Probabilistic generalization of sklearn's VotingRegressor — instead of
averaging point predictions, it combines full predictive distributions via
weighted mixture.

Key decisions for the basis of this PR:

  • Inherits from BaseMetaEstimator, BaseProbaRegressor — follows the
    Pipeline pattern for heterogeneous estimator lists
    (named_object_parameters, property-based _estimators)
  • Capability tags use AND logic across components
  • Delegates all distribution math to Mixture

Does your contribution introduce a new dependency? If yes, which one?

No.

What should a reviewer concentrate their feedback on?

  • The AND logic for capability tag cloning (lines 80-84) — this is different
    from single-estimator clone_tags used elsewhere
  • Whether _estimators as a property (mirroring Pipeline._steps) is the
    preferred pattern here

Did you add any tests for the change?

The estimator is auto-discovered by the existing test framework via
get_test_params (3 parameter sets). All pass:

  • test_all_estimators — 67 passed
  • test_all_regressors — 21 passed

Any other comments?

No.

PR checklist

For all contributions
  • I've added myself to the list of contributors with any new badges I've
    earned :-)
  • The PR title starts with either [ENH], [MNT], [DOC], or [BUG].
For new estimators
  • I've added the estimator to the API reference - in
    docs/source/api_reference/regression.rst
  • I've added one or more illustrative usage examples to the docstring, in
    a pydocstyle compliant Examples section.
  • If the estimator relies on a soft dependency, I've set the
    python_dependencies tag and ensured dependency isolation. (N/A — no soft
    dependencies)

@Ashish-Kumar-Dash

Copy link
Copy Markdown
Contributor Author

@fkiraly among the commits you'll also find a minor comma fix regarding .all-contributorsrc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant