Open fkiraly opened 1 month ago
FYI @Alex-JG3 re annotation. This could allow us to eat our cake and keep it, as the coercion to transformation would be silent.
FYI @sktime/core-developers
I like this concept. Would the coercion wrappers require strict adherance to the base classes? Currently there are several annotators that don't quite adhere to BaseSeriesAnnotator
which would make coercing them from type annotator X
to type Y
difficult.
It would be good to know if this is an issue in other parts of sktime.
@Alex-JG3, yes, this would of course require strict API compliance to work, like any kind of composition or reduction. Afaik sktime
is the only package in the time series space that has strictly enough enforced APIs for it to enable complex composition. Except the annotation module, currently... but I hope we'll get there 😃
More explicitly, noncompliance with API specifications is not a problem in other parts of sktime
, all other modules are more mature.
The reason for this is probably the different types of estimators under a single umbrella - anomaly detectors, changepoint detectors, segmenters, etc. Besides being complicated to define what these actually are on an API level, confusion is common, even in academic literature. Which is an explanation but not an excuse, of course.
We are seeing more and more examples where an estimator of one scitype should be considered as another, in composition.
Examples:
TransformSelectForecaster
- https://github.com/sktime/sktime/pull/6848TabularToSeries adapter
.DistFromAligner
score
. #6591I think the cleanest way to address these would be:
to_scitype
method that all base classes possess.