Ich versuche, ein Vorhersagemodell mit hochdimensionalen klinischen Daten einschließlich Laborwerten zu entwickeln. Der Datenraum ist mit 5k Samples und 200 Variablen spärlich. Die Idee ist, die Variablen mithilfe einer Feature-Auswahlmethode (IG, RF usw.) zu klassifizieren und hochrangige Features für die Entwicklung eines Vorhersagemodells zu verwenden.
Während die Featureauswahl mit einem Naive Bayes-Ansatz gut funktioniert, stoße ich jetzt auf ein Problem bei der Implementierung eines Vorhersagemodells, da Daten (NA) in meinem variablen Raum fehlen. Gibt es einen Algorithmus für maschinelles Lernen, der mit Stichproben mit fehlenden Daten sorgfältig umgehen kann?
machine-learning
missing-data
Khader Shameer
quelle
quelle
Antworten:
Dies hängt vom verwendeten Modell ab. Wenn Sie ein generatives Modell verwenden, gibt es eine prinzipielle Möglichkeit, mit fehlenden Werten umzugehen (). Beispielsweise würden Sie in Modellen wie Naive Bayes oder Gauß'schen Prozessen fehlende Variablen ausschließen und die beste Option für die verbleibenden Variablen auswählen.
Für diskriminative Modelle ist es aufwändiger, da dies nicht möglich ist. Es gibt eine Reihe von Ansätzen. Gharamani und Jordan beschreiben einen prinzipiellen Ansatz, bei dem fehlende Werte wie versteckte Variablen behandelt werden und eine Variante des EM-Algorithmus verwendet wird, um sie zu schätzen. In ähnlicher Weise haben Smola et al. beschreiben eine Variante des SVM-Algorithmus, die das Problem explizit angeht.
Beachten Sie, dass häufig empfohlen wird, die fehlenden Werte durch den Mittelwert der Variablen zu ersetzen. Dies ist problematisch, wie im ersten Artikel beschrieben. Manchmal bin ich auf Artikel gestoßen, die die Variablen regressiv behandeln, um fehlende Werte abzuschätzen, aber ich kann nicht sagen, ob dies auf Ihren Fall zutrifft.
quelle
Das R-Paket randomForestSRC, das die zufälligen Wälder von Breiman implementiert, verarbeitet fehlende Daten für eine breite Klasse von Analysen (Regression, Klassifikation, Überleben, konkurrierendes Risiko, unbeaufsichtigt, multivariat).
Siehe folgenden Beitrag:
Warum verarbeitet Random Forest fehlende Werte in Prädiktoren nicht?
quelle
Versuchen Sie eine Imputation mit den nächsten Nachbarn, um fehlende Daten zu beseitigen.
Darüber hinaus verfügt das Caret-Paket über Schnittstellen zu einer Vielzahl von Algorithmen. Alle bieten Vorhersagemethoden in R, mit denen neuartige Daten vorhergesagt werden können. Leistungsmetriken können auch mithilfe der k-fachen Kreuzvalidierung unter Verwendung desselben Pakets geschätzt werden.
quelle
Es gibt auch Algorithmen, die den fehlenden Wert als eindeutigen und unterschiedlichen Wert beim Erstellen des Vorhersagemodells verwenden können, z. B. Klassifizierungs- und Regressionsbäume. wie xgboost
quelle
lightgbm kann NaNs aus der Box verarbeiten ( http://lightgbm.readthedocs.io/en/latest/ ).
quelle