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)[源代码][源代码]#

按科学类型或标签列出 sktime 中的所有估计器或对象。

此函数爬取模块并获取所有继承自 sktime 和 sklearn 基类的类。

不包括在内的是:基类本身,以及在测试模块中定义的类。

参数:
estimator_types: str, list of str, 可选 (默认=None)

应该返回哪种类型的估计器。如果为 None,则不应用过滤器,返回所有估计器。如果为 str 或 str 列表,字符串定义了仅在搜索中指定的科学类型,只有属于(至少)其中一种科学类型的估计器才会被返回。可能的 str 值是 registry.BASE_CLASS_REGISTER(第一列)中的条目,例如 ‘分类器’、’回归器’、’转换器’、’预测器’

return_names: bool, 可选 (默认=True)

如果为真,估计器类名将包含在 all_estimators 返回中,顺序为:名称、估计器类、可选标签,可以是元组形式或 pandas.DataFrame 列形式。

如果为 False,估计器类名将从 all_estimators 返回中移除。

filter_tags: dict of (str or list of str or re.Pattern), 可选 (默认=None)

要获取有效标签字符串的列表,请使用 registry.all_tags 工具。

filter_tags 按如下方式对返回的估计器进行子集划分:

  • 每个键/值对是“和”/连接中的一个陈述

  • key 是用于子集的标签名称

  • value 字符串或字符串列表是标签值

  • 条件是“键必须等于值,或在集合(值)中”

详细来说,返回的结果将被过滤,以保留标签满足所有由 filter_tags 指定的过滤条件的类。过滤条件如下,对于 filter_tags 字典中的 tag_name: search_value 对,应用于一个类 klass

  • 如果 klass 没有名为 tag_name 的标签,则它被排除。否则,设 tag_value 为名为 tag_name 的标签的值。

  • 如果 search_value 是一个字符串,并且 tag_value 是一个字符串,过滤条件是 search_value 必须匹配标签值。

  • 如果 search_value 是一个字符串,而 tag_value 是一个列表,过滤条件是 search_value 包含在 tag_value 中。

  • 如果 search_value 是一个 re.Pattern,并且 tag_value 是一个字符串,过滤条件是 search_value.fullmatch(tag_value) 为真,即正则表达式匹配标签值。

  • 如果 search_value 是一个 re.Pattern,并且 tag_value 是一个列表,过滤条件是 tag_value 中至少有一个元素匹配正则表达式。

  • 如果 search_value 是可迭代的,那么过滤条件是 search_value 中至少有一个元素满足上述条件,这些条件应用于 tag_value

注意:re.Pattern 仅在 scikit-base 版本 0.8.0 及以上支持。

exclude_estimators: str, list of str, 可选 (默认=None)

要排除的估计器名称。

as_dataframe: bool, 可选 (默认=False)

True: all_estimators 将返回一个包含所有返回属性的命名列的 pandas.DataFrame

False: all_estimators 将返回一个列表(可以是估计器的列表或元组的列表,参见 Returns)

return_tags: str 或 str 列表, 可选 (默认=None)

要获取并返回每个估计器值的标签名称。对于有效的标签字符串列表,请使用 registry.all_tags 工具。如果是字符串或字符串列表,则会在每个估计器中获取 return_tags 中命名的标签值,并将其作为列或元组条目追加。

suppress_import_stdoutbool, 可选。默认=True

是否在导入时抑制标准输出打印。

返回:
all_estimators 将返回以下之一:
  1. 估计器的列表,如果 return_names=False,并且 return_tags 为 None

  2. 元组列表(可选的估计器名称,类,~可选的估计器)

标签),如果 return_names=True 或 return_tags 不是 None。

3. pandas.DataFrame if as_dataframe = True if list of estimators:

条目是与查询匹配的估计器,按估计器名称的字母顺序排列。

如果是一个元组列表:

匹配查询的 (可选的估计器名称, 估计器, 可选的估计器标签) 列表,按估计器名称的字母顺序排列,其中 name 是估计器名称的字符串表示,是一个可选的返回项 estimator 是实际的估计器 tags 是估计器在 return_tags 中每个标签的值,是一个可选的返回项。

如果数据框:

all_estimators 将返回一个 pandas.DataFrame。列名表示每个列中包含的属性。”estimators” 将是估计器列的名称,”names” 将是估计器类名列的名称,而传入 return_tags 的字符串将作为所有可选请求的标签列的列名。

参考文献

scikit-learnall_estimators 的修改版本。

示例

>>> 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})