Open mateuszkasprowicz opened 1 week ago
I think it's less of a bug than a potential enhancment to the base class interfaces - thanks for opening the issue and summarizing!
Agreed @fkiraly. Just another note, probably for the future it would make sense to add a check for all estimators with a _steps_attr
attribute to see if a corresponding property exists.
yes, agreed - we should make the extension API more strict. Perhaps extra checks for all heterogeneous meta-estimator descendants?
Describe the bug
The bug involves inconsistent handling of the
_steps_attr
attribute in several classes inheriting from_HeterogenousMetaEstimator
. Specifically, the_steps_attr
attribute is either missing or incorrectly formatted in these classes, causing issues with parameter management, particularly for visualizing (html repr). There are two main cases:Pipelines with a single estimator and transformer(s) (e.g.,
ParamFitterPipeline
,PwTrafoPanelPipeline
). These classes inherit_steps_attr
, but it points to_steps
, which does not exist. They require a new_steps
attribute that combines transformers and the estimator.Classes where
_steps_attr
points to an incorrectly formatted list of estimators (e.g.,GroupbyCategoryForecaster
,FeatureUnion
). These need_steps_attr
to point to an iterable of(name: str, estimator, ...)
tuples instead of the current format.Additional context
The issue was identified while investigating: https://github.com/sktime/sktime/issues/7152
For a detailed list of impacted classes refer to the following comment: https://github.com/sktime/sktime/issues/7152#issuecomment-2392006316
Potential solution: https://github.com/sktime/sktime/issues/7152#issuecomment-2392289976