Wie kann ich meine Daten auffüllen, sodass ich nur eine Unterabtastungs-Stichprobentechnik ohne Modellierung erhalte? Ich muss das Gleiche für die Überabtastung und das Wiegen tun. Ich versuche, xgboost mit diesen drei Sampling-Techniken auszuführen (natürlich eine nach der anderen). Ich benötige also einen Datensatz, der die Unterabtastung anzeigt, einen anderen Datensatz für die Überabtastung und einen dritten Datensatz zum Wiegen. Danke schön.
Hallo @NishaKumar ,
Es gibt wahrscheinlich mehrere Möglichkeiten, dies zu tun, und es hängt möglicherweise von Ihrem Endziel ab, welche Methode besser ist.
Eine Möglichkeit wäre, eine Validierungsspalte zu erstellen, in der Sie einen starken Offset auf eine Variable haben, beispielsweise 10 % Training und 90 % Validierung, und dann eine Teilmenge der Trainingsdaten erstellen und diese anpassen. Speichern Sie die Anpassungsformel in der Teilmengentabelle, bringen Sie sie dann zurück in die ursprüngliche Datentabelle und sehen Sie, wie gut die Anpassung bei den nicht trainierten Daten funktioniert. Sie können dann das Gegenteil tun, indem Sie die Validierungsdaten als „Trainingsdaten“ behandeln, die obigen Schritte wiederholen und sehen, wie gut sie zum Trainingsdatensatz („Validierung“) passen. Sie können diese Option verwenden, wenn Sie Ihre Validierungsspalte basierend auf der Ausgabe, die Sie modellieren, schichten möchten. Wenn Ihnen das jedoch egal ist, können Sie die andere Option ausprobieren.
Eine andere Möglichkeit besteht darin, „Zeile“ > „Zeilenauswahl“ > „Zufällig auswählen“ zu verwenden und entweder 10 % oder 90 % – oder sogar 1 % und 99 % – zu verwenden und dann jeweils eine Teilmenge davon zu erstellen, die Anpassungen vorzunehmen und die Formeln wieder einzufügen Vergleichen Sie, wie sie mit den nicht verwendeten Daten aus der Originaltabelle umgehen.
Die Gewichtung der Daten hängt stark davon ab, welchen Datensatz Sie verwenden und wie die Daten behandelt werden sollen. Wenn Sie scheinbar Ausreißer haben, aber keinen Grund haben, sie aus dem Datensatz zu entfernen, können Sie sie weniger gewichten als die anderen Daten, damit sie die Anpassung nicht verzerren. Sie müssten sich diese jedoch einzeln ansehen, um sie zu erkennen wie man mit solchen Fällen umgeht.
Ich habe den zweiten Ansatz mit den Beispieldaten von Boston Housing.jmp ausprobiert und es hat ziemlich gut geklappt. Es hat nicht ganz zu einer Überanpassung der Daten geführt, um mir einen größeren R^2 für die „Validierungs“-Daten des Oversampling-Datensatzes zu geben, aber es war größer als die Verwendung einer Validierungsspalte und die Anpassung der Daten damit.
Übrigens habe ich die Daten mithilfe der XGBoost-Plattform angepasst und (Antwort = M-Wert; alle anderen Spalten sind X, Faktoren) die Standardeinstellungen mit aktiviertem Autotune-Kontrollkästchen verwendet.
Unterabtastungsergebnisse (1 = Training, 0 = Validierung):


Überabtastung (1=Training, 0=Validierung):


Hier sind die Ergebnisse unter Verwendung einer .75/.25-Trainings-/Validierungsspalte, die nach M-Wert geschichtet wurde:


Der R^2 der letzten Validierungsdaten ist nicht so hoch wie beim Oversampling-Modell, aber wahrscheinlich genauer, da bei der Validierung des Modells mehr Stichproben verwendet wurden, als wenn zu viele Stichproben zum Trainieren genommen würden.
Wie auch immer, ich hoffe, dass dies Ihnen einige Ideen gibt, wie Sie Ihr spezifisches Ziel weiter vorantreiben können.
Viel Glück!,
DS
Vielen Dank, ich werde diese Techniken einzeln ausprobieren und Feedback/Fragen geben.