# Лабораторна робота 7. Дерева рішень. Ентропія, приріст інформації, індекс Джині > Сьома лабораторна робота курсу **«Аналітика даних»**. Спершу **в аудиторії** ви > «руками» будуєте одновимірне правило (**One Rule**) і дерево рішень: рахуєте > ентропію, приріст інформації та індекс Джині й обираєте атрибути для > розгалуження. Потім **удома** реалізуєте **програмою** побудову дерева рішень > алгоритмом **ID3**, що читає навчальну вибірку з файлу CSV. Робота закріплює > [Лекцію 7](../../Lectures/DA-L07.md). ## Коротко про роботу | | | |---|---| | **Тема** | One Rule; ентропія $H(D)$, приріст інформації, індекс Джині; побудова дерева рішень (ID3, C4.5, CART) | | **Передумова** | [Лекція 7. Ординарні методи класифікації. Дерева рішень](../../Lectures/DA-L07.md) | | **Аудиторна частина** | OneR, ентропія й приріст інформації, добудова дерева — «руками» (з розв'язаннями) | | **Домашня частина** | Програма: будує дерево рішень алгоритмом ID3 з навчальної вибірки CSV і виводить його на екран | | **Оцінювання** | три рівні: базовий **60–74** / середній **75–89** / високий **90–100** | ## Зміст | № | Частина | Файл | |:--:|---|---| | 1 | Мета роботи | [1purpose.md](1purpose.md) | | 2 | Методичні вказівки (теорія + демонстраційний приклад) | [2method.md](2method.md) | | 3 | Аудиторні задачі з розв'язаннями | [3classroom.md](3classroom.md) | | 4 | Домашнє завдання (програма) | [4task.md](4task.md) | | 5 | Зміст звіту | [5report.md](5report.md) | | 6 | Контрольні запитання | [6questions.md](6questions.md) | ## Домовленості - **Дві частини.** Аудиторні задачі ([3classroom.md](3classroom.md)) розбирають спільно «руками» — з них ви розумієте, *що саме* обчислює програма. Домашнє завдання ([4task.md](4task.md)) — самостійна реалізація алгоритму ID3 у коді. - **Спільна вибірка.** Аудиторні задачі спираються на ту саму навчальну вибірку **«Спортивний канал»**, що й приклади лекції, — так легше звіряти проміжні обчислення. Демонстраційний приклад у [2method.md](2method.md) — на **інших** даних. - **Логарифм за основою 2.** Ентропію обчислюють у бітах ($\log_2$). Домовтеся, що $0 \log_2 0 = 0$. - **Категоріальні атрибути.** Базовий рівень домашнього завдання розглядає лише **категоріальні** (дискретні) атрибути; числові атрибути — за бажанням, на високому рівні. - **Мова програмування — на вибір.** Стандартні бібліотеки для читання CSV дозволені; готові реалізації дерев (`sklearn.tree`) можна брати **лише для перевірки** власного коду. ## Підсумок Дерево рішень — це прозора модель класифікації у вигляді ієрархії перевірок атрибутів. Її будують згори вниз, щоразу обираючи атрибут, який найсильніше **зменшує неоднорідність** підмножини, — за приростом інформації (ID3), коефіцієнтом приросту (C4.5) або індексом Джині (CART). У цій роботі ви навчитеся рахувати ці критерії «руками», будувати дерево до чистих листів і **автоматизуєте** побудову дерева алгоритмом ID3. Дерева рішень — базовий будівельний блок найточніших методів для табличних даних (випадкові ліси, градієнтний бустинг), тож розуміння їх механіки знадобиться далі в курсі й на практиці.