Нещодавно мені сказали, що процес, за яким я дотримувався (складова дисертації з МС), може розглядатися як надмірно придатний. Я шукаю, щоб краще зрозуміти це і побачити, чи згодні інші.
Метою цієї частини статті є:
Порівняйте продуктивність градієнтних підсилених регресійних дерев проти випадкових лісів на наборі даних.
Подивіться на ефективність обраної остаточної моделі (або GBM, або RF).
Використовуються, gbm
а також randomForest
пакети в R разом з
caret
.
Наступний процес був наступним:
- Попередня попередня обробка даних (наприклад, підключення пропущених значень номінальних предикторів із виразною категорією під назвою "Відсутні"). Цільову змінну не враховували стосовно будь-якої попередньої обробки (що було дуже мінімальним).
- Створіть сітку значень для мета-параметрів кожного алгоритму (наприклад, кількість ітерацій для ГБМ).
- Створіть 25 випадкових розщеплення набору даних (65% навчання та 35% тестування).
Повторіть 25 разів наступне для ГБМ (Кожен раз, коли використовується один із випадкових розбитків поїздів / тестів. Кожен раз, коли тренувальний і тестовий набір є "поточними", звичайно змінюються курси - це повторна перехресна перевірка виходу з групи):
- Використовуйте 5-кратну перехресну перевірку, щоб знайти "оптимальні" параметри параметрів алгоритму для пошуку в сітці. Нічого з попередніх запусків, що не використовуються взагалі в поточному циклі.
- Визначившись, підійміть модель до повного "поточного" навчального набору та передбачте "поточний" тестовий набір. Відмініть показник продуктивності цього пробігу.
Після того, як 25 заходів щодо ефективності (насправді домен, специфічний для домену), отримані таким чином, дотримуйтесь точно такого ж процесу, використовуючи ті ж самі незалежні зразки поїздів і тестів, для РФ (той самий процес, просто з різними пошук сітки звичайно).
Тепер у мене є 25 показників продуктивності з тодішніх «поточних» тестових наборів для ГБМ та РФ. Я порівнюю їх за допомогою тесту з рейтингом Wilcoxon Signed, а також з перестановкою. Я виявив, що ГБМ є вищим. Я також стверджував, що розподіл показника продуктивності від цих 25 прогонів для ГБМ - це очікувана ефективність остаточного класифікатора ГБМ.
Що я не робив, це витягнути випадковий тестовий набір з самого початку і відкласти його для порівняння з кінцевою моделлю GBM, побудованою з усіх навчальних даних. Я стверджую, що те, що я зробив, насправді було набагато краще, оскільки я повторив розділену модель / мелодію / тест на процес витримки 25 разів проти лише одного разу.
Чи є тут надмірна відповідність? Оскільки 25 циклів використовувались для вибору ГБМ проти РФ, чи означає це, що набуті в результаті заходи щодо ефективності не можуть використовуватися як оцінка продуктивності для повної моделі?
EDIT У відповідь на коментар Wayne, ось що було зроблено під час кожного з 25 циклів:
- Дані вибірки для i-го навчального набору (i = 1, .., 25) були розбиті на 5 груп однакового розміру. Модель підходила, використовуючи 4 з 5 груп, встановлюючи параметри GBM (наприклад, кількість ітерацій) рівними значенням у j-й (j = 1, .., 18) сітці.
- Результативність 5-ї групи була розрахована за допомогою цієї моделі.
- Етапи 1 і 2 повторювали ще 4 рази (звичайний старий К-кратний CV з k = 5). Продуктивність була середньою за 5 підпрогонів, і це склало очікувану продуктивність GBM з певним набором значень параметрів.
- Кроки 1 -3 повторювались для 17 інших "рядків" в сітці.
Після завершення було визначено найкращі значення параметрів з вищевказаної вправи та було встановлено ГБМ, використовуючи ці значення параметрів та повний набір навчального набору. Його продуктивність була оцінена на i-му тестовому наборі.
Після того, як весь цей процес було здійснено 25 разів, для ГБМ було доступно 25 заходів. Потім вони були зібрані для РФ точно таким же чином.
Порівнюючи та вибираючи GBM, я переглянув ці 25 показників продуктивності та взяв середню та Stnd помилку, щоб визначити інтервал довіри для моделі GBM за цими даними.