Skip to content

Create BaseObject  #877

@RNKuhns

Description

@RNKuhns

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    API designAPI design & software architecturefeature requestNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions