PCA nie uczy się części składowych
W przeciwieństwie do NMF, PCA nie uczy się części składowych obiektów. Jego komponenty nie odpowiadają tematom (w przypadku dokumentów) ani fragmentom obrazów – nawet gdy model jest trenowany na danych obrazowych. Sprawdź to samodzielnie, analizując komponenty modelu PCA dopasowanego do zbioru danych z obrazami cyfr LED z poprzedniego ćwiczenia. Obrazy są dostępne jako dwuwymiarowa tablica samples. Dostępna jest również zmodyfikowana wersja funkcji show_as_image(), która zaznacza piksele o wartościach ujemnych na czerwono.
Po przesłaniu odpowiedzi zauważ, że komponenty PCA nie reprezentują żadnych sensownych części cyfr LED!
To ćwiczenie jest częścią kursu
Uczenie nienadzorowane w Pythonie
Instrukcje do ćwiczenia
- Zaimportuj
PCAzsklearn.decomposition. - Utwórz instancję
PCAo nazwiemodelz7komponentami. - Zastosuj metodę
.fit_transform()modelumodelna danychsamples. Wynik przypisz do zmiennejfeatures. - Dla każdego komponentu modelu (dostępnego przez
model.components_) wywołaj wewnątrz pętli funkcjęshow_as_image()z tym komponentem jako argumentem.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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 ____:
____