2014-06-13 16 views
8

Ich bin mit zufälligem Wald auf einem Datensatz mit 8 numerischen Spalten (die Prädiktoren) und 1-Faktor (das Ergebnis). Im Dataset befinden sich 1,2 Millionen Zeilen. Wenn ich tun:Ausgabe mit Random & lange Vektoren

randomForest(outcome.f ~ a + b + c + d + e + f + g + h,data=mdata)), bekomme ich eine Fehlermeldung:

"Error in randomForest.default(m, y, ...) : 
long vectors (argument 26) are not supported in .Fortran" 

Gibt es eine Möglichkeit, dies zu verhindern? Ich verstehe nicht, warum das Paket (anscheinend) versucht, einen Vektor der Länge 2^31-1 zuzuweisen. Ich benutze Mac OS X 10.9.2, mit einem Intel Core i7 (falls die Architektur wichtig ist).

Session info

R version 3.1.0 (2014-04-10) 
Platform: x86_64-apple-darwin13.1.0 (64-bit) 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] randomForest_4.6-7 

loaded via a namespace (and not attached): 
[1] tools_3.1.0 
+0

Haben Sie das herausgefunden? (Das gleiche Problem hier ...) – SOUser

Antwort

7

Nie Random mit zu vielen Reihen auf dem Trainingssatz ausgeführt werden.

rf1 <- randomForest(Outcome ~ ., train[1:600000,], ntree=500, norm.votes=FALSE, do.trace=10,importance=TRUE) 
rf2 <- randomForest(Outcome ~ ., train[600001:1200000,], ntree=500, norm.votes=FALSE, do.trace=10,importance=TRUE) 
rf.combined <- combine(rf1,rf2) 

Wenn Sie noch Fehler, versuchen Sie die Größe des Trainingssatzes zu reduzieren (zum Beispiel 500000 oder 100000), teilen sich in RF1, RF2 und RF3 kombinieren sie dann. Ich hoffe es hilft.

+0

Warum? Können Sie bitte mehr Details geben? –

1

Sie können auch die Anzahl der Bäume (ntree) reduzieren.