Вибір параметра складності в CART


16

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

  1. Виберіть параметр складності, пов'язаний з мінімально можливою перехресною вадою помилки. Цей метод рекомендують Quick-R та HSAUR.

  2. Виберіть параметр найбільшої складності, чия оціночна перехресна перевірена помилка все ще знаходиться в межах SE від мінімально можливої ​​поперечно підтвердженої помилки. Це моя інтерпретація пакетної документації, в якій сказано: "Хороший вибір cp для обрізки - це найменше ліве значення, для якого середнє значення лежить нижче горизонтальної лінії" стосовно посилання на цей сюжет .

Два варіанти cp дають зовсім різні дерева в моєму наборі даних.

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


Що являє собою горизонтальна лінія у сюжеті?
Богдановіст

Я вважаю, що це на 1 SE вище мінімально можливої ​​поперечно підтвердженої помилки.
половина проходу

Якщо у вас є достатня кількість даних, ви можете спробувати розділити їх на навчальний і тестовий набір даних, навіть для дерев. Це може бути особливо корисно, якщо ви в основному цікавитеся прогнозуванням, оскільки тестовий набір дасть хорошу оцінку цьому. Інший вибір - це partyпакет, який використовує тести на значущість (зазвичай це не те, що я рекомендую, але тут здається доречним). Як завжди, найкращим тестом є корисність та розум; це особливо вірно, якщо вас в основному цікавлять пояснення.
Пітер Флом - Відновити Моніку

Мої вибачення за повільну відповідь. Для уточнення, я думав, що, використовуючи перехресну перевірку для обчислення помилки для різних розмірів дерев, я вже ефективно розбивав дані кілька разів на навчальні та тестові набори. Чи було б виконання іншого тренувального / тестового розбиття зайвим у такому випадку? Я вас нерозумію?
половина проходу

Розділення даних у поїзді / тесті та перехресне підтвердження параметра cp, використовуючи лише дані поїзда, відтворить реалістичний тест прогнозування (де ви не можете використовувати майбутні дані для оцінки CP). Отже, перше резюме буде для cp, помилка прогнозування для загальної моделі (включаючи оцінену cp).
Роберт Кубрик

Відповіді:


6

На практиці я бачив обидва підходи, і я думаю, що, як правило, ваші результати не будуть сильно відрізнятися в будь-якому випадку.

Зважаючи на це, Хасті та ін рекомендують правило «єдиної помилки» в елементах статистичного навчання , і я схильний довіряти їх судженням (розділ 7.10, стор. 244 в моїй версії). Відповідна цитата:

Часто використовується правило «одностандартної помилки» з перехресною валідацією, в якій ми вибираємо найбільш парсимонізовану модель, помилка якої не більше однієї стандартної помилки вище помилки найкращої моделі ».

Ваша інтуїція того, чому слід дотримуватися єдиного стандартного правила помилки, є правильним - ви б це зробили, щоб уникнути вибору моделі, що перевищує дані.


1

Спочатку слід почати з аргументів minsplit=0і cp=0(параметр складності), потім використовувати функції plotcp(T.max)та printcp(T.max)вибрати значення cpвідповідної мінімальної відносної помилки та обрізати дерево функцієюprune.rpart(T.max, cp=....)

Це повинно отримати оптимальне дерево класифікації, оскільки вони, як правило, надмірно оптимістичні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.