all_estimators#

sklearn.utils.discovery.all_estimators(type_filter=None)[源代码]#

从以下获取所有估计器的列表 sklearn .

该函数抓取模块并获取从Base Estimator继承的所有类。不包括测试模块中定义的类。

参数:
type_filter{“分类器”、“回归器”、“集群”、“Transformer”} 或此类字符串的列表,默认=无

应该返回哪种估计器。如果无,则不应用过滤器并返回所有估计量。 可能的值是'classifier','regressor','cluster'和'Transformer',以获得仅这些特定类型的估计值,或者这些值的列表以获得适合至少一种类型的估计值。

返回:
estimators元组列表

(名称、类别)列表,其中 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'>)]