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 将返回以下之一:
估计器的列表,如果 return_names=False,并且 return_tags 为 None
元组列表(可选的估计器名称,类,~可选的估计器)
标签),如果 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-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={"handles-missing-data": True})