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