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

How to list all scikit-learn classifiers that support predict_proba()

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

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.

的分类器

之前有人在 SO 上问过这个问题,但我找不到,所以请原谅你重复了 ;)

AdaBoost 分类器

装袋分类器

贝叶斯高斯混合

伯努利NB

CalibratedClassifierCV

补充NB

决策树分类器

ExtraTreeClassifier

ExtraTreesClassifier

高斯混合

高斯NB

高斯过程分类器

GradientBoostingClassifier

KNeighborsClassifier

标签传播

标签传播

线性判别分析

逻辑回归

LogisticRegressionCV

MLP分类器

多项NB

NuSVC

二次判别分析

随机森林分类器

SGDClassifier

SVC

_BinaryGaussianProcessClassifierLaplace

_ConstantPredictor

那些面临在新版本的 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

如果您对特定类型的估计器(比如分类器)感兴趣,您可以选择:

导入sklearn 估计量 = sklearn.utils.all_estimators(type_filter="分类器") 对于名称,估算器中的 class_: 如果不是 hasattr(class_, 'predict_proba'): 打印(姓名)