September 10, 2015

library(ranger)とlibrary(randomForest)の速度を比較する

Predicting Titanic deaths on Kaggle V: Rangerを読んでいたら、 「ranger早いぜ」というのを見つけたので試してみた。

library("ranger")

library("randomForest")
## randomForest 4.6-10

## Type rfNews() to see new features/changes/bug fixes.

## 

## Attaching package: 'randomForest'

## 

## The following object is masked from 'package:ranger':

## 

##     importance
data("iris")



# http://d.hatena.ne.jp/a_bicky/20101225/1293258748

test <- function(code, ic = 1000) {

    expr <- substitute(code)

    print(system.time(for (i in 1:ic) {

        eval(expr)

    }))   

}

test(

  ranger(Sepal.Length~., data=iris, mtry=2, num.trees = 500,

         write.forest=TRUE)

)
##    user  system elapsed 

##  71.426  26.430  53.740
test(

  randomForest(Sepal.Length~., data=iris, mtry=2, ntree = 500)

)
##    user  system elapsed 

## 136.479   0.000 140.745

確かに早いですね。

© gepuro 2013