Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Запобігання перенавчанню в деревах рішень | Дерево Рішень
Класифікація з Python

Запобігання перенавчанню в деревах рішень

Свайпніть щоб показати меню

Перш ніж перейти до реалізації дерева рішень за допомогою Python, слід обговорити важливу тему: переобучення — основна проблема, пов'язана з деревами рішень.

meme+friends

Нижче наведено приклад того, як дерево рішень підлаштовується під набір даних. Зверніть увагу, як модель адаптується до навчальних даних, відображаючи їхні закономірності та особливості:

DecisionBoundaryTree

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

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

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

Максимальна глибина дерева

Глибина вузла — це відстань (по вертикалі) від вузла до кореневого вузла.

ГлибинаДерева

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

АнімаціяГлибиниДерева

Тут також наведено gif, який демонструє, як змінюється межа прийняття рішення при різних значеннях максимальної глибини:

DecisionBoundaryTreeAnimation

Мінімальна кількість зразків

Ще один спосіб обмежити дерево — встановити мінімальну кількість зразків на листових вузлах. Це зробить модель простішою та стійкішою до викидів.

TreeDepthAnimationLeaf

Можна побачити, як цей гіперпараметр впливає на межу рішення:

DecisionBoundaryTreeLeaf

Обидва ці гіперпараметри доступні в реалізації Decision Tree бібліотеки scikit-learn.
За замовчуванням дерево не має обмежень: max_depth встановлено як None, тобто глибина не обмежена, а min_samples_leaf встановлено як 1.

question mark

Оберіть НЕПРАВИЛЬНЕ твердження.

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 3
some-alt