Розбиття дерев на R: сторона проти rpart


15

Минув час, як я подивився на перегородки дерев. Востаннє я робив подібні речі, мені подобається вечірка в R (створена Hothorn). Ідея умовного умовиводу через вибірку має для мене сенс. Але rpart також мав звернення.

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

Я також хотів би мати ручний контроль над тим, які вузли розділяються, як це рекомендовано в рекурсивному розділі та додатках Zhang & Singer (2010) . Безкоштовна програма, яка постачається з цією книжкою, дозволяє це, але в іншому випадку є досить примітивною у своїх введеннях користувача.

Якісь рекомендації чи пропозиції?

Відповіді:


8

Я погоджуюся з @Iterator, що методологію простіше пояснити для rpart. Однак якщо ви шукаєте легко зрозумілі правила, учасник (без мішків) нічого не втрачає у поясненні прогнозу - у вас все одно є одне дерево. Якщо ви також зацікавлені в тому, щоб дивитися на драйверів змінної результату (не просто чистої прогнозованої сили), я все одно думаю, що ця сторона - це пояснення, пояснюючи, що дерево рішень (як Rpart) може бути досить упередженим у тому, як він вибирає, який змінні важливі і те, як це створює розщеплення. Партія використовує тести перестановки та статистично визначає, які змінні є найважливішими та як виробляються розбиття. Отже, замість упередженого схилення до категоричних змінних з багатьма рівнями, наприклад, наприклад, rpart, партія використовує статистичні тести, щоб знайти найкращу структуру.


1
Гарна відповідь. Я думаю, що ви потрапили в дуже вагому причину, чому вечірка краща для передової аудиторії, і чому це гарна ідея виховати аудиторію, щоб допомогти їм прийняти використання партії.
Ітератор

4

[Примітка: Див. Оновлення 1. нижче.] Я вважаю, що методологію rpartпояснити набагато простіше, ніж party. Останній, однак, набагато складніший і, ймовірно, дає кращі моделі. Те, як я іноді пояснюю, party- це говорити про це як про основу для створення локальних лінійних (або GLM) моделей. Я будую до цього, вказуючи, що результати для rpartпостійні для всіх елементів, які потрапляють у вузол листків, тобто поле / область, обмежена розщепленнями. Навіть якщо можливі покращення за допомогою місцевих моделей, ви не отримуєте нічого, крім постійного передбачення.

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

Коротше кажучи, я б сказав, що ви повинні зробити rpartдля ясності, і ви можете використовувати partyдля точності / продуктивності, але я б не ввів, partyне вводячи rpart.


Оновлення 1. Свою відповідь я базував на своєму розумінні того, partyяк це було рік-два тому. Він виріс зовсім небагато, але я б змінив свою відповідь, щоб сказати, що я все-таки рекомендую rpartйого стислість і спадщину, якщо "нефантазія" є важливим критерієм для вашого клієнта / співпрацівниці. Однак я б спробував перейти до використання більшої функціональності party, після того, як когось представив rpart. Краще почати з невеликих, з функціями втрат, розбиттям критеріїв тощо, у простому контексті, перш ніж вводити пакет і методологію, яка передбачає набагато більше задіяних концепцій.


2
Я думаю, ви трохи заплутаєтесь у тому, що partyпакет може зробити. Чиста partyфункція створює лише одне просте дерево, як rpartпри більшій кількості голосів у листках. mobФункція partyє те , що будує дерева з більш складними моделями , в листах (і вибирає шпагат на основі нестабільності параметрів.)
Shea Parkes

1
@SheaParkes Ти маєш рацію. Минуло деякий час, і я не впевнений, чи використовував я лише, mobчи інша частина пакету виросла зовсім небагато - наприклад, я не пам'ятаю, як раніше бачили випадкові ліси. Я перегляну свою відповідь ...
Ітератор

2
І власне, я теж трохи забув. Це ctreeзробити єдине дерево, cforestскласти випадковий ліс і mobскласти на основі моделей листя. І фій, ліс це весело, але передбачити жахливо повільно.
Ши Паркс

Я перегляну моб , я не думаю, що він існував востаннє, коли я використовував вечірку . Цього разу лісові програми не для мене.
Пітер Флом - Відновіть Моніку

@PeterFlom Я думаю mob, що там я мав місце з початку, або, принаймні, прийшов після цього ctree. Це було з 2009 року чи раніше. У всякому разі, просто показує, що ми можемо навчитися чомусь новому про SE. :)
Ітератор
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.