Чи потребує моделювання з випадковими лісами перехресне підтвердження?


23

Наскільки я бачив, думки щодо цього зазвичай відрізняються. Найкраща практика, безумовно, диктує використання перехресної перевірки (особливо якщо порівнювати радіочастотні сигнали з іншими алгоритмами на тому ж наборі даних). З іншого боку, першоджерело стверджує, що обчислюється похибка OOB під час навчання моделі є достатньою для показника продуктивності тестового набору. Навіть Тревор Хасті в порівняно недавніх переговорах говорить, що "Випадкові ліси забезпечують безкоштовну перехресну перевірку". Інтуїтивно це має сенс для мене, якщо ви навчаєтесь і намагаєтеся вдосконалити модель на основі РФ на одному наборі даних.

Чи може хтось, будь ласка, викласти аргументи «за» і «проти» необхідності перехресної перевірки з випадковими лісами?


Питання, які явно шукають думки, як правило, не рекомендують на сайтах обміну стеками , datascience.stackexchange.com/help/dont-ask , можливо, ви могли б перефразовувати питання, щоб вимагати зразків для підтримки досвіду користувачів? Або шукати теоретичну основу для тієї чи іншої позиції.
image_doctor

2
Випадкові ліси мають меншу ймовірність перевищення інших алгоритмів ПН, але все-таки слід рекомендувати перехресну перевірку (або якусь альтернативну форму оцінки).
Девід

Я думаю, що ти задаєш це питання статистику ТА
Marcin

Я хотів би другий @David ... так чи інакше, ви будете робити перехресну перевірку.

Не могли б ви надати посилання на заявлену заяву Тревора Хасті?
Tipanverella

Відповіді:


7

За замовчуванням випадковий ліс збирає 2/3 дані для тренувань та відпочинку для тестування на регресію та майже 70% даних для тренувань та відпочинку для тестування під час класифікації. За принципом, оскільки він рандомізує вибір змінних під час кожного розщеплення дерев, він не схильний до надмірного використання на відміну від інші моделі. Однак, якщо ви хочете використовувати резюме за допомогою nfolds у sklearn, ви все одно можете використовувати концепцію протриманого набору, наприклад oob_score (out of bag) = True, яка показує продуктивність моделі з використанням CV або без нього. Тож у двох словах, використовуючи oob_score = True з або без nfolds, можна самостійно сказати, чи корисне використання CV для ваших даних. Загалом, якщо ваша мета дотримується певного розповсюдження, а у вас не так багато даних спостереження, то використання CV не дає багато вдосконалення.


5

Одна з ключових відмінностей полягає в тому, що перехресне підтвердження гарантує, що всі зразки з’являться у навчальних і тестових наборах, тому 100% ваших даних використовується в якийсь момент для тренувань і для тестування.

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

Точність обох методів певною мірою буде залежати від даних, тому може бути доцільним порівнювати обидва методи за конкретними даними, які ви маєте перед собою, і бачити, чи оцінки CV та RF OOB дають подібні значення.

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


3

Я зробив кілька тестів на наборі даних 50k рядків, використовуючи sklearn.RandomForestRegressor.

Я отримую суттєво різні бали - я використовую нормалізований джині для метрики - залежно від того, використовую rf.oob_prediction_(0,2927) або KFold CV (0,3258 в 7 разів і 0,3236 в 3 рази).

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

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