Maschinelles Lernen und fehlende Daten: unterstellen, und wenn ja, wann?


7

Normalerweise arbeite ich mehr auf der Seite der Effektschätzung / kausalen Inferenz von Dingen, wo die Leute mit der Mehrfachzuschreibung für fehlende Daten ziemlich vertraut sind, aber im Moment arbeite ich an einem Projekt, das mehr auf der Seite des maschinellen Lernens liegt.

Wir erwarten, dass einige Daten fehlen, da es sich um medizinische Daten aus der realen Welt handelt, was ausnahmslos der Fall ist.

Die Neigung einiger Mitarbeiter besteht darin, die vollständige Falltypanalyse durchzuführen, bei der nur Probanden mit vollständigen Daten verwendet werden. Dies macht mich jedoch etwas nervös, da ich der Meinung bin, dass diese fehlenden Datenmuster Auswirkungen haben könnten.

Ist die "Best Practice" für maschinelle Lernaufgaben eine Form der Imputation? Wenn ja, sollte dies vor der Funktionsauswahl erfolgen?


1
Das Wunderbare an der Vorhersage ist, dass Sie einfach herausfinden können, was funktioniert. Sie brauchen nur Theorie, wenn Sie wissen wollen, warum etwas funktioniert.
generic_user

@generic_user oder um Ihre Auswahl zu leiten, wenn es mehr Dinge zu versuchen gibt, als Sie Ressourcen für = p
user20160

Antworten:


2

Die Neigung einiger Mitarbeiter besteht darin, die vollständige Falltypanalyse durchzuführen, bei der nur Probanden mit vollständigen Daten verwendet werden. Dies macht mich jedoch etwas nervös, da ich der Meinung bin, dass diese fehlenden Datenmuster Auswirkungen haben könnten.

Ich würde argumentieren, dass Ihre Intuition korrekt ist. Fehlende Daten können eine starke Vorhersagekraft haben, die nicht weggeworfen werden sollte.

Die Frage ist, was mit den fehlenden Daten zu tun ist, und hier sind zwei Optionen (von vielen)

  • Verwenden Sie einen auf Entscheidungsbäumen basierenden Algorithmus, der mit fehlenden Daten umgehen kann. Insbesondere werden fehlende kategoriale Daten als eigene Kategorie behandelt. Zum Beispiel XGboost, Light GBM, Catboost oder ein anderer erweiterter Baumalgorithmus

  • Für andere Algorithmen, die nicht mit NAN umgehen können (z. B. logistische Regression, neuronale Netze usw.): Verwenden Sie eine Form der Imputation fehlender Daten. Dies hängt von der Form und den Besonderheiten der Datenverteilung ab. Der Mittelwert ist nicht immer die beste Idee, und der Modus oder ein Perzentil ist manchmal besser

Wenn Sie hauptsächlich an Vorhersagekraft interessiert sind, empfehle ich die Verwendung von baumbasierten Algorithmen, die bei Kaggle-Wettbewerben zur Norm geworden sind (mit großem Erfolg).


1
Es ist erwähnenswert, dass es im Fall der Regression durchaus sinnvoll ist, eine neue is_missingbinäre Funktion zu erstellen, wenn Sie der Meinung sind, dass das Fehlen eine Vorhersagekraft haben könnte.
Matthew Drury
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.