# Лабораторна робота 8. Наївний баєсів класифікатор > Восьма лабораторна робота курсу **«Аналітика даних»**. Спершу **в аудиторії** ви > «руками» класифікуєте об'єкти наївним баєсовим класифікатором: рахуєте апріорні > та умовні ймовірності, апостеріорну ймовірність класу й нормуєте її; натрапляєте > на **нульову ймовірність** і виправляєте її **згладжуванням Лапласа**. Потім > **удома** реалізуєте наївний баєсів класифікатор **програмою**, що читає > навчальну вибірку з файлу CSV, і **порівнюєте** його прогнози з деревом рішень > ID3 із [Лабораторної 7](../Laboratory7/main.md). Робота закріплює > [Лекцію 8](../../Lectures/DA-L08.md). ## Коротко про роботу | | | |---|---| | **Тема** | Наївний баєсів класифікатор: апостеріорна ймовірність $P(C \mid x) \propto P(C)\prod_j P(x_j \mid C)$; оцінка ймовірностей частотами; згладжування Лапласа; порівняння з ID3 | | **Передумова** | [Лекція 8. Ймовірнісні методи класифікації. Наївний баєсів класифікатор](../../Lectures/DA-L08.md) | | **Аудиторна частина** | Класифікація об'єктів «руками», випадок нульової ймовірності та згладжування, порівняння з ID3 (з розв'язаннями) | | **Домашня частина** | Програма: будує наївний баєсів класифікатор із вибірки CSV, класифікує об'єкти й порівнює з деревом ID3 | | **Оцінювання** | три рівні: базовий **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)) — самостійна реалізація наївного баєсового класифікатора в коді. - **Спільна вибірка.** Аудиторні задачі спираються на ту саму навчальну вибірку **«Спортивний канал»**, що й приклади [Лекції 8](../../Lectures/DA-L08.md) та [Лекції 7](../../Lectures/DA-L07.md), — так легше звіряти проміжні обчислення й порівнювати з деревом ID3. Демонстраційний приклад у [2method.md](2method.md) — на **інших** даних. - **Апріорні ймовірності.** Якщо не вказано інше, беруть $P(\text{Так}) = P(\text{Ні}) = 0.5$ (класи вибірки збалансовані) або оцінюють частотою $N_C/N$. - **Згладжування.** Розрізняйте оцінку **без згладжування** (чиста частота) і з **лапласовим** згладжуванням $\dfrac{\text{count} + 1}{N_C + m}$; у звіті зазначайте, яку саме використано. - **Категоріальні атрибути.** Базовий рівень домашнього завдання розглядає лише **категоріальні** (дискретні) атрибути. - **Мова програмування — на вибір.** Стандартні бібліотеки для читання CSV дозволені; готові реалізації (`sklearn.naive_bayes`) можна брати **лише для перевірки** власного коду. ## Підсумок Наївний баєсів класифікатор — це ймовірнісна модель, що за теоремою Байєса та припущенням про умовну незалежність ознак оцінює **ймовірність** належності об'єкта до кожного класу: $P(C \mid x) \propto P(C)\prod_j P(x_j \mid C)$. У цій роботі ви навчитеся оцінювати всі множники частотами з навчальної вибірки, класифікувати об'єкти за максимальною апостеріорною ймовірністю, розпізнавати й усувати **нульові ймовірності** згладжуванням Лапласа, а потім **автоматизуєте** метод програмою й **порівняєте** його прогнози з деревом ID3. На відміну від дерева, наївний Байєс повертає не лише клас, а й **ступінь упевненості** — тож ви побачите, у чому два підходи збігаються, а в чому доповнюють один одного.