all_estimators#
- all_estimators(estimator_types=None, filter_tags=None, exclude_estimators=None, return_names=True, as_dataframe=False, return_tags=None, suppress_import_stdout=True)[source]#
List all estimators or objects in sktime, by scitype or tag.
This function crawls the module and gets all classes that inherit from sktime’s and sklearn’s base classes.
Not included are: the base classes themselves, classes defined in test modules.
- Parameters:
- estimator_types: str, list of str, optional (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, strings define scitypes specified in search only estimators that are of (at least) one of the scitypes are returned possible str values are entries of registry.BASE_CLASS_REGISTER (first col) for instance ‘classifier’, ‘regressor’, ‘transformer’, ‘forecaster’
- return_names: bool, optional (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 columnsif False, estimator class name is removed from the
all_estimators
return.- filter_tags: dict of (str or list of str or re.Pattern), optional (default=None)
For a list of valid tag strings, use the registry.all_tags utility.
filter_tags
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)”
In detail, he return will be filtered to keep exactly the classes where tags satisfy all the filter conditions specified by
filter_tags
. Filter conditions are as follows, fortag_name: search_value
pairs in thefilter_tags
dict, applied to a classklass
:If
klass
does not have a tag with nametag_name
, it is excluded. Otherwise, lettag_value
be the value of the tag with nametag_name
.If
search_value
is a string, andtag_value
is a string, the filter condition is thatsearch_value
must match the tag value.If
search_value
is a string, andtag_value
is a list, the filter condition is thatsearch_value
is contained intag_value
.If
search_value
is are.Pattern
, andtag_value
is a string, the filter condition is thatsearch_value.fullmatch(tag_value)
is true, i.e., the regex matches the tag value.If
search_value
is are.Pattern
, andtag_value
is a list, the filter condition is that at least one element oftag_value
matches the regex.If
search_value
is iterable, then the filter condition is that at least one element ofsearch_value
satisfies the above conditions, applied totag_value
.
Note:
re.Pattern
is supported only fromscikit-base
version 0.8.0.- exclude_estimators: str, list of str, optional (default=None)
Names of estimators to exclude.
- as_dataframe: bool, optional (default=False)
True:
all_estimators
will return apandas.DataFrame
with named columns for all of the attributes being returned.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, optional (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
, andreturn_tags
is None
2. list of tuples (optional estimator name, class, ~ptional estimator tags), if
return_names=True
orreturn_tags
is notNone
.pandas.DataFrame
ifas_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 an optional returnestimator
is the actual estimatortags
are the estimator’s values for each tag in return_tags and is an optional return.- if
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 of
scikit-learn
’sall_estimators
.Examples
>>> from sktime.registry import all_estimators >>> # return a complete list of estimators as pd.Dataframe >>> all_estimators(as_dataframe=True) >>> # return all forecasters by filtering for estimator type >>> all_estimators("forecaster") >>> # return all forecasters which handle missing data in the input by tag filtering >>> all_estimators("forecaster", filter_tags={"handles-missing-data": True})