Ich habe eine Reihe von x, y-Daten, die ich zum Erstellen einer zufälligen Gesamtstruktur verwende. Die x-Daten sind ein Wertevektor, der einige NAs enthält. Also verwende ich rfImpute
die fehlenden Daten und erstelle eine zufällige Gesamtstruktur. Jetzt habe ich eine neue unsichtbare Beobachtung x (mit einer NA) und möchte y vorhersagen. Wie rechne ich den fehlenden Wert an, damit ich den zufälligen Wald verwenden kann, den ich bereits gewachsen bin? Die rfImpute
Funktion scheint x und y zu erfordern. Ich habe nur x für Vorhersagezwecke.
Meine Frage ist dieser Frage ähnlich (aber anders) . Und zum Beispiel kann ich den gleichen Iris-Datensatz verwenden. Wenn ich den Code in der Antwort auf die Frage, auf die ich verweise, richtig interpretiert habe, repräsentiert der Code iris.na[148, , drop=FALSE]
in der Anweisung iris.na2 = rbind(iris.imputed, iris.na[148, , drop=FALSE])
die neuen Daten, die den Species
(Y-Wert) enthalten. In meinem Problem würde ich das nicht wissen - ich möchte Species
den zufälligen Wald verwenden, um das vorherzusagen. Ich hätte die 4 unabhängigen Variablen, aber einige könnten NA
für eine bestimmte Zeile sein. Um die Analogie fortzusetzen, stellen Sie sich vor, ich habe 3 der 4 Variablen (eine fehlt). Ich möchte diesen Wert unterstellen. Dann möchte ich die Arten vorhersagen, die ich nicht kenne.
Als Antwort auf Gungs Kommentar, dass ich eine Illustration hinzufügen sollte, möchte ich sie in Bezug auf den Iris-Datensatz formulieren. Stellen Sie sich vor, ich habe die folgenden Daten zu einer Blume. Ich weiß , es ist Sepal.Length
, Sepal.Width
, Petal.Length
, aber nicht das Petal.Width
. Ich möchte das unterstellen Petal.Width
und dann diese 4 Werte innerhalb eines RF-Modells verwenden, um das vorherzusagen Species
.
quelle
Antworten:
Ich denke, Sie brauchen eine unbeaufsichtigte Anrechnungsmethode. Dies ist eine, die die Zielwerte nicht für die Imputation verwendet. Wenn Sie nur wenige Vorhersage-Merkmalsvektoren haben, kann es schwierig sein, eine Datenstruktur aufzudecken. Stattdessen können Sie Ihre Vorhersagen mit bereits unterstellten Trainingsmerkmalsvektoren mischen und diese Struktur verwenden, um erneut zu unterstellen. Beachten Sie, dass dieses Verfahren möglicherweise gegen die Annahme der Unabhängigkeit verstößt. Wickeln Sie daher das gesamte Verfahren in eine äußere Kreuzvalidierung ein, um eine ernsthafte Überanpassung festzustellen.
Ich habe gerade aus einem Kommentar zu dieser Frage von missForest erfahren . missForest scheint den Trick zu machen. Ich habe Ihr Problem mit den Irisdaten simuliert. (ohne äußere Kreuzvalidierung)
quelle