如何列出支持Predive_proba()的所有Scikit-Learn分类器



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

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

您也可以使用校准ClassifierCV将任何分类器变成具有predict_proba的分类器。

这是在此之前提出的,但我找不到它,因此您应该为重复辩护;)

adaboostClassifier

BaggingClassifier

贝叶斯高斯杂物

bernoullinb

校准Classifiercv

Reppormentnb

decisionTreeClalifier

extratreeClalsifier

extratreesClassifier

高斯杂物

高斯

Gaussian ProcessClassifier

渐变bloostingclassifier

kneighborsclassifier

LabelPropagation

labelspreading

线性歧视

logisticRegress

logisticRegressioncv

mlpclassifier

Multinomialnb

nusvc

四歧视分析

RandomForestClassifier

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

如果您对Spesific类型的估算器感兴趣(例如分类器),则可以使用:

进口Sklearn估算器= sklearn.utils.all_estimators(type_filter =" classifier; quot; quot)对于姓名,class_在估算器中:如果不是hasattr(class_,'preadive_proba'):打印(名称)

实际导入代码您可以使用它获得实际导入代码(Sklearn 1.0.2):

from sklearn.utils import all_estimators
estimators = all_estimators(type_filter='classifier')
for name, class_ in estimators:
    module_name = str(class_).split("'")[1].split(".")[1]
    class_name = class_.__name__
    print(f'from sklearn.{module_name} import {class_name}')

输出

from sklearn.ensemble import AdaBoostClassifier
from sklearn.ensemble import BaggingClassifier
from sklearn.naive_bayes import BernoulliNB
from sklearn.calibration import CalibratedClassifierCV
from sklearn.naive_bayes import CategoricalNB
from sklearn.multioutput import ClassifierChain
from sklearn.naive_bayes import ComplementNB
from sklearn.tree import DecisionTreeClassifier
from sklearn.dummy import DummyClassifier
from sklearn.tree import ExtraTreeClassifier
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.gaussian_process import GaussianProcessClassifier
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.ensemble import HistGradientBoostingClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.semi_supervised import LabelPropagation
from sklearn.semi_supervised import LabelSpreading
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.svm import LinearSVC
from sklearn.linear_model import LogisticRegression
from sklearn.linear_model import LogisticRegressionCV
from sklearn.neural_network import MLPClassifier
from sklearn.multioutput import MultiOutputClassifier
from sklearn.naive_bayes import MultinomialNB
from sklearn.neighbors import NearestCentroid
from sklearn.svm import NuSVC
from sklearn.multiclass import OneVsOneClassifier
from sklearn.multiclass import OneVsRestClassifier
from sklearn.multiclass import OutputCodeClassifier
from sklearn.linear_model import PassiveAggressiveClassifier
from sklearn.linear_model import Perceptron
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
from sklearn.neighbors import RadiusNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import RidgeClassifier
from sklearn.linear_model import RidgeClassifierCV
from sklearn.linear_model import SGDClassifier
from sklearn.svm import SVC
from sklearn.ensemble import StackingClassifier
from sklearn.ensemble import VotingClassifier

分类估计量列表

from sklearn.utils import all_estimators
estimators = all_estimators(type_filter='classifier')
i = 0
for name, class_ in estimators:
    print(f'{i}. {class_.__name__}')
    i += 1

输出(41个估计器)

  1. adaboostClassifier
  2. 袋装classifier
  3. bernoullinb
  4. 校准Clastifiercv
  5. 分类
  6. 分类器
  7. Reppormentnb
  8. decisionTreeClalifier
  9. DummyClassifier
  10. extratreeclalsifier
  11. ExtratreesClassifier
  12. 高斯人
  13. Gaussian ProcessClassifier
  14. 渐变boostingClassifier
  15. Histgradient BoostingClassifier
  16. kneighborsclassifier
  17. LabelPropagation
  18. labelspreading
  19. 线性歧义抗分析
  20. linearsvc
  21. LogisticRegress
  22. logisticRegressioncv
  23. mlpClassifier
  24. MultiOutputClassifier
  25. Multinomialnb
  26. 最近的中心
  27. nusvc
  28. OneVsoneClallifier
  29. OneVsrestClassifier
  30. outputcodecifier
  31. vassiveaggressiveclalsifier
  32. perceptron
  33. 四歧视分析
  34. RadiusneighborsClassifier
  35. RandomForestClassifier
  36. ridgeClallifier
  37. ridgeclallcv
  38. sgdclassifier
  39. SVC
  40. stackingClassifier
  41. 投票classifier

最新更新