Comprimere e ricostruire
Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 31 di 51.
I punteggi delle componenti di una scansione sono una ricetta: parti dalla scansione media, poi aggiungi ogni schema moltiplicato per il suo punteggio. inverse_transform ripercorre la ricetta fino a ottenere 64 pixel:
pca = PCA(n_components=10).fit(X)
codes = pca.transform(X) # 10 numeri per scansione
rebuilt = pca.inverse_transform(codes) # di nuovo 64 pixelEcco tre scansioni ricostruite usando un numero sempre maggiore di numeri:
Pochi numeri danno una sfocatura vicino alla cifra media; ogni componente aggiunta ripristina i dettagli. Venti numeri invece di 64 sono già leggibili chiaramente.
Sfida
MedioUna penna intelligente trasmette ogni cifra come k numeri PCA, letti dal programma. Che cosa si perde?
- Adatta PCA con
kcomponenti aX. Comprimi tutte le scansioni, poi ricostruiscile inrebuilt. - Stampa le righe qui sotto; l’errore è la differenza assoluta media rispetto a
X. - Disegna la scansione più recente,
X[-1], suaxs[0]e la sua ricostruzione suaxs[1], entrambe congray_r. Mostra.
Per 7:
Sent: 7 numbers per scan instead of 64
Average pixel error: 1.739e disegna questo. Coddy descrive poi i tuoi pannelli:
Provalo tu
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# 1,797 scansioni di 64 pixel; la scansione più recente della penna è nell'ultima riga
digits = load_digits()
X = digits.data
k = int(input())
# Non modificare le righe qui sotto
fig, axs = plt.subplots(1, 2)
axs[0].set_title("Scan")
axs[1].set_title(f"Rebuilt from {k} numbers")
# Scrivi il tuo codice qui sotto
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Apprendimento non supervisionato
1Trovare gruppi
Apprendimento senza etichetteMisurare la similaritàK-Means a manoK-Means in scikit-learnRiepilogo: iscritti alla palestra4Clustering gerarchico
Unire passo dopo passoModelli agglomerativiDendrogrammiRiepilogo: razze canine7PCA nella pratica
Vedere 64 dimensioniComponenti come schemiComprimere e ricostruirePCA prima di un modelloRiepilogo: scanner facciale10Progetto: Esplorare le cifre
Osserva le cifreRiduci con PCARaggruppa le cifreDai un nome ai gruppiTrova gli elementi insoliti2Scelta di k
InerziaIl metodo del gomitoPunteggi silhouetteScala prima del clusteringRiepilogo: zone di consegnaEsercitati da solo: Compilatore Python online