Чи є сенс використовувати підбір функції перед Random Forest?


Відповіді:


6

Так, це так, і це досить часто. Якщо ви очікуєте, що більше ~ 50% ваших функцій навіть не є зайвими, але абсолютно марними. Наприклад, пакет randomForest має функцію обгортки rfcv (), яка буде шукати randomForest і опускати найменш важливі змінні. Функція rfcv див. у цьому розділі . Не забудьте вставити вибір функції + моделювання у зовнішній цикл перехресної перевірки, щоб уникнути надмірних результатів.

[редагувати нижче]

Я міг би поміркувати "зовсім марно". Один випадковий ліс найчастіше не буде таким, як, наприклад, регресія з ласо-регуляризацією повністю ігнорує особливості, навіть якщо ці (за імітацією заднього огляду) були випадковими ознаками. Розбиття дерева рішень за ознаками вибираються за місцевими критеріями в будь-якому з тисяч або мільйонів вузлів і пізніше їх не можна скасувати. Я не прихильник скорочення функцій до одного вищого вибору, але за деякими наборами даних можна досягти значного збільшення продуктивності прогнозування (оцінюється повторною зовнішньою перехресною валідацією) за допомогою цієї вибірної змінної. Типовим висновком буде те, що збереження 100% функцій або лише кілька відсотків працює менш добре, і тоді може бути широкий середній діапазон з аналогічними прогнозованими показниками ефективності.

Можливо, розумне правило великого пальця: Коли можна очікувати, що регуляризація, схожа на ласо, буде служити кращою, ніж конькована регуляризація для даної проблеми, тоді можна спробувати попередньо тренуватися випадковим лісом і класифікувати особливості за внутрішнім поза мешком перехресне підтвердження змінної важливості та спробуйте скинути деякі найменш важливі функції. Змінна важливість кількісно визначає, наскільки зменшується перехресне затверджене модельне прогнозування, коли дана функція перестановлена ​​(значення перетасовуються) після тренування, перед прогнозуванням. Ніколи не буде точно, якщо одна конкретна особливість повинна бути включена чи ні, але, ймовірно, набагато простіше передбачити найкращі 5% функцій, ніж нижчі 5%.

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


5
Здатність даних сказати вам, що функція марна, сильно обмежена, і я сподіваюся, що варіант, на який ви посилаєтеся, інтегрований в алгоритм випадкових лісів. Не було б доцільним виконувати попереднє видалення функцій перед тим, як надсилати функції кандидата до алгоритму випадкового лісу.
Френк Харрелл

@FrankHarrell, я спробував розробити свою відповідь
Soren Havelund Welling

2
Я не згоден з тим, що ви обираєте різні правила зарахування балів для різних цілей. Неправильне правило оцінки точності призводить до вибору неправильних ознак та надання їм неправильних ваг. Більш очевидною є довільність у певних правилах балів. Набагато краще вибрати оптимальну модель прогнозування, а потім використовувати тверду теорію рішень для прийняття оптимальних рішень, використовуючи цю модель. Це робиться, застосовуючи функцію корисності до постійних прогнозів.
Френк Харрелл

1
@FrankHarrell - чи можете ви дати детальну відповідь на це питання? Мабуть, у вас є сильні аргументи проти того, щоб робити вибір функції ...
ihadanny

1
Найкращий спосіб дізнатися про це - це зробити сувору внутрішню перевірку процедури завантаження процедури, яка намагається зробити вибір функції порівняно з тією, яка цього не робить. Досить часто передбачувальна дискримінація (якщо вимірюватись за допомогою правильного правила точності балів або навіть за допомогоюc-index (область ROC)) краще, коли вибір функції не робиться. Вибір особливостей майже завжди довільний.
Френк Харрелл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.