Entfernen Sie Duplikate aus dem Trainingssatz zur Klassifizierung


9

Nehmen wir an, ich habe eine Reihe von Zeilen für ein Klassifizierungsproblem:

X1,...XN,Y

Wobei die Merkmale / Prädiktoren sind und die Klasse ist, zu der die Merkmalskombination der Zeile gehört.X1,...,XNY

Viele Feature-Kombinationen und ihre Klassen werden im Datensatz wiederholt, den ich zum Anpassen eines Klassifikators verwende. Ich frage mich nur, ob es akzeptabel ist, Duplikate zu entfernen (ich führe grundsätzlich eine group by X1 ... XN Yin SQL durch). Vielen Dank.

PS:

Dies gilt nur für einen Datensatz mit binärer Präsenz, bei dem die Klassenprioren ziemlich verzerrt sind

Antworten:


13

Nein, das ist nicht akzeptabel. Die Wiederholungen bestimmen das Gewicht der Beweise.

Wenn Sie Ihre Duplikate entfernen, ist ein vierblättriges Kleeblatt genauso wichtig wie ein normales dreiblättriges Kleeblatt, da jedes einmal vorkommt, während im wirklichen Leben auf 10.000 reguläre Kleeblätter ein vierblättriges Kleeblatt kommt.

Selbst wenn Ihre Prioren, wie Sie sagen, "ziemlich schief" sind, besteht der Zweck des Trainingssatzes darin, reale Erfahrungen zu sammeln, die Sie nicht erreichen, wenn Sie die Frequenzinformationen verlieren.


1

Ich stimme der vorherigen Antwort zu, aber hier sind meine Vorbehalte. Es ist ratsam, Duplikate zu entfernen, während die Proben für das Training und Testen für bestimmte Klassifikatoren wie Entscheidungsbäume getrennt werden. Angenommen, 20% Ihrer Daten gehörten zu einer bestimmten Klasse und der zu Testzwecken versickerten Daten. Dann erstellen Algorithmen wie Entscheidungsbäume Gateways zu dieser Klasse mit den doppelten Stichproben. Dies könnte zu irreführenden Ergebnissen auf dem Testsatz führen, da im Wesentlichen ein sehr spezifisches Gateway zur richtigen Ausgabe vorhanden ist.14th

Wenn Sie diesen Klassifizierer für vollständig neue Daten bereitstellen, kann die Leistung erstaunlich schlecht sein, wenn keine Stichproben vorhanden sind, die den oben genannten 20% -Stichproben ähneln.

Argument : Man kann argumentieren, dass diese Situation auf einen fehlerhaften Datensatz hinweist, aber ich denke, dass dies für reale Anwendungen gilt.

Das Entfernen von Duplikaten für neuronale Netze, Bayes'sche Modelle usw. ist nicht akzeptabel.


Eine andere mögliche Lösung könnte darin bestehen, die Duplikate basierend auf ihrer Häufigkeit des Auftretens niedriger zu gewichten.
Rakshit Kothari
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.