Для начала, у меня есть элементарное знакомство с doparallel и параллельными пакетами в R, поэтому, пожалуйста, воздержитесь от предложения этих пакетов без примера кода.
В настоящее время я работаю с регрессионными моделями LASSO, сгенерированными с использованием пакета glmnet.Я полагаюсь на функцию cv.glmnet в этих пакетах, чтобы сказать мне, какова идеальная лямда ... все это барахло не относится к моему актуальному вопросу, но я надеюсь, что история поможет.Функция cv.glmnet делает то, что я хочу, но занимает слишком много времени.Я хочу распараллелить его.
Моя проблема заключается в том, что параллельные r-пакеты предназначены для получения списка, а затем применяют к этому списку операцию, поэтому при попытке передать полированную функцию, такую как cv.glmnet (дажехотя это итеративно), я получаю одно ядро, обрабатывающее один набор данных, который я хочу обработать cv.glmnet, а не этот процесс распределяется по всем ядрам на моем сервере.
Можно ли распределить одно вычисление по нескольким процессорам / ядрам в r (какие пакеты, пример кода и т. Д.)?Или можно ли сделать распараллеливающие пакеты, такие как параллельные и допараллельные, распознать итеративную структуру функции cv.glmnet и затем распространить ее для меня?Я ловлю на рекомендации, любая помощь или понимание будут с благодарностью.
К сожалению, у меня нет разрешения на передачу данных, с которыми я работаю.Воспроизводимый пример см. В этом посте. Код ответа - качество копирования / вставки для генерации данных, регрессия лассо и пример использования функции cv.glmnet: https://stats.stackexchange.com/questions/72251/an-example-lasso-regression-using-glmnet-for-binary-outcome