Modelli agglomerativi
Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 17 di 51.
Le auto riempiono due parcheggi, con una fila di auto lungo la strada che li collega. Due modi per raggrupparle in 2 cluster:
scikit-learn esegue la fusione. Indica dove fermarti con n_clusters:
from sklearn.cluster import AgglomerativeClustering
model = AgglomerativeClustering(n_clusters=2, linkage="ward")
labels = model.fit_predict(X)linkage decide quanto sono distanti due gruppi:
"ward", il valore predefinito: mantiene i gruppi compatti"complete": la coppia più distante"average": la media di tutte le coppie"single": la coppia più vicina
Single segue catene: qui la strada inghiotte entrambi i parcheggi. Ward crea gruppi rotondi e uniformi.
Sfida
MedioLe fragoline di bosco crescono in tre gruppi, più alcune lungo un sentiero. Quale criterio di collegamento individua i gruppi? plants contiene le loro posizioni.
- Per ogni criterio di collegamento in
linkages, raggruppa le piante in 3 gruppi. - Stampa le dimensioni dei gruppi come elenco, dal più grande al più piccolo.
- Quando il gruppo più grande contiene più della metà delle piante, aggiungi
chained.
Per un altro prato:
ward: [40, 38, 31]
complete: [41, 37, 31]
average: [41, 37, 31]
single: [86, 22, 1] chainedProvalo tu
import numpy as np
import pandas as pd
from sklearn.cluster import AgglomerativeClustering
# Dove crescono 109 piante di fragoline di bosco in un prato (metri): tre gruppi e un sentiero
rng = np.random.default_rng(4)
plants = np.round(np.concatenate([
rng.normal([2, 3], 0.8, size=(40, 2)),
rng.normal([9, 4], 1.0, size=(35, 2)),
rng.normal([6, 10], 0.9, size=(25, 2)),
np.column_stack([np.linspace(3, 8, 9), np.linspace(3.2, 4, 9)]) + rng.normal(0, 0.15, size=(9, 2)),
]), 2)
linkages = ["ward", "complete", "average", "single"]
# 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