1

Ich führte ein zufälliges Waldklassifizierungsmodell durch und unterteilte die Daten zunächst in Zug (80%) und Test (20%). Allerdings hatte die Vorhersage zu viele False Positive, was meiner Meinung nach darauf zurückzuführen war, dass die Trainingsdaten zu viel Rauschen aufwiesen. Daher entschied ich mich, die Daten auf eine andere Art und Weise zu teilen, und so habe ich es gemacht.Machine Learning Training & Test Datenaufteilungsmethode

Da ich dachte, dass das hohe False Positive auf das Rauschen in den Zugdaten zurückzuführen war, habe ich die Zugdaten so erstellt, dass sie die gleiche Anzahl von Zielvariablen haben. Wenn ich zum Beispiel Daten von 10.000 Zeilen habe und die Zielvariable 8.000 (0) und 2.000 (1) ist, hatte ich die Trainingsdaten insgesamt 4.000 Zeilen einschließlich 2.000 (0) und 2.000 (1), so dass die Trainingsdaten haben jetzt mehr Signale.

Als ich diese neue Splitting-Methode ausprobierte, sagte sie viel besser vorher, indem ich den Recall Positive von 14% auf 70% erhöhte.

Ich würde gerne Ihre Rückmeldung hören, wenn ich hier etwas falsch mache. Ich bin besorgt, wenn ich meine Trainingsdaten voreingenommen mache.

Antwort

0

Wenn die Anzahl der Datenpunkte in jeder Klasse im Trainingssatz ungleich ist, ändert sich die Grundlinie (zufällige Vorhersage).

Durch verrauschte Daten, ich denke, dass Sie wollen, dass die Anzahl der Trainingspunkte für Klasse 1 mehr als andere ist. Dies wird nicht wirklich als Rauschen bezeichnet. Es ist eigentlich Voreingenommenheit.

Zum Beispiel: Sie haben 10000 Datenpunkte im Trainingssatz, 8000 der Klasse 1 und 2000 der Klasse 0. Ich kann Klasse 0 immer vorhersagen und bekomme 80% Genauigkeit schon. Dies führt zu einer Verzerrung, und die Basislinie für die 0-1-Klassifizierung wird nicht 50% betragen.

Um diese Verzerrung zu entfernen, können Sie entweder das Trainingssatz absichtlich so ausgleichen wie Sie, oder Sie können die Fehlerfunktion ändern, indem Sie das Gewicht umgekehrt proportional zur Anzahl der Punkte im Trainingssatz angeben.

+0

Vielen Dank für Ihre schnelle Antwort. Also ist die Methode, die ich implementiert habe (mit den Trainingsdaten, um 50% Klasse 0 und 50% Klasse 1 zu haben) eine korrekte Methode zu verwenden? – Oleole

+0

Ja! aber es hängt davon ab, wie viel Wert man falsch positiven oder falsch negativen gibt. Zum Beispiel: Klasse 1 sei, dass der Patient Krebs hat und 0 nicht Krebs ist. Sie wären eher falsch-negativ als falsch-positiv. In diesem Fall würden Sie verschiedenen vorhergesagten Klassen unterschiedliche Bedeutung beimessen. Aber wenn Sie sowohl 0 als auch 1 gleich gewichten wollen, dann ist es richtig. PS: Akzeptieren Sie die Antwort, wenn Sie denken, es ist richtig/befriedigend –

+0

Das Beispiel Krebs ist genau der Fall für mich, wo ich weniger False Negative haben möchte! Also sollte ich der Klasse 1 mehr Gewicht geben als der Klasse 0, anstatt Trainingsdaten zu haben, um 50% Klasse 1 und 50% Klasse 0 zu haben? – Oleole

Verwandte Themen