PCA не вчиться частинам
На відміну від NMF, PCA не вчиться „частинам" об'єктів. Її компоненти не відповідають темам (у випадку документів) або частинам зображень, якщо модель навчено на зображеннях. Перевірте це самі, дослідивши компоненти моделі PCA, навченої на наборі зображень світлодіодних цифр із попередньої вправи. Зображення доступні як двовимірний масив samples. Також доступна змінена версія функції show_as_image(), яка зафарбовує піксель у червоний, якщо значення від'ємне.
Після надсилання відповіді зверніть увагу, що компоненти PCA не відображають змістовних частин зображень світлодіодних цифр!
Ця вправа є частиною курсу
Наглядове навчання в Python
Інструкції до вправи
- Імпортуйте
PCAзsklearn.decomposition. - Створіть екземпляр
PCAпід назвоюmodelіз7компонентами. - Застосуйте метод
.fit_transform()об'єктаmodelдоsamples. Присвойте результат зміннійfeatures. - Для кожної компоненти моделі (доступ через
model.components_) викликайте всередині циклу функціюshow_as_image()для цієї компоненти.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Import PCA
____
# Create a PCA instance: model
model = ____
# Apply fit_transform to samples: features
features = ____
# Call show_as_image on each component
for component in ____:
____