PCA lernt keine Bestandteile
Im Gegensatz zu NMF lernt PCA keine Bestandteile von Objekten. Die Komponenten entsprechen bei Texten nicht den Themen und bei Bildern nicht den Bildteilen, wenn PCA auf Bildern angewendet wird. Überprüfe das selbst, indem du die Komponenten eines PCA-Modells untersuchst, das auf den LED-Ziffernbildern aus der vorherigen Übung trainiert wurde. Die Bilder liegen als 2D-Array namens samples vor. Außerdem steht dir eine angepasste Version der Funktion show_as_image() zur Verfügung, die ein Pixel rot färbt, wenn der Wert negativ ist.
Nachdem du auf „Antworten“ geklickt hast, wirst du sehen, dass die Komponenten der PCA keine sinnvollen Teile von Bildern der LED-Ziffern darstellen!
Diese Übung ist Teil des Kurses
Unsupervised Learning in Python
Anleitung zur Übung
- Importiere
PCAaussklearn.decomposition. - Erstelle eine
PCA-Instanz namensmodelmit7Komponenten. - Wende die Methode
.fit_transform()vonmodelaufsamplesan. Weise das Ergebnisfeatureszu. - Wende für jede Komponente des Modells (zugänglich über
model.components_) innerhalb der Schleife die Funktionshow_as_image()auf diese Komponente an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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 ____:
____