所有估计器#
- 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'>)]