我正在尝试将 randomForest 对象预测为一个巨大的栅格层(34 个 mio 单元,120 多个层)。因此,我使用包clusterR
内的功能raster
。但是,如果我开始predict
之前计算的randomForest
对象,它会被加载到所有并行工作人员中。因此,所有进程组合起来需要大量内存。
randomForest
是否可以在不丢失模型的情况下减小对象的大小?这个事情谁有经验?
我创建这样的模型:
library(randomForest)
set.seed(42)
df <- data.frame(class = sample(x = 1:3, size = 10000, replace = T))
str(df)
for (i in 1:100){
df <- cbind(df, runif(10000))
}
colnames(df) <- c("class", 1:100)
df$class <- as.factor(df$class)
rfo <- randomForest(x = df[,2:ncol(df)],
y = df$class,
ntree = 500,
do.trace = 10)
object.size(rfo)
# 57110816 bytes