all_estimators#

sklearn.utils.discovery.all_estimators(type_filter=None)[原始碼]#

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