[R] randomForests predict problem
Torsten Hothorn
Torsten.Hothorn at rzmail.uni-erlangen.de
Wed Apr 2 14:37:45 CEST 2003
> Well, thank you for your answer, but this is not doing the right thing,
> that is predicting the Class value for the test set Soybean[test,]. It
> gives instead prediction for data used for forest computation (ignoring all
> data with NA's) ; 'data' argument is simply ignored as the right name for
> this argument is 'newdata', which still gives the same error when named.
>
oups, sorry, 'newdata' needs to be specified:
R> library(mlbench)
R> library(randomForest)
R> data(Soybean)
R>
R> test <- sample(1:683, 150, replace=FALSE)
R>
R> sl <- Soybean[-test,]
R> st <- Soybean[test,]
R>
R> sb.rf <- randomForest(Class~., data=Soybean, subset=-test)
R> st <- st[complete.cases(st),]
R> dim(st)
[1] 115 36
R> sb.rf.pred <- predict(sb.rf, newdata=st)
R> length(sb.rf.pred)
[1] 115
R> sb.rf.pred[1:10]
[1] brown-spot alternarialeaf-spot brown-spot
[4] alternarialeaf-spot brown-spot anthracnose
[7] bacterial-pustule bacterial-blight alternarialeaf-spot
[10] frog-eye-leaf-spot
19 Levels: 2-4-d-injury alternarialeaf-spot anthracnose ...
rhizoctonia-root-rot
looks like an NA problem, anyway.
Torsten
> > length(sb.rf.pred)
> [1] 445
> > dim(Soybean[test,])
> [1] 150 36
> > dim(Soybean[-test,])
> [1] 533 36
> > sb.rf.pred <- predict(sb.rf, newdata=st)
> Error in matrix(t1$countts, nr = nclass, nc = ntest) :
> No data to replace in matrix(...)
>
> At 13:13 02/04/03, you wrote:
>
> > > Hello everybody,
> > >
> > > I'm testing the randomForest package in order to do some simulations and I
> > > get some trouble with the prediction of new values. The random forest
> > > computation is fine but each time I try to predict values with the newly
> > > created object, I get an error message. I thought I was because NA values
> > > in the dataframe, but I cleaned them and still got the same error. What am
> > > I doing wrong ?
> > >
> > > > library(mlbench)
> > > > library(randomForest)
> > > > data(Soybean)
> > > > test <- sample(1:683, 150, replace=F)
> > > > sb.rf <- randomForest(Class~., data=Soybean[-test,])
> > > > sb.rf.pred <- predict(sb.rf, Soybean[test,])
> > > Error in matrix(t1$countts, nr = nclass, nc = ntest) :
> > > No data to replace in matrix(...)
> >
> >
> >try
> >
> >R> test <- sample(1:683, 150, replace=FALSE)
> >R>
> >R> st <- Soybean[test,]
> >R>
> >R> sb.rf <- randomForest(Class~., data=Soybean, subset=-test)
> >R> sb.rf.pred <- predict(sb.rf, data=st)
> >R>
> >R> sb.rf.pred[1:10]
> > [1] diaporthe-stem-canker diaporthe-stem-canker diaporthe-stem-canker
> > [4] diaporthe-stem-canker diaporthe-stem-canker diaporthe-stem-canker
> > [7] diaporthe-stem-canker charcoal-rot charcoal-rot
> >[10] charcoal-rot
> >19 Levels: 2-4-d-injury alternarialeaf-spot anthracnose ...
> >rhizoctonia-root-rot
> >
> >
> >Torsten
>
>
More information about the R-help
mailing list