Quando K-Means fallisce
Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 14 di 51.
K-means rappresenta ogni cluster come una macchia rotonda attorno al suo centro. Le freccette formano un centro pieno con un anello intorno, e k-means li divide a metà:
Ogni punto si unisce al centro più vicino, quindi il confine tra due cluster è una linea retta a metà strada tra i centri. Nessuna linea retta separa un anello dal suo centro.
Gruppi lunghi, curvi o molto irregolari compromettono k-means allo stesso modo. Restituisce comunque dei cluster, quindi guarda sempre l'immagine.
Sfida
MedioUn drone ha individuato 200 foche su due banchi di sabbia curvi. Il codice iniziale mostra la verità nel pannello left.
- Raggruppa le foche con k-means, k = 2.
- Nel pannello
right, crea uno scatter plot per ogni cluster, etichettatocluster 0ocluster 1. - Segna i centri con marker neri
"X"etichettaticenters. Aggiungi una legenda, poi mostra il grafico.
Coddy descrive il tuo grafico e conta le foche rimaste nel proprio banco di sabbia. Come in questo esempio, con due gruppi:
Provalo tu
import matplotlib.pyplot as plt
from sklearn.datasets import make_moons
from sklearn.cluster import KMeans
# 200 foche che riposano su due banchi di sabbia curvi, viste da un drone (posizioni in 100 m)
X, sandbar = make_moons(n_samples=200, noise=0.07, random_state=4)
# Disegna i banchi di sabbia reali su ax
def draw_truth(ax):
ax.scatter(X[sandbar == 0, 0], X[sandbar == 0, 1], s=12, label="north bar")
ax.scatter(X[sandbar == 1, 0], X[sandbar == 1, 1], s=12, label="south bar")
ax.set_title("The truth")
ax.legend()
fig, (left, right) = plt.subplots(1, 2, figsize=(9, 4))
draw_truth(left)
right.set_title("K-means, k = 2")
# 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 consegna3Interpretare i cluster
Caratterizzare i clusterCentri in unità realiCluster ed etichette noteQuando K-Means fallisceRiepilogo: degustazione del tèEsercitati da solo: Compilatore Python online