Komprimieren und rekonstruieren
Teil des Abschnitts Unüberwachtes Lernen der Machine Learning-Journey von Coddy. Lektion 31 von 51.
Die Komponentenwerte eines Scans sind ein Rezept: Beginne mit dem durchschnittlichen Scan und addiere dann jedes Muster multipliziert mit seinem Wert. inverse_transform setzt das Rezept zurück in 64 Pixel um:
pca = PCA(n_components=10).fit(X)
codes = pca.transform(X) # 10 Zahlen pro Scan
rebuilt = pca.inverse_transform(codes) # wieder 64 PixelHier sind drei Scans, die aus immer mehr Zahlen rekonstruiert wurden:
Wenige Zahlen ergeben eine Unschärfe nahe der durchschnittlichen Ziffer; jede hinzugefügte Komponente stellt Details wieder her. Zwanzig Zahlen statt 64 sind bereits gut zu erkennen.
Aufgabe
MittelEin intelligenter Stift überträgt jede Ziffer als k PCA-Zahlen, die vom Programm eingelesen werden. Was geht verloren?
- Passe PCA mit
kKomponenten anXan. Komprimiere alle Scans und baue sie dann inrebuiltwieder auf. - Gib die folgenden Zeilen aus; der Fehler ist die mittlere absolute Differenz zu
X. - Zeichne den neuesten Scan,
X[-1], aufaxs[0]und seinen Wiederaufbau aufaxs[1], beide mitgray_r. Zeige die Abbildung an.
Für 7:
Sent: 7 numbers per scan instead of 64
Average pixel error: 1.739und zeichnet dies. Coddy beschreibt dann deine Abbildungen:
Probier es selbst
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# 1,797 Scans mit 64 Pixeln; der neueste Scan des Stifts steht in der letzten Zeile
digits = load_digits()
X = digits.data
k = int(input())
# Ändere die folgenden Zeilen nicht
fig, axs = plt.subplots(1, 2)
axs[0].set_title("Scan")
axs[1].set_title(f"Rebuilt from {k} numbers")
# Schreibe deinen Code darunter
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Unüberwachtes Lernen
1Gruppen finden
Lernen ohne LabelsÄhnlichkeit messenK-Means von HandK-Means mit scikit-learnRückblick: Fitnessstudiomitglieder4Hierarchisches Clustering
Schrittweises ZusammenführenAgglomerative ModelleDendrogrammeZusammenfassung: Hunderassen7PCA in der Praxis
64 Dimensionen sehenKomponenten als MusterKomprimieren und rekonstruierenPCA vor einem ModellRückblick: Gesichtsscanner10Projekt: Ziffern erkunden
Die Ziffern ansehenMit PCA verkleinernDie Ziffern gruppierenDie Gruppen benennenDie Ausreißer finden2k wählen
TrägheitDie Elbow-MethodeSilhouettenwerteVor dem Clustering skalierenRückblick: LieferzonenÜbe selbstständig: Online-Python-Compiler