【发布时间】:2023-03-15 01:01:04
【问题描述】:
我正在使用一个名为 missForest 的包来估计我的数据集中的缺失值。 我的问题是:我们如何才能使这个过程并行化以缩短获得结果所需的时间? 请参考这个例子(来自missForest包):
data(iris)
summary(iris)
数据包含四个连续变量和一个分类变量。
使用prodNA函数人为地产生缺失值:
set.seed(81)
iris.mis <- prodNA(iris, noNA = 0.2)
summary(iris.mis)
估算缺失值,提供完整矩阵以供说明。使用“详细”查看迭代之间发生的情况:
iris.imp <- missForest(iris.mis, xtrue = iris, verbose = TRUE)
【问题讨论】:
-
为什么当前执行需要很长时间?是因为单个 randomForest 操作需要很长时间,还是因为您有许多包含 NA 的列导致许多 randomForest 操作,或者是否需要多次迭代才能收敛,或者这些的某种组合?
-
Steve:通常是因为使用了非常大的数据矩阵(~500 *100 0000)
-
你能估计出有缺失值的列数吗?这决定了每次迭代计算的 randomForest 操作的数量。
标签: r parallel-processing