AusgleichsdatenHallo,
Ich möchte meine Daten vor der Analyse ausgleichen, da meine Rücklaufquote nur 27 % beträgt. Ich habe zunächst eine geschichtete Validierungsspalte (basierend auf meiner Zielspalte) erstellt, um einen Trainings-, Validierungs- und Testsatz zu erstellen. Meine Frage ist, ob ich meine Daten sowohl im Trainings- als auch im Validierungssatz ausgleichen soll, nicht aber im Testsatz oder nur im Trainingssatz. Ich möchte die SMOTE-Technik und schließlich die Kreuzvalidierungstechnik der Modell-Screening-Plattform auf den verknüpften Datenbanken (Training+Validierung+Test) mit einer Validierungsspalte für die Leistungsanalyse des Testsatzes verwenden. Ist diese Methode die richtige Art, meine Daten vor der Kreuzvalidierung auszugleichen? Andere Vorschläge sind jederzeit willkommen.
Grüße,
Montag
Grundlegende Datenanalyse und -modellierungPrädiktive Modellierung und maschinelles LernenBetreff: Daten ausgleichenHallo @Lu ,
Ich habe gemischte Gefühle gegenüber SMOTE oder anderen Ausgleichstechniken zur Klassifizierung:
- SMOTE zerstört die Kalibrierung Ihres Klassifikators vollständig (da es das Verhältnis der beiden Klassen während der Lernphase vollständig ändert). Dies bedeutet, dass die von Ihrem Klassifikator berechneten Wahrscheinlichkeiten nicht den tatsächlich gemessenen Wahrscheinlichkeiten in Ihrem Datensatz entsprechen. Dies kann für bestimmte Anwendungen (Gesundheitswesen, Finanzen/Bankwesen usw.) besonders sensibel sein, da Sie manchmal die berechneten Wahrscheinlichkeiten anstelle der endgültigen Mehrheitsklasse benötigen.
- Darüber hinaus bietet SMOTE laut Originalarbeit und späteren Studien nur geringe Vorteile, wenn der Klassifikator ein schwaches Lernmodell wie Decision Tree oder Naïve Bayes ist. Bei Verwendung mit modernen/starken Modellen (wie Random Forest, XGBoost usw.) bietet SMOTE keine Vorteile und kann sich sogar nachteilig auf den Lernprozess auswirken. Eine weitere Studie finden Sie hier: The Harms of Class Imbalance Corrections for Machine Learning Based Prediction Models: A Simulation Study – Carriero – 2025 – Statistics in Medicine – Wiley Online Library
In den meisten Studien kommt man hinsichtlich dieser Techniken zu dem gleichen Schluss: „ Die beste und richtige Vorhersage wird durch die Verwendung eines starken Klassifikators erreicht, und ein Ausgleich der Daten ist weder erforderlich noch vorteilhaft. “ oder „ Eine Korrektur des Klassenungleichgewichts ist nicht immer notwendig und kann für klinische Vorhersagemodelle, die darauf abzielen, zuverlässige Risikoschätzungen auf individueller Basis zu erstellen, sogar schädlich sein. “
- SMOTE kann in bestimmten Kontexten nützlich sein, beispielsweise bei schwachen Lernern oder wenn Entscheidungsschwellen nicht angepasst werden können. Der relative Nutzen kann sich jedoch auch je nach den gewählten Leistungsmetriken ändern. Abgesehen davon würde ich die Verwendung nicht empfehlen.
27 % für eine Minderheitsklasse stellen kein großes Ungleichgewicht dar, und klassische Methoden wie die Anpassung der Entscheidungsschwellen oder die Festlegung einer Gewinnmatrix sollten Ihnen helfen, die Leistung Ihres Klassifikators an die jeweilige Situation anzupassen. Das Hinzufügen neuer Features/Variablen, die Vorverarbeitung der Daten (Feature Engineering) zur Unterstützung des Modells, das Hinzufügen neuer Daten oder die Auswahl der repräsentativsten und unterschiedlichsten Beobachtungen sowie das Ausprobieren mehrerer Modelle zum Vergleich und Benchmarking können ebenfalls zur Leistungssteigerung beitragen.
Es ist wichtig zu verstehen, dass unausgewogene Daten nur deshalb ein Problem darstellen, weil die Minderheitsklasse im Trainingsset nicht repräsentativ genug ist und/oder die Merkmale keine ausreichend guten Indikatoren für die Bezeichnung sind. Im Idealfall werden diese beiden Probleme gelöst, dann kann das Modell trotz der Unausgewogenheit einwandfrei funktionieren.
Das Hinzufügen einer SMOTE-Operation (oder einer Vorverarbeitungsoperation) in den Workflow (falls erforderlich) sollte jedoch mit Vorsicht erfolgen, um Datenlecks und falsche, zu optimistische Leistungserwartungen zu vermeiden. SMOTE oder andere Ausgleichstechniken sollten in den Trainings- und Validierungssätzen angewendet werden (um das leistungsstärkste Modell zu trainieren, zu vergleichen und auszuwählen), aber natürlich nicht im Testsatz, da das Modell unter „realen“ Bedingungen (mit dem starken Ungleichgewicht) funktionieren und bewertet werden muss.
Hoffe, diese Antwort wird Ihnen helfen,
Betreff: Daten ausgleichenDanke für deinen klaren Rat, Victor.
Vorerst habe ich die Leistung meiner Modelle mit den Add-Ins „Inbalanced Classification“ überprüft und die Precision Recall & ROC AUC für neuronale Netzwerk-, Bootstrap Forrest- und Boosted Tree-Modelle mit SMOTE und mit TOMEC-Balancing und ohne Gewichtung berechnet, aber dies hat die AUCs überhaupt nicht verbessert. Daher würde ein Balancing meiner Daten die Leistung wahrscheinlich sowieso nicht verbessern.
Vielen Dank für Ihre Unterstützung,
Grüße
Montag
Betreff: Daten ausgleichenHey Russ,
Ich habe eine Validierungsspalte , die zwischen Trainings-, Validierungs- und Testzeilen unterscheidet. Sollte diese Spalte in der Modell-Screening-Plattform angegeben werden, wenn eine verschachtelte Kreuzvalidierung angewendet wird? Mir ist aufgefallen, dass die Zusammenfassung der Leistungsstatistiken unterschiedlich ausfällt, je nachdem, ob diese Spalte enthalten ist oder nicht.
Können Sie bestätigen, welches Vorgehen in diesem Fall empfohlen wird?
Ich möchte die Leistung von ML-Modellen vergleichen und darüber berichten.
Gibt es eine schnellere Möglichkeit, mehr Details als den aktuell erstellten zusammenfassenden Bericht zu erhalten, wie z. B. F1, MCC, Sens, Spec, FP, FN usw.?
Grüße,
Montag
Betreff: Daten ausgleichenHallo @Lu ,
Wenn Sie beim Starten der Model Screening-Plattform eine Kreuzvalidierungsoption ausgewählt haben, ändert das Hinzufügen einer Validierungsspalte nichts, da die ausgewählte Kreuzvalidierungsoption die Validierungsspalte übernimmt: Starten Sie die Model Screening-Plattform (Validierungsteil).
Die unterschiedlichen Ergebnisse, die Sie möglicherweise erhalten, sind eher auf den Zufallsstartwert zurückzuführen, wenn Sie ihn nicht festgelegt haben. Das Hinzufügen oder Nicht-Einfügen einer Validierungsspalte bei ausgewählter Kreuzvalidierungsoption führt zu denselben Ergebnissen mit einem festen Zufallsstartwert:

Zum (breiten) Thema der Modellbewertung, des Modellvergleichs und der Modellauswahl können Ihnen verschiedene andere Themen dabei helfen, eine relevante Validierungsstrategie zu finden:
Wie führt man eine k-fache Kreuzvalidierung an ML-Modellen (z. B. neuronales Netzwerk und Random Forest) durch und überprüft die Modellleistung anhand fester Testdaten? Modellscreening
Eine oder mehrere Validierungsspalten
Kreuzvalidierung unter Verwendung der K-fachen Anpassungsqualität
Leave-One-Out- oder K-fache Kreuzvalidierungsmethoden??
Kreuzvalidierung – Validierungsspaltenmethode
Hoffe, diese Antwort wird Ihnen helfen,