all_estimators¶
- all_estimators(estimator_types=None, filter_tags=None, exclude_estimators=None, exclude_estimator_types=None, return_names=True, as_dataframe=False, return_tags=None, suppress_import_stdout=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:
- estimator_types: str, list of str, default=None
Which kind of estimators should be returned. if None, no filter is applied and all estimators are returned. if str or list of str, string identifiers define types specified in search
only estimators that are of (at least) one of the types are returned
- possible str values are entries of registry.BASE_CLASS_REGISTER (first col)
for instance ‘classifier’, ‘regressor’, ‘transformer’
- return_names: bool, default=True
- if True, estimator class name is included in the all_estimators()
return in the order: name, estimator class, optional tags, either as a tuple or as pandas.DataFrame columns
- if False, estimator class name is removed from the all_estimators()
return.
- filter_tags: dict of (str or list of str), default=None
For a list of valid tag strings, use the registry.all_tags utility. subsets the returned estimators as follows:
- each key/value pair is statement in “and”/conjunction
key is tag name to sub-set on value str or list of string are tag values condition is “key must be equal to value, or in set(value)”
- exclude_estimators: str, list of str, default=None
Names of estimators to exclude.
- exclude_estimator_types: str, list of str, default=None
Names of estimator types to exclude i.e. “collection_transformer” when you are looking for “transformer” classes
- as_dataframe: bool, default=False
- if True, all_estimators will return a pandas.DataFrame with named
columns for all of the attributes being returned.
- if False, all_estimators will return a list (either a list of
estimators or a list of tuples, see Returns)
- return_tags: str or list of str, default=None
Names of tags to fetch and return each estimator’s value of. For a list of valid tag strings, use the registry.all_tags utility. if str or list of str,
the tag values named in return_tags will be fetched for each estimator and will be appended as either columns or tuple entries.
- suppress_import_stdoutbool, optional. Default=True
whether to suppress stdout printout upon import.
- Returns:
- all_estimators will return one of the following:
list of estimators, if return_names=False, and return_tags is None
- list of tuples (optional estimator name, class, ~optional estimator
tags), if return_names=True or return_tags is not None.
3. pandas.DataFrame if as_dataframe = True if list of estimators:
entries are estimators matching the query, in alphabetical order of estimator name
- if list of tuples:
list of (optional estimator name, estimator, optional estimator tags) matching the query, in alphabetical order of estimator name, where
name
is the estimator name as string, and is anoptional return
estimator
is the actual estimatortags
are the estimator’s values for each tag in return_tagsand is an optional return.
- if dataframe:
all_estimators will return a pandas.DataFrame. column names represent the attributes contained in each column. “estimators” will be the name of the column of estimators, “names” will be the name of the column of estimator class names and the string(s) passed in return_tags will serve as column names for all columns of tags that were optionally requested.
References
Modified version from scikit-learn’s all_estimators().
Examples
>>> from aeon.registry import all_estimators >>> # return a complete list of estimators as pd.Dataframe >>> all = all_estimators(as_dataframe=True) >>> # return all classifiers by filtering for estimator type >>> classifiers = all_estimators("classifier") >>> # return all classifiers which handle unequal length data by tag filtering >>> clf_ul = all_estimators( ... "classifier", filter_tags={"capability:unequal_length":True} ... )