如何列出支持predict_proba()的所有scikit-learn分类器

时间:2015-05-05 14:50:44

标签: python scikit-learn

我需要一个支持predict_proba()方法的所有scikit-learn分类器的列表。由于文档没有提供获取该信息的简单方法,如何以编程方式获取此信息?

3 个答案:

答案 0 :(得分:34)

from sklearn.utils.testing import all_estimators

estimators = all_estimators()

for name, class_ in estimators:
    if hasattr(class_, 'predict_proba'):
        print(name)

您还可以使用CalibratedClassifierCV将任何分类器变为具有predict_proba的分类器。

之前有人问过这个问题,但是我无法找到它,所以你应该原谅副本;)

答案 1 :(得分:1)

AdaBoostClassifier

BaggingClassifier

BayesianGaussianMixture

伯努利NB

CalibratedClassifierCV

ComplementNB

DecisionTreeClassifier

ExtraTreeClassifier

ExtraTreesClassifier

GaussianMixture

GaussianNB

GaussianProcessClassifier

GradientBoostingClassifier

KNeighborsClassifier

LabelPropagation

LabelSpreading

LinearDiscriminantAnalysis

LogisticRegression

LogisticRegressionCV

MLPClassifier

MultinomialNB

NuSVC

二次判别分析

RandomForestClassifier

SGDClassifier

SVC

_BinaryGaussianProcessClassifierLaplace

_ConstantPredictor

答案 2 :(得分:0)

那些在较新版本的 sklearn 中找不到 all_estimators 模块的人。请尝试以下操作

import sklearn
estimators = sklearn.utils.all_estimators(type_filter=None)
for name, class_ in estimators:
    if hasattr(class_, 'predict_proba'):
        print(name)

Output: 

AdaBoostClassifier
BaggingClassifier
BayesianGaussianMixture
BernoulliNB
CalibratedClassifierCV
CategoricalNB
ClassifierChain
ComplementNB
DecisionTreeClassifier
DummyClassifier
ExtraTreeClassifier
ExtraTreesClassifier
GaussianMixture
GaussianNB
GaussianProcessClassifier
GradientBoostingClassifier
GridSearchCV
HalvingGridSearchCV
HalvingRandomSearchCV
HistGradientBoostingClassifier
KNeighborsClassifier
LabelPropagation
LabelSpreading
LinearDiscriminantAnalysis
LogisticRegression
LogisticRegressionCV
MLPClassifier
MultiOutputClassifier
MultinomialNB
NuSVC
OneVsRestClassifier
Pipeline
QuadraticDiscriminantAnalysis
RFE
RFECV
RadiusNeighborsClassifier
RandomForestClassifier
RandomizedSearchCV
SGDClassifier
SVC
SelfTrainingClassifier
StackingClassifier
VotingClassifier