Wählen Sie einen binären Klassifizierungsalgorithmus

16

Ich habe ein Problem mit der binären Klassifizierung:

  • Ca. 1000 Proben im Trainingsset
  • 10 Attribute, einschließlich binär, numerisch und kategorisch

Welcher Algorithmus ist die beste Wahl für diese Art von Problem?

Standardmäßig beginne ich mit SVM (vorläufig werden die nominalen Attributwerte in binäre Features konvertiert), da dies als das Beste für relativ saubere und nicht verrauschte Daten angesehen wird.

IharS
quelle

Antworten:

15

Es ist schwer zu sagen, ohne ein wenig mehr über Ihr Dataset zu wissen und wie trennbar Ihr Dataset auf Ihrem Feature-Vektor basiert. Ich würde jedoch wahrscheinlich vorschlagen, aufgrund Ihres relativ kleinen Stichproben-Sets einen extrem zufälligen Wald gegenüber standardmäßigen zufälligen Wäldern zu verwenden.

Extreme Zufallswälder sind Standard-Zufallswäldern ziemlich ähnlich, mit der Ausnahme, dass bei extremen Zufallswäldern die Aufteilung der Bäume nicht optimiert wird, sondern sie nach dem Zufallsprinzip erfolgt. Dies scheint zunächst negativ zu sein, bedeutet aber im Allgemeinen, dass Sie eine deutlich bessere Verallgemeinerung und Geschwindigkeit haben, obwohl die AUC auf Ihrem Trainingssatz wahrscheinlich etwas schlechter ist.

Logistische Regression ist auch eine ziemlich solide Wette für diese Art von Aufgaben, obwohl ich mir wegen Ihrer relativ geringen Dimensionalität und geringen Stichprobengröße Sorgen über eine Überanpassung machen würde. Möglicherweise möchten Sie die Verwendung von K-Nearest Neighbors ausprobieren, da es häufig sehr willensstark mit geringen Dimensionalitäten ist, aber kategoriale Variablen normalerweise nicht gut verarbeitet.

Wenn ich eine auswählen müsste, ohne mehr über das Problem zu wissen, würde ich meine Wetten sicherlich auf extreme Zufallsdaten legen, da dies sehr wahrscheinlich zu einer guten Verallgemeinerung dieser Art von Daten führt und auch eine Mischung aus numerischen und kategorialen Daten besser handhabt als die meisten anderen Methoden.

indico
quelle
gut danke! Ich bin mir jedoch noch nicht sicher, ob ich das R-Paket "randomForest" ( cran.r-project.org/web/packages/randomForest/randomForest.pdf ) verwenden kann, um ERF zu generieren. Wahrscheinlich nicht.
IharS
12

Für niedrige Parameter sollten eine ziemlich begrenzte Stichprobengröße und eine logistische Regression des binären Klassifikators ausreichend leistungsfähig sein. Sie können einen fortgeschritteneren Algorithmus verwenden, aber er ist wahrscheinlich übertrieben.

neone4373
quelle
5

Wenn sich kategoriale Variablen in der Mischung befinden, greife ich zu Random Decision Forests, da hier kategoriale Variablen direkt ohne die 1-aus-n-Codierungstransformation verarbeitet werden. Dadurch gehen weniger Informationen verloren.

Sean Owen
quelle
5

Die lineare SVM sollte ein guter Ausgangspunkt sein. Schauen Sie sich diese Anleitung an, um den richtigen Schätzer auszuwählen.

Stanpol
quelle
2

Ich würde nicht empfehlen, zuerst komplexe Methoden anzuwenden. Verwenden Sie zunächst schnellere einfache Ansätze (kNN, NBC usw.), und führen Sie dann lineare Regression, logistische Regression, LDA, CART (RF), KREG und anschließend SVM mit kleinsten Quadraten, SVM mit Gradientenanstieg, ANNs und anschließend Metaheurustik (gierig) durch heuristisches Bergsteigen mit GAs, Schwarmintelligenz, Ameisenkolonieoptimierung usw.)


quelle