# Лабораторна робота 13. Зменшення розмірності. Метод головних компонент (PCA) > Тринадцята лабораторна робота курсу **«Аналітика даних»** — перша в модулі > **розширених методів аналітики** (зменшення розмірності). Спершу **в аудиторії** > ви обчислюєте «руками» на малому 2D-наборі: **коваріаційну матрицю**, її > **власні значення й вектори** (через характеристичне рівняння), а тоді > **проєктуєте** точки на першу головну компоненту й рахуєте **частку поясненої > дисперсії**. Потім **удома** реалізуєте метод головних компонент (PCA) > **програмою**, що читає CSV з числовими ознаками, зводить дані до двох компонент > і показує частку поясненої дисперсії. Робота закріплює > [Лекцію 13](../../Lectures/DA-L13.md). ## Коротко про роботу | | | |---|---| | **Тема** | Зменшення розмірності; коваріаційна матриця; власні значення/вектори; головні компоненти; частка поясненої дисперсії | | **Передумова** | [Лекція 13. Зменшення розмірності. Метод головних компонент (PCA)](../../Lectures/DA-L13.md) | | **Аудиторна частина** | Коваріаційна матриця, власні значення/вектори «руками», проєкція на 1-шу компоненту, частка дисперсії (з розв'язаннями) | | **Домашня частина** | Програма: читає CSV, виконує PCA, зводить дані до 2 компонент, візуалізує й виводить частку поясненої дисперсії | | **Оцінювання** | три рівні: базовий **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)) — самостійна реалізація PCA у коді. - **Дільник коваріації.** Коваріаційну матрицю обчислюють із дільником $n - 1$ (вибіркова коваріація). Дільник $n$ дає ті самі власні вектори й частки дисперсії — змінюються лише значення власних чисел; головне — зазначити, який дільник використано. - **Центрування обов'язкове.** Перед обчисленням коваріаційної матриці від кожної ознаки віднімають її середнє; **стандартизацію** (поділ на СКВ) застосовують, коли ознаки в різних масштабах. - **Знак власного вектора умовний.** Власний вектор $v$ і $-v$ задають ту саму головну компоненту (вісь). Тому проєкції можуть відрізнятися знаком — це не помилка; важливі **напрямок** осі та **дисперсія** вздовж неї. - **Мова програмування — на вибір.** Стандартні бібліотеки для читання CSV та лінійної алгебри дозволені; зокрема, для обчислення власних значень/векторів можна брати `numpy.linalg.eig`/`numpy.linalg.eigh`. Готові реалізації PCA (`sklearn.decomposition.PCA`) можна брати **лише для перевірки** власного коду. ## Підсумок Метод головних компонент — базовий метод **зменшення розмірності**: він знаходить нові ортогональні осі (головні компоненти) уздовж напрямків **максимальної дисперсії** даних і дає змогу замінити багато корельованих ознак кількома новими, зберігши більшу частину інформації. У цій роботі ви навчитеся виконувати його кроки «руками» — рахувати коваріаційну матрицю, розв'язувати характеристичне рівняння, проєктувати точки й оцінювати частку поясненої дисперсії — та **автоматизуєте** метод програмою, що зводить дані з CSV до двох компонент і візуалізує їх. Зменшення розмірності — стандартний крок розвідувального аналізу й попередньої обробки перед класифікацією та кластеризацією ([Лекція 9](../../Lectures/DA-L09.md)).