# 1. Мета роботи **Навчитися розв'язувати задачу класифікації методом $k$ найближчих сусідів (kNN): обчислювати відстані між об'єктами, відбирати $k$ найближчих сусідів і визначати клас голосуванням; свідомо обирати $k$, функцію відстані та застосовувати нормалізацію ознак; оцінювати якість класифікатора за матрицею невідповідності; а також реалізувати kNN програмою, що читає навчальну вибірку з файлу CSV і класифікує введений об'єкт.** Виконавши роботу, студент повинен уміти: - **обчислювати відстані** між об'єктами — евклідову, манхеттенську, Мінковського (числові ознаки) та Геммінга (категоріальні); - **класифікувати об'єкт методом kNN** — упорядкувати навчальні точки за відстанню, узяти $k$ найближчих і віднести об'єкт до **найпоширенішого** серед них класу; - **розуміти вплив $k$** — чому мале $k$ чутливе до шуму (перенавчання), а велике надмірно згладжує межі, і чому для двокласової задачі беруть **непарне** $k$; - **нормалізувати ознаки** (мінімакс, $z$-стандартизація) і пояснювати, чому без нормалізації відстань визначається ознакою з найбільшим масштабом; - **застосовувати зважений kNN** (вага $1/d$ або $1/d^2$) і розуміти, як це знімає нічиї та підсилює ближчих сусідів; - **будувати матрицю невідповідності** ($TP, TN, FP, FN$) і обчислювати за нею **правильність** (accuracy), **точність** (precision), **чутливість** (recall), **специфічність**, **$F_1$-міру** та **коефіцієнт Меттьюза** (MCC); - **реалізувати** алгоритм kNN у вигляді програми, що приймає навчальну вибірку з CSV, запитує ознаки об'єкта й повертає передбачений клас. Робота закріплює [Лекцію 6 — Класифікація. Метод $k$ найближчих сусідів (kNN)](../../Lectures/DA-L06.md). Уся потрібна теорія повторена в самодостатньому вигляді в [методичних вказівках](2method.md).