Теперь у меня есть R
фрейм данных (обучение), может кто-нибудь сказать мне, как случайным образом разделить этот набор данных для проведения перекрестной проверки в 10 раз?
cross-validation
user22062
источник
источник
Ответы:
caret
имеет функцию для этого:Тогда каждый элемент
flds
представляет собой список индексов для каждого набора данных. Если ваш набор данных вызываетсяdat
, тоdat[flds$train,]
вы получаете тренировочный набор,dat[ flds[[2]], ]
второй набор фолдов и т. Д.источник
Вот простой способ выполнить 10-кратное использование без пакетов:
источник
Возможно, не самый лучший способ, но вот один из способов сделать это. Я почти уверен, что когда я писал этот код, я заимствовал уловку из другого ответа здесь, но я не мог найти его для ссылки.
источник
Пожалуйста, найдите ниже некоторый другой код, который я использую (заимствованный и адаптированный из другого источника). Скопировал его прямо из сценария, который я сам использовал, оставленный в процедуре rpart. Часть, вероятно, наибольший интерес представляют линии по созданию складок. В качестве альтернативы - вы можете использовать функцию crossval из пакета начальной загрузки.
источник
Все сделано для вас в одной строке кода!
источник
Поскольку в этом списке я не использовал свой подход, я подумал, что могу поделиться другим вариантом для людей, которые не хотят устанавливать пакеты для быстрой перекрестной проверки.
Обратите внимание, что приведенный выше код предполагает, что данные уже перетасованы. Если это не так, вы можете добавить что-то вроде
источник