Это может быть, возможно, глупый вопрос, но при создании модели с каретой и использовании чего-то вроде LOOCV
или (даже более точно) LGOCV
, какая польза от разделения данных на наборы обучающих и тестовых наборов, если это, по сути, шаг перекрестной проверки в любом случае?
Я прочитал некоторые из связанных вопросов, и они предположили, что некоторые из методов перекрестной проверки (например, то, что описано здесь на сайте каретки ) предназначены для выбора функций . Но в моем случае я использую randomForest
( method = "rf"
) и kernlab
( method = svmRadial
), которые не перечислены в группе, которая пытается очистить предикторы.
Итак, мой вопрос: если я использую что-то вроде этого cross_val <- trainControl(method = "LGOCV", p = 0.8)
, разве это не то же самое, что тренироваться на 80% моих данных, тестировать результирующую модель на оставшихся 20% и делать это снова и снова, чтобы понять, насколько хорошо модель работает?
Если да, то нужно ли разбивать мои данные на наборы поездов / тестов?
PS Я частично спрашиваю, поскольку я работаю над моделями на опытно сгенерированных прототипах DOE (подумайте о сложных вещах, где мы настраиваем входные данные, а затем используем методы тестирования для измерения различных атрибутов прототипа).
Поэтому у меня нет огромного набора данных с множеством перекрывающихся уровней предикторов для моделирования - мы часто проводим одно испытание в каждой точке интереса DOE, так как в этом случае генерация данных обходится дорого. Таким образом, я хотел бы использовать все данные, которые я могу для точной модели, но хотел проверить здесь, что я не упускаю что-то очевидное и создаю плохую модель, не разбивая вещи.
Изменить: В ответ на вопрос @ topepo, я моделирую физически измеренные атрибуты соединения на основе корректировки химических входов формулы. Я не могу обсуждать свое реальное применение, но я приведу пример, основанный на формулировке внутренней латексной краски. Я провожу спроектированные эксперименты, в которых мы смешиваем 4-5 химикатов, возможно, играем с% сухого остатка, и некоторое время, чтобы нагреть раствор полимера, чтобы отрегулировать степень полимеризации.
Затем мы можем измерить реологию, молекулярную массу, твердость лакокрасочного покрытия, водостойкость и т. Д.
У нас есть приличные реплики нескольких переменных, но мало истинных копий в том смысле, что каждый уровень DOE был точно таким же. Общий набор данных составляет ~ 80 наблюдений и, возможно, 4-5 точных повторов. Мы провели 15 различных тестов, и, возможно, 5-6 из них были проведены для каждого наблюдения. Некоторые ответы присутствуют для 25-50% данных.
Здесь мы хотели бы смоделировать влияние наших 7 предикторов на выходные свойства, а затем оптимизировать их для новых областей проектирования, которые, скорее всего, дадут желаемые свойства.
(Отсюда мой вопрос ЗДЕСЬ . Как только у меня будет обученная модель, было бы неплохо сделать «реверс» и ввести желаемые ответы, чтобы получить наилучшее предположение о возможных входных уровнях, чтобы попробовать следующий).
data_set1
, что я считаю шагом, выполненным LGOCV
перекрестной проверкой? Из моего прочтения я предполагаю, что 1) caret
выполняет итерацию параметров настройки, data_set1
а затем 2) сохраняет эти параметры фиксированными и 3) создает «подмодель», используя параметры из # 1 для каждой p = 0.8
выборки, data_set1
и проверяет прогнозы на оставшихся 0,2, чтобы оценить точность , Это разумное резюме?