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