我正在使用随机森林生成物种分布模型。这些模型试图根据各种环境属性预测一个物种发生的概率。对于大多数物种,我们的初始潜在预测变量集介于 10 到 25 个之间,每个预测变量都由一个包含 460,000,000 个像元的 GIS 栅格文件表示。由于训练数据的性质,我不会在这里详细介绍,我实际上是在基于数据子集构建多个 RF 模型(大约 10 到 100+),然后结合起来为每个物种创建我的整体模型. 实际上构建模型需要的时间相对较短(通常几分钟或更短),但使用 predict 函数基于此模型生成预测概率的栅格层可能需要 20 多个小时。
提供更多细节...一旦我有了训练有素的模型,我将通过 raster 包创建代表预测器层的层的栅格堆栈,然后使用 predict() 函数中的预测到该堆栈光栅包。我有一个相当强大的桌面(Core i7,3.5GHz,w/32 GB RAM),输入和输出光栅文件在本地硬盘上,而不是通过网络移动。我在这里看到了 mbq 的回答,其中提供了有关使用 randomForest 加速模型生成的有用建议,并且正在寻找类似的建议来加速预测操作。我能想到一些可能的事情帮助(例如,种植较少数量的树,使用其中一个库进行并行处理),我计划在时间允许的情况下测试这些,但我不清楚如果问题主要是这些是否会产生重大影响读写瓶颈。我将不胜感激任何建议。