gpt4 book ai didi

r - 如何使用 parRF 方法使随机森林运行得更快

转载 作者:行者123 更新时间:2023-12-01 19:40:18 25 4
gpt4 key购买 nike

我想在一个大数据集上运行随机森林:100k * 400。当我使用随机森林时,它需要很多时间。我可以使用 caret 包中的 parRF 方法来减少运行时间吗?正确的语法是什么?这是一个示例数据框:

dat <- read.table(text = " TargetVar  Var1    Var2       Var3
0 0 0 7
0 0 1 1
0 1 0 3
0 1 1 7
1 0 0 5
1 0 1 1
1 1 0 0
1 1 1 6
0 0 0 8
0 0 1 5
1 1 1 4
0 0 1 2
1 0 0 9
1 1 1 2 ", header = TRUE)

我尝试过:

library('caret')
m<-randomForest(TargetVar ~ Var1 + Var2 + Var3, data = dat, ntree=100, importance=TRUE, method='parRF')

但是我没有看到太大的区别。有什么想法吗?

最佳答案

您没有看到差异的原因是您没有使用 caret 包。您确实使用 library() 命令将其加载到您的环境中,但随后运行不使用脱字符号的 randomForest()

我建议首先创建一个仅包含输入变量的数据框(或 data.table )以及包含结果的向量。我指的是最近更新的caret docs .

x <- data.frame(dat$Var1, dat$Var2, dat$Var3)
y <- dat$TargetVar

接下来,验证您是否有可用的 parRF 方法。直到我将插入符号包更新到最新版本(6.0-29)后,我才这样做。

library("randomForest")
library("caret")
names(getModelInfo())

您应该在输出中看到 parRF。现在您已准备好创建训练模型。

library(foreach)

rfParam <- expand.grid(ntree=100, importance=TRUE)

m <- train(x, y, method="parRF", tuneGrid=rfParam)

关于r - 如何使用 parRF 方法使随机森林运行得更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com