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

Розбиття Вузлів

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

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

goodbadsplit
  • Найкращий випадок: усі точки даних у вузлі належать до одного класу;
  • Найгірший випадок: однакова кількість точок даних для кожного класу.

Індекс Джині

Для оцінки якості розбиття можна обчислити індекс Джині. Це ймовірність того, що якщо випадково вибрати дві точки з вузла (з поверненням), вони будуть належати до різних класів. Чим нижча ця ймовірність (нечистота), тим краще розбиття.

ginis

Індекс Джині для бінарної класифікації можна обчислити за такою формулою:

gini=1p02p12=1(m0m)2(m1m)2\text{gini} = 1 - p_0^2 - p_1^2 = 1 - (\frac{m_0}{m})^2 - (\frac{m_1}{m})^2

Де

  • mim_i — кількість екземплярів класу ii у вузлі;
  • mm — кількість екземплярів у вузлі;
  • pi=mimp_i = \frac{m_i}{m} — ймовірність вибору класу ii.

А для багатокласової класифікації формула виглядає так:

gini=1i=0Cpi2=1i=0C(mim)2\text{gini} = 1 - \sum_{i=0}^C p_i^2 = 1 - \sum_{i=0}^C(\frac{m_i}{m})^2

Де

  • CC — кількість класів.

Якість розбиття можна оцінити за допомогою зваженої суми Gini-індексів для обох вузлів, отриманих після розбиття. Це значення, яке потрібно мінімізувати.

Щоб розділити вузол рішення, потрібно знайти ознаку для розбиття та порогове значення:

поріг ознаки

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

SplitSearch2

Ентропія

Ентропія — це ще одна міра нечистоти. Для задачі бінарної класифікації ентропія HH вузла обчислюється за формулою:

H(p)=plog2(p)(1p)log2(1p)H(p) = -p \log_2(p) - (1 - p) \log_2(1 - p)

де:

  • pp — частка позитивних прикладів (клас 1);
  • 1p1 - p — частка негативних прикладів (клас 0).

Для багатокласової класифікації ентропія HH вузла обчислюється за формулою:

H(p1,p2,,pk)=i=1kpilog2(pi)H(p_1, p_2, \dots, p_k) = -\sum_{i=1}^{k} p_i \log_2(p_i)

де:

  • kk — кількість класів;
  • pip_i — частка прикладів, що належать до класу ii у вузлі.

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

Note
Примітка

Ентропія є максимальною, коли всі класи представлені однаково. Вона є мінімальною (0), коли всі приклади належать до одного класу (чистий вузол).

question mark

Оберіть краще розбиття.

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

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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