Wie wähle ich die Trainings-, Kreuzvalidierungs- und Testsatzgrößen für kleine Daten mit Stichprobengröße aus?

10

Angenommen, ich habe eine kleine Stichprobengröße, z. B. N = 100, und zwei Klassen. Wie soll ich die Trainings-, Kreuzvalidierungs- und Testsatzgrößen für maschinelles Lernen auswählen?

Ich würde intuitiv auswählen

  • Trainingsset Größe als 50
  • Kreuzvalidierungssatz Größe 25 und
  • Testgröße als 25.

Aber wahrscheinlich macht das mehr oder weniger Sinn. Wie soll ich diese Werte wirklich bestimmen? Darf ich verschiedene Optionen ausprobieren (obwohl ich denke, dass dies nicht so vorzuziehen ist ... erhöhte Wahrscheinlichkeit des Überlernens)?

Was wäre, wenn ich mehr als zwei Klassen hätte?

Europäische Sommerzeit
quelle
2
100 ist zu klein für mich. Ich würde mich für eine Auslassungsstrategie sowohl für die Kreuzvalidierung als auch für die Testbewertung entscheiden.
Memming
Ich habe keine Literatur dazu gesehen (Mindeststichprobengröße zur Validierung). Nicht sicher warum. Scheint ein wichtiges Thema zu sein.
Charles

Antworten:

15
cbeleites unzufrieden mit SX
quelle
+1 nur für die Beratung zur Parameteroptimierung und Modellkomplexität. Aber all diese Ratschläge sind fantastisch.
Charles
1

Angesichts der geringen Stichprobengröße empfiehlt es sich, den Abschnitt zur Kreuzvalidierung wegzulassen und ein Verhältnis von 60 - 40 oder 70 - 30 zu verwenden.

Wie Sie in Abschnitt 2.8 der Einführung in Clementine und Data Mining sowie in MSDN Library - Data Mining - Trainings- und Testsätze sehen können ein Verhältnis von 70 bis 30 üblich. Laut Andrew Ngs Vorlesungen über maschinelles Lernen wird ein Verhältnis von 60 - 20 - 20 empfohlen.

Hoffe ich war hilfreich. Freundliche Grüße.

mrdatamx
quelle