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 ____:
____