Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problematic Random Forest training runtime when using formula interface

Running the Random Forest example from http://www.kaggle.com/c/icdar2013-gender-prediction-from-handwriting/data, the following line:

forest_model <- randomForest(as.factor(male) ~ ., data=train, ntree=10000)

takes hours (not sure whether it will ever end, but the process does seems to work) .

The data set has 1128 rows and ~7000 variables.

Is it possible to estimate when the Random Forest training will finish? Can I profile R somehow to get more information?

like image 378
itamarb Avatar asked Mar 10 '13 11:03

itamarb


2 Answers

Found the problem, using formula in randomForest has created a tremendous performance degradation.

More on this and how to estimate random forest running time can found in: https://stats.stackexchange.com/questions/37370/random-forest-computing-time-in-r and in http://www.gregorypark.org/?p=286

Here is final code:

forest_model <- randomForest(y=train$male, x=train[,-2], ntree=10000,do.trace=T)
like image 126
itamarb Avatar answered Sep 20 '22 12:09

itamarb


One idea, to control the convergence is to use the do.trace for a verbose mode

iris.rf <- randomForest(Species ~ ., data=iris, importance=TRUE,
+                         proximity=TRUE,do.trace=TRUE)
ntree      OOB      1      2      3
    1:   8.62%  0.00%  9.52% 15.00%
    2:   5.49%  0.00%  3.45% 13.79%
    3:   5.45%  0.00%  5.41% 11.76%
    4:   4.72%  0.00%  4.88%  9.30%
    5:   5.11%  0.00%  6.52%  8.89%
    6:   5.56%  2.08%  6.25%  8.33%
    7:   4.76%  0.00%  6.12%  8.16%
    8:   5.41%  0.00%  8.16%  8.16%
 .......
like image 35
agstudy Avatar answered Sep 19 '22 12:09

agstudy