Випадковий ліс: що, якщо я знаю, що змінна важлива


12

Я розумію, що випадковий ліс вибирає випадковим чином mtry змінних для побудови кожного дерева рішень. Отже, якщо mtry = ncol / 3, то кожна змінна буде використовуватися в середньому на 1/3 дерев. І 2/3 дерев ними не користуватимуться.

Але що робити, якщо я знаю, що одна змінна, ймовірно, дуже важлива, було б добре вручну збільшити ймовірність того, що ця змінна буде обрана в кожному дереві? Чи це можливо з пакетом randomForest в R?

Відповіді:


6

Зауважимо, що мтри- кількість змінних, вибірково відібраних у якості кандидатів при кожному розбитті. І з цього кандидата вибирається найкращий для здійснення розбивки. Таким чином, згадувана вами пропорція не задовольняється повністю. Більш важливі змінні з'являються частіше, а менш важливі - рідше. Тож якщо змінна дійсно дуже важлива, то є велика ймовірність того, що вона буде вибрана на дереві і вам не потрібна корекція вручну. Але іноді (рідко) виникає необхідність примусити присутність якоїсь змінної (незалежно від її можливої ​​важливості) в регресії. Наскільки я знаю, пакет R випадкових лісів не підтримує таку можливість. Але якщо ця змінна не має взаємозв'язку з іншими, ви можете зробити звичайну регресію з цією змінною як один термін, а потім запустити випадкову лісову регресію на залишки цієї звичайної регресії. Якщо ви все ще хочете виправити можливість вибору заздалегідь визначених змінних, то модифікація вихідного коду з наступною компіляцією - це ваш варіант.


2
Якщо вам потрібно n дерев, щоб отримати гідне наближення до вашої цільової функції, але ви шукаєте змінної важливості, то ви можете встановити щось подібне до 5 * n або 10 * n дерев у лісі. Вони збільшаться більше, не на "помилку пристосування", а на зміну змінної важливості.
EngrStudent

5

Починаючи з червня 2015 року, новий багатообіцяючий алгоритм РЧ на R-CRAN під назвою «рейнджер» має цю особливість. Він налаштований з, split.select.weights : "Числовий вектор з вагами між 0 і 1, що представляє ймовірність вибору змінних для розщеплення."

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