R / caret: поїзд та тестові набори проти перехресної перевірки?


9

Це може бути дурним питанням, але коли генерувати модель з обережністю та використовувати щось на кшталт 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 прогнокторів на вихідні властивості, а потім оптимізувати для орієнтації на нові дизайнерські простори, які, швидше за все, нададуть бажані властивості.

(Звідси моє запитання ТУТ . Після того, як у мене є навчена модель, було б непогано зробити "зворотний" і подати бажані відповіді, щоб отримати найкращу здогадку на можливих рівнях введення, щоб спробувати далі).


Набір перевірки та тестовий набір - це дві різні речі! Дивіться stats.stackexchange.com/questions/19048/… та en.wikipedia.org/wiki/Test_set
sashkello

@sashkello Дякую за це. Можливо, це може бути закрито як дублікат, і я чомусь цілком пропустив це питання. Одним з відсутніх бітів може бути: Якщо я тренуюсь data_set1, то що я вважаю кроком, виконаним LGOCVперехресною перевіркою? З мого читання я припускаю, що 1) caretповторює налаштування параметрів, data_set1а потім 2) фіксує ці парами фіксованим і 3) створює "підмодель", використовуючи параметри з №1 для кожного p = 0.8зразка data_set1і тестує прогнози на решту 0,2 для точності вимірювання . Це розумний підсумок?
Хенді

Ще один зниклий біт: чи взагалі не допомагає точність моделювання залишати набір для тестування? Це здається, що це просто дає об'єктивний набір для подальшого тестування. Якщо дані обмежені і не так багато перекриваються проектних точок, чи не краще я тренуватися з повним набором і покладатися на перехресну перевірку для оцінки точності?
Хенді

З кращою стратегією пошуку, це корисніше: stats.stackexchange.com/questions/9357/… . Зокрема, це "я думаю, що одним із обмежуючих факторів тут є те, скільки у вас є даних. Здебільшого ми навіть не хочемо розділяти дані на фіксовані розділи, отже, резюме". Я думаю, що це виникає при моєму питанні (що, мабуть, характерне для обмеженого характеру моїх даних (лише 80 спостережень). Здається, голосування за те, що в цих випадках не розкололися?
Хенді

Відповіді:


7

Мої загальні думки:

Тож, коли ви оцінюєте різні моделі, ви, можливо, захочете їх настроїти, спробувати різні типи попередньої обробки тощо, поки не знайдете те, що вважаєте гарною моделлю. Перестановка може допомогти вам направити у правильному напрямку під час цього процесу.

Однак є ймовірність перевиконання, і шанси на це значно впливають на те, скільки даних (і прогнозів) у вас є. Якщо у вас є небагато даних, є кілька способів подумати над цим:

  • Використовуйте всі дані для тренінгу, оскільки кожен пункт даних значно покращує якість роботи моделі.
  • Відкладіть невеликий тестовий набір як остаточну перевірку на наявність грубих помилок через надмірну підгонку. Шанси на перевищення малого розміру зразків не малі і збільшуються з кількістю зразків.

Я потрапляю у другий табір, але перший взагалі не помиляється.

Якщо у вас є тонна даних, то це насправді не має великого значення (якщо ви не дотримуєтесь невеликої кількості подій).

Для вас:

У вас є DOE. Тип конструкції допоможе відповісти на питання. Ви намагаєтесь інтерполювати між точками проектування або передбачити точки дизайну, які до цього часу не перевірені?

У вас є одна копія. Я впав, мов випадковий ліс ударяє цвяхом кувалду і може призвести до надмірного прилягання. Я б спробував щось плавніше, як SVM або (задихана) нейронна мережа.

Макс


Я додав оновлення для вас вище. У мене були досить приємні криві (я думаю, це суб'єктивно) method = "svmRadial". Я сподіваюся оцінити деякі інші, в тому числі method = neuralnet, хоча в минулих спробах я вважав нейронну мережу дуже чутливою до `set.seed (). Коротше кажучи, ми намагаємось 1) краще зрозуміти взаємозв'язок між входами / декількома відповідями і 2) зробити найкращі здогадки щодо найбільш ймовірного дизайнерського простору, щоб отримати бажані властивості, щоб ми могли запускати нові, більш зосереджені DOE та більш типові експансивний / дробовиковий підхід з точки зору вхідних мінімальних та максимальних рівнів, які слід спробувати
Хенді
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.