3. Аудиторні задачі з розв’язаннями
Ці задачі розбирають в аудиторії «руками». Вони показують ті самі обчислення, що їх потім автоматизує домашня програма (4task.md). Теорія й формули — у методичних вказівках.
Усі три задачі спираються на спільну навчальну вибірку «Спортивний канал» (за ознаками глядача передбачаємо, чи підписав він спортивний телеканал):
| № | Стать | Дохід | Студент? | Спортивний канал? |
|---|---|---|---|---|
| 1 | Ч | Високий | Так | Так |
| 2 | Ж | Середній | Ні | Ні |
| 3 | Ч | Низький | Так | Ні |
| 4 | Ж | Низький | Ні | Ні |
| 5 | Ч | Середній | Ні | Так |
| 6 | Ж | Високий | Ні | Так |
| 7 | Ж | Середній | Так | Так |
| 8 | Ч | Середній | Так | Так |
| 9 | Ж | Низький | Так | Ні |
| 10 | Ж | Середній | Ні | Ні |
Клас-цільова ознака має «Так» і «Ні» ().
Задача 1. One Rule: найкращий предиктор і матриця помилок
Дано вибірку «Спортивний канал». Знайти точність правила OneR за кожним із трьох предикторів, обрати найкращий, записати правило й побудувати його матрицю помилок (позитивний клас — «Так»).
Розв’язання. Для кожного предиктора підрахуємо розподіл класів за значеннями, знайдемо найчастіший клас і похибку.
| Предиктор | Значення | Так | Ні | Похибка | |
|---|---|---|---|---|---|
| Стать | Ч | 3 | 1 | Так | 1 |
| Ж | 2 | 4 | Ні | 2 | |
| Дохід | Високий | 2 | 0 | Так | 0 |
| Середній | 3 | 2 | Так | 2 | |
| Низький | 0 | 3 | Ні | 0 | |
| Студент? | Так | 3 | 2 | Так | 2 |
| Ні | 2 | 3 | Ні | 2 |
Сумарна похибка й точність:
- Стать: помилки, ;
- Дохід: помилки, ;
- Студент?: помилки, .

Найменша похибка — у Доходу, тож OneR обирає його. Правило:
або компактно:
if Дохід == Низький then Спортивний канал = Ні
else Спортивний канал = Так
Матриця помилок. Прогони правило по 10 об’єктах: «Ні» передбачено для рядків (усі справді «Ні»), «Так» — для решти семи (з них рядки і насправді «Ні»). Отже , , , :
| Справжній: Ні | Справжній: Так | |||
|---|---|---|---|---|
| Прогноз | Ні | 3 (TN) | 0 (FN) | |
| Так | 2 (FP) | 5 (TP) | ||
Відповідь: найкращий предиктор — Дохід (точність ); правило «Низький Ні, інакше Так». Матриця помилок: чутливість (усіх підписників впіймано), специфічність , , , правильність .
Задача 2. ID3: ентропія та вибір кореня
Дано ту саму вибірку. Знайти ентропію всієї множини , середньозважену ентропію розбиття за кожним атрибутом і приріст інформації; обрати корінь дерева.
Розв’язання. Уся множина: «Так», «Ні», тож
Стать. Ч: «Так», «Ні»; Ж: «Так», «Ні».
Дохід. Високий: ; Середній: ; Низький: .
Студент? Так: ; Ні: .
Зведемо:
| Атрибут | Середньозважена ентропія | Приріст |
|---|---|---|
| Стать | ||
| Дохід | ||
| Студент? |

Відповідь: ; найбільший приріст (найменша ентропія) — у Доходу, тож коренем дерева стає атрибут Дохід.
Задача 3. ID3: добудова дерева на підмножині «Середній»
Дано результат Задачі 2 (корінь — Дохід). Завершити побудову дерева, рекурсуючи по гілках.
Розв’язання. Розіб’ємо вибірку за доходом:
- Високий об’єкти — обидва «Так» лист «Так» (чистий вузол);
- Низький об’єкти — усі «Ні» лист «Ні»;
- Середній об’єкти ( «Так», «Ні») — неоднорідні, рекурсуємо серед решти атрибутів .
Ентропія підмножини «Середній»: . Розбиття:
| Атрибут | Розбиття (Так/Ні) | Середньозважена ентропія |
|---|---|---|
| Стать | Ч: 2/0 (); Ж: 1/2 () | |
| Студент? | Так: 2/0 (); Ні: 1/2 () |
Обидва атрибути дають ентропію (приріст ) — нічия. За домовленістю беремо перший, Стать:
- Стать = Ч об’єкти — обидва «Так» лист «Так»;
- Стать = Ж об’єкти ( «Так», «Ні») — рекурсуємо за
останнім атрибутом Студент?:
- Студент? = Так — «Так» лист «Так»;
- Студент? = Ні — обидва «Ні» лист «Ні».
Усі гілки завершилися чистими листами. Повне дерево:
Дохід?
├── Високий -> Так
├── Низький -> Ні
└── Середній -> Стать?
├── Ч -> Так
└── Ж -> Студент?
├── Так -> Так
└── Ні -> Ні

Перевірка. Прогнавши всі об’єктів деревом, дістаємо їхні справжні класи — дерево класифікує навчальну вибірку безпомилково (ентропія всіх листів ).
Відповідь: дерево має корінь Дохід; гілки «Високий» і «Низький» одразу дають листи «Так» і «Ні», а гілка «Середній» розгалужується за Статтю, після чого гілка «Ж» — за Студент?. Дерево чисте.
Зв’язок із домашнім завданням. Саме ці кроки — обчислити ентропію, для кожного атрибута знайти середньозважену ентропію, обрати атрибут із найбільшим приростом і рекурсивно повторити на підмножинах — виконуватиме ваша програма ID3 (4task.md). Вибірка «Спортивний канал» — зручний тест: подайте її на вхід і переконайтесь, що програма будує саме це дерево з коренем «Дохід».