Beispiel für die Datenaufteilung

Nachdem Sie Ihre Daten erfasst und gegebenenfalls Stichproben erhoben haben, teilen Sie die Daten im nächsten Schritt in Trainings-Datasets, Validierungs-Datasets und Test-Datasets auf.

Die zufällige Aufteilung ist der beste Ansatz

Die zufällige Aufteilung ist zwar die beste Methode für viele ML-Probleme, aber nicht immer die richtige Lösung. Beispiel: Betrachten Sie Datensätze, in denen die Beispiele ganz normal in ähnlichen Beispielen geclustert sind.

Angenommen, Sie möchten, dass Ihr Modell das Thema aus dem Text eines Nachrichtenartikels klassifiziert. Warum wäre eine zufällige Aufteilung problematisch?

Auf der Zeitachse werden vier separate Artikelgruppen mit den Labels „Geschichte 1“, „Geschichte 2“, „Geschichte 3“ und „Story 4“ angezeigt. Abbildung 1. Nachrichten-Cluster sind geclustert.

Nachrichten erscheinen in Clustern: Mehrere Meldungen zum selben Thema werden gleichzeitig veröffentlicht. Wenn wir die Daten nach dem Zufallsprinzip aufteilen, enthalten das Test-Dataset und das Trainings-Dataset wahrscheinlich dieselben Geschichten. Tatsächlich würde es so nicht funktionieren, da alle Geschichten gleichzeitig eintreffen. Eine solche Trennung würde zu Verzerrungen führen.

Dieselben Artikel aus Abbildung 1 befinden sich nicht mehr auf einer Zeitachse. Stattdessen werden die Artikel jetzt nach dem Zufallsprinzip in ein Trainings- und ein Test-Dataset unterteilt. Das Trainings- und das Test-Dataset enthalten jeweils eine Mischung aus verschiedenen Beispielen aus allen vier Geschichten. Abbildung 2. Ein Cluster wird nach dem Zufallsprinzip aufgeteilt und führt zu Verzerrungen.

Ein einfacher Ansatz zur Behebung dieses Problems besteht darin, unsere Daten danach zu teilen, wann die Story veröffentlicht wurde, vielleicht nach dem Tag, an dem sie veröffentlicht wurde. Das führt dazu, dass am selben Tag Meldungen in derselben Aufteilung erscheinen.

Die ursprüngliche Zeitachse aus Abbildung 1 ist jetzt in ein Trainings- und ein Test-Dataset unterteilt. Alle Artikel aus „Geschichte 1“ und „Geschichte 2“ befinden sich im Trainingssatz und alle Artikel aus „Geschichte 3“ und „Story 4“ sind im Test-Dataset enthalten. Abbildung 3. Wenn die Zeit aufgeteilt wird, befinden sich die Cluster am Ende im selben Satz.

Bei Zehntausenden oder mehr Nachrichten kann ein Prozentsatz auf die Tage aufgeteilt werden. Das ist allerdings in Ordnung. In Wirklichkeit wurden diese Meldungen jedoch auf zwei Tage im Nachrichtenzyklus aufgeteilt. Alternativ können Sie auch Daten innerhalb eines bestimmten Zeitraums für den Stichtag verwerfen, um Überschneidungen zu vermeiden. Sie können beispielsweise für den Monat April mit Stories trainieren und dann die zweite Maiwoche als Test-Dataset verwenden, wobei sich durch die Wochenlücke Überschneidungen vermeiden lassen.