all_estimators#

sklearn.utils.discovery.all_estimators(type_filter=None)[source]#

sklearn 获取所有估算器列表。

该函数会遍历模块并获取所有继承自 BaseEstimator 的类。定义在测试模块中的类不会被包含在内。

参数:
type_filter{“classifier”, “regressor”, “cluster”, “transformer”} 或此类字符串的列表,默认=None

应返回哪种类型的评估器。如果为 None,则不应用过滤器,返回所有评估器。可选值为 ‘classifier’(分类器)、‘regressor’(回归器)、‘cluster’(聚类器)和 ‘transformer’(转换器),用于仅获取这些特定类型的评估器,或者传入这些类型的列表以获取至少符合其中一种类型的评估器。

返回:
estimators元组列表

(name, class) 列表,其中 name 为类名字符串,class 为该类的实际类型。

示例

>>> from sklearn.utils.discovery import all_estimators
>>> estimators = all_estimators()
>>> type(estimators)
<class 'list'>
>>> type(estimators[0])
<class 'tuple'>
>>> estimators[:2]
[('ARDRegression', <class 'sklearn.linear_model._bayes.ARDRegression'>),
 ('AdaBoostClassifier',
  <class 'sklearn.ensemble._weight_boosting.AdaBoostClassifier'>)]
>>> classifiers = all_estimators(type_filter="classifier")
>>> classifiers[:2]
[('AdaBoostClassifier',
  <class 'sklearn.ensemble._weight_boosting.AdaBoostClassifier'>),
 ('BaggingClassifier', <class 'sklearn.ensemble._bagging.BaggingClassifier'>)]
>>> regressors = all_estimators(type_filter="regressor")
>>> regressors[:2]
[('ARDRegression', <class 'sklearn.linear_model._bayes.ARDRegression'>),
 ('AdaBoostRegressor',
  <class 'sklearn.ensemble._weight_boosting.AdaBoostRegressor'>)]
>>> both = all_estimators(type_filter=["classifier", "regressor"])
>>> both[:2]
[('ARDRegression', <class 'sklearn.linear_model._bayes.ARDRegression'>),
 ('AdaBoostClassifier',
  <class 'sklearn.ensemble._weight_boosting.AdaBoostClassifier'>)]