Я создаю модели распространения видов с помощью Random Forest. Эти модели пытаются предсказать вероятность появления вида в зависимости от различных экологических атрибутов. Для большинства видов наш начальный набор потенциальных предикторов составляет от 10 до 25, и каждый предиктор представлен растровым файлом ГИС с 460 000 000 ячеек. Из-за характера обучающих данных, которые я здесь не буду вдаваться, я фактически строю несколько моделей RF (примерно от 10 до 100+) на основе подмножеств данных, а затем объединяю их, чтобы создать свою общую модель для каждого вида. . На самом деле построение модели занимает относительно мало времени (несколько минут или меньше, как правило), но использование функции прогнозирования для создания растрового слоя с прогнозируемой вероятностью на основе этой модели может занять более 20 часов. Я подозреваю, что большая часть этого длительного процесса связана с чтением / записью больших растровых файлов, и что узким местом может быть скорость чтения / записи жесткого диска.
Чтобы предоставить немного больше деталей ... После того, как у меня есть моя обученная модель, я создаю растровый стек слоев, представляющих уровни предикторов, с помощью пакета растров, а затем выполняю прогноз на этот стек, используя функцию predic () в растровый пакет. У меня достаточно мощный настольный компьютер (Core i7, 3,5 ГГц, 32 ГБ ОЗУ), а входные и выходные растровые файлы находятся на локальном жестком диске, а не передаются по сети. Я видел ответ mbq здесь с полезными предложениями по ускорению создания моделей с помощью randomForest, и я ищу аналогичные предложения по ускорению операции прогнозирования. Я могу придумать ряд вещей, которые могли бы помочь (например, выращивание меньшего количества деревьев с использованием одной из библиотек для параллельной обработки), и я планирую протестировать их, если позволит время, но это Мне неясно, окажет ли какое-либо из них значительное влияние, если проблема в основном связана с узким местом чтения-записи. Буду признателен за любые предложения.