Есть ли способ отключить функцию настройки параметров (сетки) в CARET?


15

CARET автоматически использует предварительно заданную сетку настройки для построения различных моделей перед выбором окончательной модели, а затем обучает окончательную модель полным данным обучения. Я могу предоставить свою собственную сетку настройки только с одной комбинацией параметров. Однако даже в этом случае CARET «выбирает» лучшую модель среди параметров настройки (даже если в этом случае есть только одна), а затем подгоняет окончательную модель ко всем данным обучения. Это дополнительный шаг, который я хотел бы избежать.

Как мне просто пропустить шаг поиска модели по вариациям сетки настройки и заставить CARET использовать все данные обучения (кроме прямого вызова базовой библиотеки моделей)?


1
Вопрос довольно неясен, что, вероятно, объясняет, почему вы получили ответы на разные вопросы, а именно: 1) Как мне сказать карету, чтобы пропустить проверку модели и настройку? и 2) Как отключить только настройку модели?
Йохан Ларссон

Ответы:


17

Вы можете указать method="none"в trainControl. Например:

train(Species ~ ., data=iris, method="rf", tuneGrid=data.frame(mtry=3),
  trControl=trainControl(method="none"))

Я не уверен, когда это было реализовано.


9

Лучшим способом было бы явным образом предоставить фрейм данных tuneGrid. Например, случайный лес имеет только один параметр настройки, «mtry», который управляет количеством объектов, выбранных для каждого дерева.

Чтобы установить mtry на определенное значение, вы можете выбрать значение по умолчанию randomForest (? RandomForest) и сделать это:

model <- train(x = X, y = Y, method = 'rf', tuneGrid = data.frame(.mtry = M))

где M - это единственное значение параметра настройки, которое вы хотите использовать.

для нескольких параметров настройки сделайте это:

tuneGrid = data.frame(.par1 = P1, .par2 = P2, .par3 = P3)

Добро пожаловать на наш сайт, Брент! Спасибо, что ответили на этот старый вопрос.
whuber

4
Предложение ниже method="none"является лучшим решением.
topepo

1

Я не думаю, что это возможно (по крайней мере, это было невозможно по состоянию на несколько версий назад). Можно снизить влияние на производительность, настроив только один раздел повторной выборки в обучающих данных (но Caret все равно будет обучать модель дважды).

Это звучит как полезная функция, чтобы я пинговал автора пакета.


Извините, этот ответ устарел
smci
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.