all_estimators#

sklearn.utils.discovery.all_estimators(type_filter=None)#

获取 sklearn 中的所有估计器列表。

此函数爬取模块并获取所有继承自BaseEstimator的类。在测试模块中定义的类不包括在内。

Parameters:
type_filter{“classifier”, “regressor”, “cluster”, “transformer”} 或此类字符串的列表, default=None

应返回哪种类型的估计器。如果为None,则不应用过滤器,并返回所有估计器。可能的值有 ‘classifier’、’regressor’、’cluster’和’transformer’,以仅获取这些特定类型的估计器,或这些值的列表, 以获取至少符合其中一种类型的估计器。

Returns:
estimators元组列表

列表中的(名称, 类),其中 名称 是类的字符串名称, 是类的实际类型。

Examples

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