我正在尝试将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