Прямо сейчас я пытаюсь использовать функцию Caret rfe для выбора функции, потому что я нахожусь в ситуации с p >> n, и большинство методов регрессии, которые не предполагают какой-либо регуляризации, не могут быть хорошо использованы. Я уже использовал несколько техник с регуляризацией (лассо), но сейчас я хочу попробовать уменьшить количество моих функций, чтобы я мог запустить, по крайней мере, прилично, на нем любой алгоритм регрессии.
control <- rfeControl(functions=rfFuncs, method="cv", number=5)
model <- rfe(trainX, trainY, rfeControl=control)
predict(model, testX)
Прямо сейчас, если я сделаю это так, будет запущен алгоритм выбора функций с использованием случайного леса, а затем модель с лучшим набором функций, согласно 5-кратной перекрестной проверке, будет использоваться для прогноза, верно ?
Мне здесь любопытны две вещи: 1) Есть ли простой способ взять набор функций и обучить на нем другую функцию, которая использовалась для выбора функции? Например, уменьшение количества функций с 500 до 20 или около того, которые кажутся более важными, а затем применение k-ближайшего соседства.
Я представляю себе простой способ сделать это, который выглядел бы так:
control <- rfeControl(functions=rfFuncs, method="cv", number=5)
model <- rfe(trainX, trainY, method = "knn", rfeControl=control)
predict(model, testX)
2) Есть ли способ настроить параметры алгоритма выбора функции? Я хотел бы иметь некоторый контроль над значениями mtry. Таким же образом вы можете передать сетку значений при использовании функции поезда из Caret. Есть ли способ сделать такое с rfe?