#r #rfe
#r #rfe
Вопрос:
Я написал этот код
library(caret)
set.seed(100)
options(warn=-1)
subsets <- c(1:5, 10, 15, 18)
ctrl <- rfeControl(functions = rfFuncs,
method = "repeatedcv",
repeats = 5,
verbose = FALSE)
lmProfile <- rfe(x=train_clean[trainIndex,], y=train_clean_price$SalePrice[trainIndex],
sizes = subsets,
rfeControl = ctrl)
train_clean содержит 80 переменных и 1200 строк.
это продолжается уже 30 минут
Как узнать, сколько времени займет выполнение кода?
Ответ №1:
Во-первых, некоторые рекомендации, когда дело доходит до выяснения, где или почему код R требует времени для выполнения.
Ознакомьтесь Rprof
с инструментом профилирования в utils
пакете. Это покажет вам точно, сколько времени занимает каждый вызов (функция). Затем вы могли бы попробовать использовать пакет microbenchmark
.
Но, наконец, и, вероятно, самое важное, когда вы обнаружите, что ждете завершения целую вечность, завершите процесс и начните снова с наименьшего возможного подмножества ваших входных данных. Например, попробуйте настроить mini_train <- train_clean[1:5,]
и посмотрите, что произойдет… или даже mini_train <- train_clean[1:5,1:20]
. Примечание: я предполагаю, что ваши «80 переменных и 1200 строк» означают, что это массив данных размером 1200 на 80.