0

Ich habe ein Klassifizierungsproblem und möchte alle verfügbaren Algorithmen testen, um ihre Leistung bei der Lösung des Problems zu testen. Wenn Sie einen anderen Klassifizierungsalgorithmus als die unten aufgeführten kennen, listen Sie ihn bitte hier auf.Liste aller Klassifikationsalgorithmen

GradientBoostingClassifier() 
DecisionTreeClassifier() 
RandomForestClassifier() 
LinearDiscriminantAnalysis() 
LogisticRegression() 
KNeighborsClassifier() 
GaussianNB() 
ExtraTreesClassifier() 
BaggingClassifier() 

Ihre Hilfe wird sehr geschätzt.

+2

Bitte um eine Liste aller Klassifikationsalgorithmen ist zu weit gefasst verwendet - die Zahl sehr groß sein wird. Für eine Liste aller Klassifikationsalgorithmen, die derzeit in scikit-learn verfügbar sind, können Sie in den scikit-learn-Dokumenten "überwachtes Lernen" durchlaufen. http://scikit-learn.org/stable/supervised_learning.html Sie haben z. SVM und neuronale Netze. – cel

+0

Die Liste aller Klassifikationsalgorithmen wird riesig sein. Aber Sie können nach den beliebtesten Algorithmen für die Klassifizierung fragen. Für jede Klassifizierungsaufgabe versuchen Sie zuerst die einfachen (linearen) Methoden der logistischen Regression, Naive Bayes, lineare SVM, Entscheidungsbäume usw., dann versuchen Sie nichtlineare Methoden von SVM mit RBF Kernel, Ensemble Methoden wie Random Forests, Gradienten Boosted Bäume, etc Versuchen Sie dann erweiterte Methoden wie Deep Learning. – prashanth

Antwort

1

Sie können auf folgende Frage aussehen soll:

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

Die akzeptierte Antwort zeigt das Verfahren alle Schätzer in scikit zu erhalten, die predict_probas Methode unterstützen. Einfach iterieren und drucken Sie alle Namen ohne die Bedingung zu überprüfen und Sie erhalten alle Schätzer. (Sichter, Regressoren, Cluster usw.)

Nur Klassifizierer, ändern Sie es unten wie alle Klassen zu überprüfen, die ClassifierMixin

from sklearn.base import ClassifierMixin 
from sklearn.utils.testing import all_estimators 
classifiers=[est for est in all_estimators() if issubclass(est[1], ClassifierMixin)] 
print(classifiers) 

Punkte implementieren zu beachten:

  • Die Klassifizierer mit CV suffixed ihre Namen implementieren integrierte Kreuzvalidierung (wie LogisticRegressionCV, RidgeClassifierCV usw.).
  • Einige sind ensemble und können andere Klassifikatoren in Eingabeargumenten verwenden.
  • Einige Klassifizierer wie _QDA, _LDA sind Aliase für andere Klassifikatoren und können in den nächsten Versionen von scikit-learn entfernt werden.

Sie sollten ihre jeweilige Referenz docs überprüfen, bevor sie