В R функция каркасного пакета RFE выбирает больше возможностей, чем разрешено по размеру
У меня есть простой код, который использует rfe
выполнить выбор функции в разные периоды времени моих данных. Я использую следующее rfeControl
а также rfe
вызовы функций:
control <- rfeControl(functions=rfFuncs, method="cv", number=10)
results <- rfe(feature_selection_data
, feature_selection_target$value
, sizes = c(1:12)
, rfeControl = control)
Каждый раз, когда это выполняется, я вставляю значения в список:
include <- predictors(results)
include_list[[row]] <- include
Почему-то, хотя я установил максимальный размер 12 в 2 из моих 20 периодов времени, выбор объектов приводит к 65 объектам (что является общим числом объектов в исходном наборе данных).
Я новичок в использовании этой функции, я не знаю, что я делаю здесь неправильно, любая помощь приветствуется!
Спасибо!
1 ответ
Если вы посмотрите на описание алгоритма RFE ( http://topepo.github.io/caret/recursive-feature-elimination.html), вы увидите, что необходимо включить все функции в первой итерации.
Ваш следующий вопрос, вероятно, будет о том, как выбрать неоптимальные модели с меньшим количеством функций. Один ответ может быть найден здесь (хотя это не слишком полезно): Доступ ко всем моделям, произведенным rfe, в карете
Я бы предложил настроить функцию ранжирования, чтобы позволить наборам функций, которые не являются оптимальными с точки зрения ошибок, но которые меньше (см.: http://topepo.github.io/caret/recursive-feature-elimination.html).