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]#
列出 sktime 中所有估计器或对象,按科学类型或标签划分。
此函数遍历模块并获取所有继承自 sktime 和 sklearn 基类的类。
不包括:基类本身、在测试模块中定义的类。
- 参数:
- estimator_types: str, str 列表, 可选 (默认值=None)
要返回哪种类型的估计器。如果为 None,则不应用任何过滤器并返回所有估计器。如果为 str 或 str 列表,字符串定义在搜索中指定的科学类型,仅返回属于(至少)其中一个科学类型的估计器,可能的 str 值是 registry.BASE_CLASS_REGISTER(第一列)的条目,例如 'classifier', 'regressor', 'transformer', 'forecaster'
- return_names: bool, 可选 (默认值=True)
如果为 True,估计器类名将包含在
all_estimators
返回值中,顺序为:名称、估计器类、可选标签,可以作为元组或 pandas.DataFrame 的列如果为 False,估计器类名将从
all_estimators
返回值中移除。- filter_tags: dict (str 或 str 列表 或 re.Pattern), 可选 (默认值=None)
要获取有效标签字符串列表,请使用 registry.all_tags 实用函数。
filter_tags
按如下方式对返回的估计器进行子集化每个键/值对都是“与”/合取语句
键是要子集的标签名称
值 str 或字符串列表是标签值
条件是“键必须等于值,或在集合 set(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
的条件。
注意:仅从
scikit-base
0.8.0 版本开始支持re.Pattern
。- exclude_estimators: str, str 列表, 可选 (默认值=None)
要排除的估计器名称。
- as_dataframe: bool, 可选 (默认值=False)
True:
all_estimators
将返回一个pandas.DataFrame
,其中包含返回的所有属性的命名列。False:
all_estimators
将返回一个列表(估计器列表或元组列表,参见返回值)- return_tags: str 或 str 列表, 可选 (默认值=None)
要获取并返回每个估计器值的标签名称。有关有效标签字符串列表,请使用
registry.all_tags
实用函数。如果为 str 或 str 列表,则将获取 return_tags 中命名的标签值,并将其作为列或元组条目添加到每个估计器中。- suppress_import_stdoutbool, 可选。默认值=True
是否在导入时抑制标准输出打印。
- 返回值:
- all_estimators 将返回以下之一
估计器列表,如果
return_names=False
且return_tags
为 None
2. 元组列表(可选估计器名称、类、可选估计器标签),如果
return_names=True
或return_tags
不为None
。如果
as_dataframe = True
则为pandas.DataFrame
- 如果是估计器列表
条目是与查询匹配的估计器,按估计器名称的字母顺序排列
- 如果是元组列表
与查询匹配的 (可选估计器名称, 估计器, 可选估计器标签) 列表,按估计器名称的字母顺序排列,其中
name
是作为字符串的估计器名称,是一个可选返回值;estimator
是实际的估计器;tags
是估计器在 return_tags 中每个标签的值,是一个可选返回值。- 如果是
DataFrame
列名表示每列包含的属性。“estimators” 将是估计器列的名称,“names” 将是估计器类名列的名称,传入 return_tags 的字符串将作为所有可选请求的标签列的列名。
参考
修改自
scikit-learn
的all_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={"capability:missing_values": True})