为什么带有Ranger引擎的tidymodels比Ranger慢得多?

问题描述

我首先看一下tidymodels。对于当前项目,我的替代方案是非收割护林员。在测试运行中,在经典虹膜数据集上运行时,使用游侠引擎使用整齐模型对分类随机森林进行分类要比手持游侠慢得多(大约慢十倍)。为什么呢?

library(tidymodels)
library(ranger)

# Make example data
data("iris")
mydata <- iris[sample(1:nrow(iris),600,replace=T),]

# Recipe 
myrecipe <- mydata %>% recipe( Species ~ . )

# Setting a Ranger RF model
myRF <- rand_forest( trees = 300,mtry = 3,min_n = 1) %>% 
  set_mode("classification") %>% 
  set_engine("ranger")

# Setting a workflow
myworkflow <- workflow() %>% 
  add_model(myRF) %>% 
  add_recipe(myrecipe)

# Compare base ranger and tidy setup

time <- Sys.time()
fit_ranger <- ranger( Species ~ .,data = mydata,probability = T,num.trees = 300,min.node.size = 1)
ranger_time <- difftime( Sys.time(),time,"secs")


time <- Sys.time()
fit_tidy <- myworkflow %>% 
  fit(data= mydata)
tidy_time <- difftime( Sys.time(),"secs")

tidy_time
ranger_time

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...