Meine Frage bezieht sich auf Techniken zum Umgang mit unvollständigen Daten während des Klassifikators / Modelltrainings / Anpassens.
In einem Datensatz mit einigen hundert Zeilen, wobei jede Zeile beispielsweise fünf Dimensionen und eine Klassenbezeichnung als letztes Element aufweist, sehen die meisten Datenpunkte folgendermaßen aus:
[0,74, 0,39, 0,14, 0,33, 0,34, 0]
Einige könnten ungefähr so aussehen:
[0,21, 0,68, & alpha;, 0,82, 0,58, 1]
Es sind also diese Arten von Datenpunkten, die im Mittelpunkt dieser Frage stehen.
Mein erster Grund, diese Frage zu stellen, war ein Problem direkt vor mir; Bevor ich jedoch meine Frage postete, dachte ich, dass es nützlicher sein könnte, wenn ich sie umformuliere, damit die Antworten für einen größeren Teil der Community nützlich wären.
Als einfache Heuristik wollen wir diese Datenverarbeitungstechniken danach aufteilen, wann sie während des Verarbeitungsablaufs angewendet werden - vor der Eingabe in den Klassifizierer oder während (dh die Technik befindet sich innerhalb des Klassifizierers).
Das beste Beispiel, das ich mir für Letzteres vorstellen kann, ist die clevere Technik der 'Drei-Wege-Verzweigung', die in Entscheidungsbäumen verwendet wird.
Zweifellos ist die erstere Kategorie weitaus größer. Die Techniken, die mir bekannt sind, fallen in eine der folgenden Gruppen.
Als ich kürzlich meine persönlichen Notizen zum Thema "Umgang mit fehlenden Daten" durchgesehen habe, habe ich festgestellt, dass ich eine beeindruckende Liste von Techniken besitze. Ich behalte diese Notizen nur zur allgemeinen Beruhigung bei und für den Fall, dass ein junger Kollege mich fragt, wie ich mit fehlenden Daten umgehen soll. In der Praxis verwende ich eigentlich keine, außer der letzten.
Imputation : eine breite Rubrik für eine Reihe von Techniken, deren gemeinsamer Nenner (ich glaube) darin besteht, dass die fehlenden Daten direkt von demselben Datensatz geliefert werden - Substitution statt Schätzung / Vorhersage.
Rekonstruktion : Schätzen Sie die fehlenden Datenpunkte mithilfe eines automatisch assoziativen Netzwerks (nur ein neuronales Netzwerk, in dem die Größen der Eingabe- und Ausgabeschichten gleich sind - mit anderen Worten, die Ausgabe hat die gleiche Dimension wie die Eingabe). Die Idee dabei ist, dieses Netzwerk auf vollständige Daten zu trainieren, dann unvollständige Muster einzugeben und die fehlenden Werte von den Ausgabeknoten zu lesen.
Bootstrapping : (keine Zusammenfassung notwendig, sollte ich nicht denken, da es an anderer Stelle in der statistischen Analyse verwendet wird).
Verweigerung : Entfernen Sie stillschweigend die Datenpunkte mit fehlenden / beschädigten Elementen aus Ihrem Trainingssatz und tun Sie so, als ob sie niemals existierten.
modern
Techniken beschreibt? Vielen Dank
mice
enthält ein schönes Einführungspapier zu JSS: jstatsoft.org/article/view/v045i03 . (Sie sollten die Einführung nützlich finden, auch wenn Sie R nicht verwenden.) Und das R-Paket Amelia
enthält eine schöne Vignette, die im Paket enthalten ist. Diese beiden Pakete unterscheiden sich in ihren Details, verwenden jedoch beide Mehrfachzuschreibungen.