在我面临的平行化问题上寻求你的帮助或专家意见。
我经常在一个相当大的数据集上运行一个Xgboost分类器模型(dim(train_data) = 357,401 x 281,dims后配方prep()是147,304 x 1159 )用于多类预测。在基本R中,使用registerDoParallel(使用我的服务器的所有24个核心),该模型运行时间略高于4小时。我现在正试图在Tidymodels环境中运行它,但是,我还没有找到一个健壮的并行化选项来调整网格。
我在tidymodel中尝试了以下并行化选项。它们似乎都适用于较小的子样本(例如20%的数据),但是当我运行整个数据集时,选项1-4失败
插入符号文档中给出了允许并行处理的以下代码
library(doMC)
registerDoMC(cores = 5)
## All subsequent models are then run in parallel
但在最新的R版本(3.4)中,包doMC不可用。有没有人可以告诉我做并行处理的其他方法?
更新:罗曼的建议奏效了。DoMC不适用于windows。对于windows,使用doParallel包cls = makeCluster(no of cores to use),然后使用registerDoParallel(cls)。还要确保在trControl中将allowParal
我正在使用一个名为MFE的库来生成元特性。但是,我现在正在处理几个文件,我注意到我只使用了我的机器的一个核心,花费了太多的时间。
我一直在尝试实现一些库,正如我在另一个问题中所看到的:library(iterators) library(foreach) library(doParallel)
这一个,但我笨到不能实现它=‘。
我只想把这个片段放到我所有的内核中,这样我就可以让它更快了:
## Extract general, statistical and model based measures
metafeatures(Species ~ ., iris, groups=c("g