Advertisement
annstasi

doParallel

Nov 24th, 2022
515
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 0.90 KB | None | 0 0
  1. install.packages("pscl")
  2. install.packages("randomForest")
  3. install.packages("doParallel")
  4. library(pscl)
  5. library(randomForest)
  6. library(doParallel)
  7.  
  8. detectCores() # Смотрим доступное число ядер
  9. #y = c(0, 0, 0)
  10.  
  11. system.time({iris_rf <- randomForest(Species~.,data=iris,ntree=500,proximity=TRUE)})
  12. varImpPlot(iris_rf)
  13. importance(iris_rf)
  14. iris_rf
  15. #y[1]=t[3]
  16.  
  17. # Функция принимает число ядер, возвращает затраченное время
  18. calc_time <- function(c){
  19.   registerDoParallel(cores = c)
  20.   t <- system.time({iris_rf2 <- foreach(ntree=rep(100,5), .combine=combine, .packages=c('randomForest',"pscl")) %dopar% randomForest(Species~.,data=iris,ntree=ntree,proximity=TRUE)})
  21.   print(t)
  22.   return(t[3])
  23. }
  24.  
  25. # 1
  26. x<-c(1, 2, 4)
  27. y <- c(calc_time(1), calc_time(2), calc_time(4))
  28. plot(x, y, type="o", xlab = "Число ядер", ylab= "Время")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement