all_estimators

all_estimators(type_filter=None, exclude_types=None, tag_filter=None, exclude_tags=None, include_sklearn=True, return_names=True)[source]

Get a list of all estimators from aeon.

This function crawls the module and gets all classes that inherit from aeon’s and sklearn’s base classes.

Not included are: the base classes themselves, classes defined in test modules.

Based on the sklearn utility of the same name.

Parameters:
type_filter: str, estimator type or list of str/type, default=None

Which kind of estimators should be returned. if None, no filter is applied. if str, type or list, returns esimators that are of one of the provided types.

Valid entries are available in the keys and values of utils.base.BASE_CLASS_REGISTER. i.e. “classifier” and “transformer” for str, and BaseClassifier and BaseTransformer for type.

exclude_types: str, estimator type or list of str/type, default=None

Which kind of estimators to exclude. Inverse of type_filter. if None, no exclusion is applied. if str, type or list, excludes esimators that are of the provided types.

Valid entries are available in the keys and values of utils.base.BASE_CLASS_REGISTER. i.e. “classifier” and “transformer” for str, and BaseClassifier and BaseTransformer for type.

tag_filter: dict of (str or list of str), default=None
Return only estimators that have tags matching the provided values.

i.e. {“capability:unequal_length”:True} will return all estimators that have the tag “capability:unequal_length” with a value of True.

exclude_tags: dict of (str or list of str), default=None

Exclude only estimators that have tags matching the provided values. Inverse of tag_filter.

i.e. {“capability:unequal_length”:True} will exclude all estimators that have the tag “capability:unequal_length” with a value of True.

include_sklearn: bool, default=True

if True, include estimators implemented using the sklearn interface (not inheriting from BaseAeonEstimator) in the output. type_filter and tag_filter will remove these estimators.

return_names: bool, default=True
if True, a tuple (estimator name, estimator class) is returned for each

estimator in the list.

if False, only the estimator class is returned.

Returns:
estimators

list of tuples (estimator name, estimator class) if return_names=True, else list of estimator classes

Examples

>>> from aeon.utils.discovery import all_estimators
>>> # return a complete list of estimators as pd.Dataframe
>>> all = all_estimators()
>>> # return all classifiers by filtering for estimator type
>>> classifiers = all_estimators(type_filter="classifier")
>>> # return all classifiers which handle unequal length data by tag filtering
>>> clf_ul = all_estimators(
...     type_filter="classifier", tag_filter={"capability:unequal_length":True}
... )