В 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).

Другие вопросы по тегам