2016-07-25 20 views
2

Ich habe mein zufälligen Wälder Modell sehr gut eingerichtet, finden Sie den CodeZufällige Wald Modellfehler (Fehler in if (n == 0) nicht mehr ("Daten (x) 0 Zeilen"))

modelRF <- randomForest(x=p$NDVI, 
        y=p$BushCategories, 
        ntree=500, do.trace=TRUE, 
        importance=TRUE, forest=TRUE, na.action=na.omit) 

aber es gibt dann den Fehler unter

Error in if (n == 0) stop("data (x) has 0 rows") : 
argument is of length zero 

unter der Struktur meiner Daten Siehe

'data.frame': 197 obs. of 5 variables: 
$ Waypoint_No : chr "OMATSC028" "OMATSC200" "OMATSC072N" "OMATSC317" ... 
$ Longitude  : num 17.7 17.6 17.8 17.9 17.9 ... 
$ Latitude  : num -21.2 -21.2 -21.1 -20.9 -21.1 ... 
$ NDVI   : num 0.256 0.327 0.25 0.268 0.283 ... 
$ BushCategories: Factor w/ 4 levels "0-25%","26-50%",..: 3 1 2 3 2 3 1 2 1 
1 ... 

Was könnte das Problem sein? Hier

ist ein Beispiel dafür, wie meine Daten-Set sieht aus wie

x<-c('0.256', '0.327', '0.25', '0.268') 
y<-c('0-25%','26-50%','51-75%','76-100%') 
data<-data.frame(x,y)      
+0

'na.action = na.omit'? Hast du vielleicht NAs in jeder Reihe? Siehe http://stackoverflow.com/questions/8370455/how-to-build-random-forests-in-r-with-missing-na-values ​​ – zx8754

+0

Es gibt keine NAs, ich habe die NA-Funktion entfernt und immer noch bekommen Dieser Fehler. – jmutua

+0

Bitte geben Sie [reproduzierbare Daten] (http://stackoverflow.com/questions/5963269), so dass wir den gleichen Fehler erhalten. – zx8754

Antwort

0

Ihre Formel (erster Eingang mit Random) ist falsch. Sie müssen die Klassentypen und die Trainingsdaten in Ihrer Formel angeben, damit die Algorithmen wissen, worauf sie trainieren sollen.

In Ihrem Fall nehme ich an, dass Sie versuchen, NDVI von BushCategories vorherzusagen. Die Formel, die Sie verwenden sollten, ist NDVI ~ BushCategories. Das zweite Element sind die Trainingsdaten. Also, repariere das einfach und es sollte für dich funktionieren.