-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
Is your feature request related to a problem? Please describe.
Sktime's BaseEstimator inherits from scikit-learn's BaseEstimator and adds functionality for getting estimator tags and checking if an estimator has been fitted.
The functionality to check if an estimator is fitted (and the is_fitted property) are not needed for "non-fitable" Sktime classes (for instance performance_metrics). However, these Sktime would benefit from inheriting from a base Sktime object that includes the estimator tag functionality. Additionally, if these classes inherit from Sktime's BaseEstimator it causes problems for unit testing that is designed to test "fitable" estimators.
Describe the solution you'd like
Create an Sktime BaseObject class that inherits from scikit-learn's BaseEstimator and only adds the method for returning estimator tags.
Sktime's BaseEstimator can then inherit from the BaseObject and add the functionality that applies to estimators (e.g. is_fitted and check_is_fitted).
Add appropriate unit tests for BaseObject.
Describe alternatives you've considered
Primary alternative is to copy functionality needed functionality from BaseEstimator (e.g. #858), but inheriting the functionality is much cleaner and less error prone.