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'>)]