r - 为什么带有 ranger 引擎的 tidymodels 比 ranger 慢得多?
问题描述
我首先看一下 tidymodels。我当前项目的替代方案是未整理的游侠。在测试运行中,使用 ranger 引擎的 tidymodels 分类随机森林在经典 iris 数据集上运行时比手持 ranger 慢得多(大约慢十倍)。这是为什么?
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,
mtry = 3, 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(), time, "secs")
tidy_time
ranger_time
解决方案
推荐阅读
- svelte - 如何在一个文件中拥有多个服务器(工兵)获取、发布等路由?
- javascript - 如何有效地为对象存储价值
- powershell - 检测文件夹是否包含 Log 文件夹和 ps1 文件
- bookdown - 尝试在没有 gitbook 输出的情况下格式化 bookdown 书
- flutter - 如何从另一个提供者传递超过 1 个值的数据?
- c - 如何将 strcpy() 与数组元素一起使用?
- javascript - 新手问题:我只是在我的脚本中使用 decimal.js 时遇到了问题
- ruby - 如何在ruby中访问哈希值[2]的最小值
- java - 如何在 macOS 上使用 JavaFX 打开应用程序的新实例
- javascript - Laravel webpack npm run watch 只能运行一次