我需要支持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个估计器)
- adaboostClassifier
- 袋装classifier
- bernoullinb
- 校准Clastifiercv
- 分类
- 分类器
- Reppormentnb
- decisionTreeClalifier
- DummyClassifier
- extratreeclalsifier
- ExtratreesClassifier
- 高斯人
- Gaussian ProcessClassifier
- 渐变boostingClassifier
- Histgradient BoostingClassifier
- kneighborsclassifier
- LabelPropagation
- labelspreading
- 线性歧义抗分析
- linearsvc
- LogisticRegress
- logisticRegressioncv
- mlpClassifier
- MultiOutputClassifier
- Multinomialnb
- 最近的中心
- nusvc
- OneVsoneClallifier
- OneVsrestClassifier
- outputcodecifier
- vassiveaggressiveclalsifier
- perceptron
- 四歧视分析
- RadiusneighborsClassifier
- RandomForestClassifier
- ridgeClallifier
- ridgeclallcv
- sgdclassifier
- SVC
- stackingClassifier
- 投票classifier