gpt4 book ai didi

R - 提高插入符::训练函数的性能

转载 作者:行者123 更新时间:2023-11-30 09:34:04 25 4
gpt4 key购买 nike

我正在尝试运行 caret 包中的 train() 函数。然而,运行所需的时间却让人望而却步。我尝试通过在多个核心上运行来提高速度,但即便如此......它仍在加载。还有其他替代方法可以加快这样的机器学习过程吗?

library(parallel)
library(doParallel)
library(caret)
library(mlbench)
library(caret)

data(Sonar)

inTraining <- createDataPartition(Sonar$Class, p = .75, list=FALSE)
training <- Sonar[inTraining,]
testing <- Sonar[-inTraining,]

cluster <- makeCluster(detectCores() - 1)
registerDoParallel(cluster)

trControl <- trainControl(method = "cv", number = 5, allowParallel = T)
system.time(fit <- train(x,y, method="rf",data=Sonar,trControl = trControl))

stopCluster(cluster)

最佳答案

您可以采取许多步骤:

  1. 使用主成分分析 ( PCA ) 或独立成分分析 ( ICA ) 减少数据中的特征数量。您可以使用 caret::Preprocess 来执行此操作。如果运行随机森林并检查特征重要性,您还可以删除不重要的特征。

  2. 尝试使用 ranger library implementation的随机森林。在训练调用中设置 method = 'ranger'。我发现游侠通常更快。

  3. 减少 cross validation 的数量脚步。这减少了数据的分割次数,并有效地减少了训练迭代的次数。

关于R - 提高插入符::训练函数的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48106416/

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