2014-06-13 17 views
8

Sto eseguendo una foresta casuale su un set di dati con 8 colonne numeriche (i predittori) e 1 fattore (il risultato). Ci sono 1,2 milioni di righe nel set di dati. Quando faccio:Problema con i vettori randomForest e long

randomForest(outcome.f ~ a + b + c + d + e + f + g + h,data=mdata)), ottengo un errore:

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

Esiste un modo per evitare questo? Non capisco perché il pacchetto sia (apparentemente) cercando di allocare un vettore di lunghezza 2^31-1. Sto usando Mac OS X 10.9.2, con un Intel Core i7 (nel caso l'architettura abbia importanza).

informazioni Sessione

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

hai capito? (stesso problema qui ...) – SOUser

risposta

7

Mai a corto foresta casuale con troppe righe sul training set.

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) 

Se continui a ricevere l'errore, provare a ridurre la dimensione del training set (ad esempio 500000 o 100000), dividere in RF1, RF2, e Rf3, poi combinarli. Spero che sia d'aiuto.

+0

Perché? puoi dare maggiori dettagli per favore! –

1

È anche possibile ridurre il numero di alberi (ntree).