Welcher Kreuzvalidierungstyp eignet sich am besten für das Problem der binären Klassifizierung?

7

Datensatz sieht aus wie:

  • 25000 Beobachtungen
  • Bis zu 15 Prädiktoren verschiedener Typen: numerisch, kategorial für mehrere Klassen, binär
  • Zielvariable ist binär

Welche Kreuzvalidierungsmethode ist typisch für diese Art von Problemen?

Standardmäßig verwende ich K-Fold. Wie viele Falten reichen in diesem Fall aus? (Eines der Modelle, die ich benutze, ist zufällige Gesamtstruktur, was zeitaufwändig ist ...)

IharS
quelle
2
Mit k = 5 erhalten Sie 20.000 Beobachtungen im Trainingssatz und 5.000 im Testsatz. Mit k = 25 erhalten Sie 24k für das Training und 1k für das Testen. Wenn Sie glauben, dass zusätzliche 4k-Datensätze die Generalisierung stark beeinflussen, verwenden Sie größere k. Wenn Sie der Meinung sind, dass sogar 10k-Datensätze bereits eine gute Verallgemeinerung ergeben, verwenden Sie ein kleineres k. Wenn Sie sich nicht sicher sind, verwenden Sie einfach die standardmäßige 10-fache Kreuzvalidierung, was in den meisten Fällen ein guter Kompromiss ist.
Freund

Antworten:

5

Sie erzielen die besten Ergebnisse, wenn Sie die Falten so erstellen möchten, dass jede Variable (und vor allem die Zielvariable) in jeder Falte ungefähr identisch verteilt ist. Dies wird bei Anwendung auf die Zielvariable als k-fach geschichtet bezeichnet. Ein Ansatz besteht darin, die Eingaben zu gruppieren und sicherzustellen, dass jede Falte die gleiche Anzahl von Instanzen aus jedem Cluster proportional zu ihrer Größe enthält.

damienfrancois
quelle
4

Ich denke in Ihrem Fall wird ein 10-facher Lebenslauf in Ordnung sein

Ich denke, es ist wichtiger, den Kreuzvalidierungsprozess zufällig zu bestimmen, als den idealen Wert für k auszuwählen.

Wiederholen Sie den CV-Vorgang also mehrmals zufällig und berechnen Sie die Varianz Ihres Klassifizierungsergebnisses, um festzustellen, ob die Ergebnisse realisierbar sind oder nicht.

Pasmod Turing
quelle
2

Ich muss zustimmen, dass k-fold "gut" funktionieren sollte. Es gibt jedoch einen schönen Artikel über die "Bootstrap .632+" -Methode (im Grunde eine geglättete Kreuzvalidierung), der überlegen sein soll (sie haben jedoch die Vergleiche mit nicht-binären Daten durchgeführt, soweit ich das beurteilen kann).

Vielleicht möchten Sie diesen Artikel hier lesen : http://www.jstor.org/stable/2965703


quelle
0

K-Fold sollte für binäre Klassifizierungsprobleme gut geeignet sein. Abhängig von der Zeit, die benötigt wird, um Ihr Modell zu trainieren und das Ergebnis vorherzusagen, würde ich 10-20 Falten verwenden.

Manchmal dauert eine einzelne Falte jedoch mehrere Minuten, in diesem Fall verwende ich 3-5 Falten, aber nicht weniger als 3. Ich hoffe, es hilft.

Maksud
quelle
0

Um ehrlich zu sein, ist die binäre Klassifizierung der einfachste Typ im Vergleich zur Klassifizierung mehrerer Klassen, da Sie manchmal fälschlicherweise eine falsche Klasse in eine richtige klassifizieren können. Wenn Sie also einen Datensatz mit mehreren Klassen haben, benötigen Sie eine gute Verteilung unter diesen Die Erwartung ist, dass mehr Stichproben einen besseren Einblick geben, dh der Lebenslauf sollte geringer sein. Im Falle einer binären Klassifizierung können Sie jedoch bei 25.000 Beobachtungen leicht CV = 10 wählen, wenn die Klassenverteilung jedoch verzerrt ist mit weniger Lebenslauf.

Kurz gesagt, bei einer binären Verteilung hängt der CV-Wert wirklich von Ihrer Klassenverteilung ab und nicht viel von der Anzahl der Beobachtungen.

0xF
quelle
0

Wenn die Etikettenverteilung nicht ausgewogen ist, erhalten Sie durch geschichtete Stichproben von Falten eine bessere Einschätzung der Leistung als durch zufällige Stichproben.

Versuchen Sie auch zu vermeiden, dass korrelierte Proben in unterschiedlichen Falten enden. Andernfalls sind Ihre Modelle wahrscheinlich überpasst und der Fehler wird unterschätzt. Wenn Ihre Daten beispielsweise eine zeitliche Korrelation enthalten, teilen Sie diese immer nach Zeit auf.

Alexander Bauer
quelle