Scala prima del clustering
Fa parte della sezione Apprendimento non supervisionato del percorso Machine Learning di Coddy. Lezione 9 di 51.
K-means raggruppa in base alla distanza, quindi prevalgono le unità più grandi. Gatti del rifugio in base al peso in grammi e all'età in anni: una differenza di 500 g sovrasta una di 10 anni.
Standardizza prima, come per k-NN, così ogni caratteristica conta allo stesso modo:
X_scaled = StandardScaler().fit_transform(X)
km = KMeans(n_clusters=3, n_init=10, random_state=0)
km.fit(X_scaled)make_pipeline(StandardScaler(), KMeans(...)) fa entrambe le cose in un unico modello. Poi leggi ogni gruppo in unità originali: calcola la media delle righe originali, X[km.labels_ == c].mean(axis=0).
Sfida
FacileUn'app per cercare appartamenti raggruppa 100 annunci in base all'affitto e alla distanza dalla stazione. Il codice iniziale raggruppa le colonne grezze e tutti i gruppi si trovano a circa 3 km di distanza: i dollari sovrastano i chilometri.
- Scala le due colonne con uno
StandardScaler. - Raggruppa invece le righe scalate. Mantieni il report: legge ogni gruppo in unità reali.
Per un'altra città:
38 flats: $1820 a month, 0.9 km out
33 flats: $1130 a month, 4.2 km out
29 flats: $2760 a month, 1.5 km outProvalo tu
import pandas as pd
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
# Una fila por apartamento: alquiler mensual en dólares, distancia a la estación en km
flats = pd.read_csv("flats.csv")
X = flats[["rent", "station_km"]]
# Esto agrupa las columnas sin escalar: corrígelo
km = KMeans(n_clusters=3, n_init=10, random_state=0)
km.fit(X)
# Muestra cada grupo en unidades reales, empezando por el más grande
sizes = pd.Series(km.labels_).value_counts()
for c in sizes.index:
group = flats[km.labels_ == c]
print(f"{sizes[c]} flats: ${round(group['rent'].mean())} a month, {group['station_km'].mean():.1f} km out")
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