Это похоже на методы повторной выборки вопроса Карета , хотя в действительности это никогда не отвечало на эту часть вопроса согласованным образом.
Функция поезда Caret предлагает cv
и repeatedcv
. В чем разница, скажем, делать:
MyTrainControl=trainControl(
method = "cv",
number=5,
repeats=5
)
против
MyTrainControl=trainControl(
method = "repeatedcv",
number=5,
repeats=5
)
Я понимаю, что cv
разбивает множество на k-складки (параметр number
), а затем запускает заново и запускает параметры repeats
несколько раз.
Единственное, о чем я могу подумать, это то, что, может быть, регулярные cv
выражения repeats
используют одинаковые точные индексы для сгибов каждый раз? по сути, cv
каждый раз выполняя одинаковые сгибы, возможно, repeatedcv
каждый раз выбирает новые сгибы?
Может кто-нибудь уточнить?
r
machine-learning
caret
Брайан Фини
источник
источник
Control()
синтаксисе последовательности в R) для каждого из перекрестных кратных k (заданных числом). В перекрестном сгибе, при использовании CV, это одноразовый процесс для каждого из сгибов (устанавливается с использованием чисел в поездеcontrol()
).Ответы:
Согласно руководству по уходу, стр. 22 , этот параметр
repeats
применяется только в том случае, если дляmethod
него установлено значениеrepeatedcv
, поэтому повторение не выполняется, если дляmethod
него установлено значениеcv
. Таким образом, разница между обоими методами действительноrepeatedcv
повторяется, аcv
не повторяется .Кроме того, повторение перекрестной проверки с точно таким же разбиением даст абсолютно одинаковый результат для каждого повторения (при условии, что модель обучена детерминистическим образом), что не только неэффективно, но и опасно, когда речь идет о сравнении результатов проверки для различные модельные алгоритмы статистическим образом. Так что имейте это в виду, если вам когда-нибудь придется самостоятельно программировать валидацию.
источник
Фактический код позади этих параметров можно найти в
selectByFilter.R
иcreateDataPartition.R
(ранееcreateFolds.R
) исходных файлов в `/ R каретки /» папку пакета.Смотрите эти файлы, например, здесь и здесь (будьте осторожны, эти постоянные ссылки могут в конечном итоге указывать на более старую версию кода). Для удобства ниже приведены соответствующие фрагменты (начиная с версии 6.0-78 c. Nov 2017).
В selectByFilter.R c. линия 157
В createDataPartition.R c. линия 227
источник