all_estimators#
- sklearn.utils.discovery.all_estimators(type_filter=None)[source]#
从
sklearn获取所有估算器列表。此函数遍历模块并获取所有继承自 BaseEstimator 的类。测试模块中定义的类不包括在内。
- 参数:
- type_filter{“classifier”, “regressor”, “cluster”, “transformer”} 或此类 str 的列表,默认=None
应返回哪种类型的估计器。如果为 None,则不应用任何过滤器,返回所有估计器。可能的值为 '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'>)]