# 5. Зміст звіту Звіт здають разом із вихідним кодом програми. Він має містити такі розділи. 1. **Титульна сторінка** — назва дисципліни, номер і тема лабораторної роботи («Кластеризація. Метод $k$-середніх»), прізвище та група студента, дата. 2. **Мета роботи** — стисле формулювання (див. [1purpose.md](1purpose.md)). 3. **Коротка теорія** — своїми словами: що таке кластеризація та чим вона відрізняється від класифікації; функції відстані; означення центроїда й SSE; кроки методу $k$-середніх та критерій збіжності; поняття нормалізації ознак. 4. **Аудиторна частина** — розв'язання задач із [3classroom.md](3classroom.md) з проміжними кроками: таблиці відстаней на кожній ітерації, віднесення точок, перерахунок центроїдів, обчислення SSE та її спадання до стабілізації. 5. **Опис програми** — обрана мова та бібліотеки; формат вхідного CSV і вихідного файлу; як реалізовано читання даних, обчислення відстаней, ініціалізацію, віднесення й перерахунок центроїдів; який рівень складності виконано (нормалізація, кілька запусків, вибір $k$). 6. **Результати роботи програми** — лістинг/знімок виводу на **тестовому** файлі; обов'язково — перевірка на даних [Задачі 2](3classroom.md) (кластери $\{A,B,C\}$, $\{D,E,F\}$, $\mathrm{SSE} = \tfrac{8}{3}$) і на власному наборі даних. Для високого рівня — графік/таблиця SSE$(k)$ чи силуету та обране $k$. 7. **Перевірка правильності** — порівняння виводу програми з обчисленням «руками» (або з бібліотечною реалізацією для контролю); коментар про збіг розбиття та SSE. 8. **Досягнутий рівень** — базовий / середній / високий і які пункти охоплено. 9. **Висновки** — що реалізовано, які труднощі виникли (напр., чутливість до ініціалізації, порожні кластери, вибір $k$, нормалізація) і чого ви навчилися. **Вимоги до здавання.** Програма має бути **працездатною** й давати результат, що збігається з обчисленням «руками» на контрольних даних. Оскільки номери кластерів умовні, при порівнянні звіряйте **поділ** об'єктів на групи (і SSE), а не конкретні номери міток.