Menu
CoddyTech

Raggruppa le cifre

Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 45 di 51.

Ora la scoperta. Chiedi a k-means di creare 10 gruppi nelle scansioni a 13 numeri, uno per ogni cifra che speri trovi. Non vede mai un'etichetta:

km = KMeans(n_clusters=10, n_init=10, random_state=0).fit(X_small)

Un centro si trova nello spazio in cui ha operato k-means, nello spazio PCA: 13 numeri, nessuna immagine. pca.inverse_transform ricostruisce i suoi 64 pixel:

A sinistra, un grafico a barre dei 13 numeri di un centro di k-means: prima due barre alte, poi barre piccole. A destra, lo stesso centro ricostruito come un’immagine sfocata di 8 per 8 che sembra uno 0

value_counts() elenca i cluster dal più grande al più piccolo, così una galleria dei centri si legge come un censimento delle scansioni.

challenge icon

Sfida

Medio

Il codice iniziale contiene le scansioni e X_small, le loro versioni con 13 numeri.

  1. Trova 10 cluster in X_small con k-means.
  2. Ricostruisci i 64 pixel di ogni centro.
  3. Disegna una galleria di 2 per 5, iniziando dal cluster più grande: ogni centro come immagine di 8 per 8 in gray_r, con un titolo che ne indichi la dimensione, come 120 scans. Sistema il layout e mostra la galleria.

Con 5 cluster, apparirebbe così:

Cinque centri di cifre sfocati in fila, con i titoli 531, 367, 363, 359 e 177 scans

Il tuo ne ha dieci. Coddy descrive ogni grafico. Quali cifre ha trovato k-means da solo?

Provalo tu

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans

# Da Osserva le cifre: 1,797 scansioni da 64 pixel, intensità dell’inchiostro da 0 a 16
digits = load_digits()
X = digits.data
y = digits.target

# Da Riduci con PCA: 80% della varianza in 13 numeri per scansione
pca = PCA(n_components=0.8)
X_small = pca.fit_transform(X)

# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Apprendimento non supervisionato

Esercitati da solo: Compilatore Python online