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

b5buobof  于 2023-01-24  发布在  Python
关注(0)|答案(5)|浏览(196)

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

ih99xse1

ih99xse11#

from sklearn.utils import all_estimators

estimators = all_estimators()

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

您还可以使用CalibratedClassifierCV将任何分类器设置为predict_proba
之前在SO上问过了,但是找不到,所以请原谅重复;)

cyej8jka

cyej8jka2#

AdaBoost分类器
装袋分类器
贝叶斯高斯混合
伯努利
校准分类器CV
补体NB
决策树分类器
额外树分类器
额外树分类器
高斯混合
高斯NB
高斯过程分类器
梯度提升分类器
Knighbors分类器
标签传播
标签展开
线性判别分析
逻辑回归
逻辑回归CV
MLP分类器
多名称NB
NuSVC
二次判别分析
随机森林分类器
SGD分类器
上腔静脉
_二元高斯过程分类器拉普拉斯
_常量预测值

kiayqfof

kiayqfof3#

在较新版本的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
toiithl6

toiithl64#

如果你对一个特定类型的估计器(比如分类器)感兴趣,你可以选择:
导入sklearn估计量= sklearn.utils.all_estimators(类型过滤器=“分类器”),用于估计量中名称、类:如果没有属性(类,“预测概率”):印刷体(姓名)

yyyllmsg

yyyllmsg5#

您可以使用它获得的实际估计量名称:

from sklearn.utils import all_estimators

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

这是实际导入代码(sklearn 1.0.2)

from sklearn.tree import ExtraTreeClassifier, DecisionTreeClassifier
from sklearn.multioutput import ClassifierChain, MultiOutputClassifier
from sklearn.multiclass import OutputCodeClassifier, OneVsOneClassifier, OneVsRestClassifier
from sklearn.naive_bayes import BernoulliNB, GaussianNB, MultinomialNB, CategoricalNB, ComplementNB
from sklearn.calibration import CalibratedClassifierCV
from sklearn.semi_supervised import LabelPropagation, LabelSpreading, SelfTrainingClassifier
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis, QuadraticDiscriminantAnalysis
from sklearn.svm import LinearSVC, SVC, OneClassSVM, NuSVC
from sklearn import mixture
from sklearn.mixture import BayesianGaussianMixture, GaussianMixture
from sklearn.neural_network import MLPClassifier
from sklearn.neighbors import RadiusNeighborsClassifier, KNeighborsClassifier, NearestCentroid
from sklearn.linear_model import LogisticRegression, LogisticRegressionCV, Perceptron, SGDClassifier, \
                                RidgeClassifierCV, RidgeClassifier, PassiveAggressiveClassifier
from sklearn.gaussian_process import GaussianProcessClassifier
from sklearn.ensemble import VotingClassifier, AdaBoostClassifier, GradientBoostingClassifier, \
                            BaggingClassifier, ExtraTreesClassifier, RandomForestClassifier, \
                            HistGradientBoostingClassifier, StackingClassifier
from sklearn.dummy import DummyClassifier
from sklearn.experimental import enable_halving_search_cv  # must be import before 
from sklearn.model_selection import GridSearchCV, HalvingGridSearchCV, HalvingRandomSearchCV, RandomizedSearchCV
from sklearn.pipeline import Pipeline
from sklearn.feature_selection import RFE, RFECV

估计量列表

  1. AdaBoost分类器
    1.装袋分类器
    1.贝叶斯高斯混合
    1.伯努利
    1.校准分类器CV
    1.分类NB
    1.分类器链
    1.补体NB
    1.决策树分类器
    1.虚拟分类器
    1.额外树分类器
    1.额外树分类器
    1.高斯混合
    1.高斯NB
    1.高斯过程分类器
    1.梯度提升分类器
    1.网格搜索CV
    1.半网格搜索CV
    1.减半随机搜索CV
    1.历史梯度提升分类器
  2. Knighbors分类器
    1.标签传播
    1.标签展开
    1.线性判别分析
    1.逻辑回归
    1.逻辑回归CV
  3. MLP分类器
    1.多输出分类器
    1.多名称NB
  4. NuSVC
  5. OneVsREST分类器
    1.管道
    1.二次判别分析
    1.射频消融
  6. RFECV
    1.半径邻域分类器
    1.随机森林分类器
    1.随机检索CV
  7. SGD分类器
    1.上腔静脉
    1.自训练分类器
    1.堆叠分类器
    1.投票分类器

相关问题