Menu
CoddyTech

Riepilogo: zone di consegna

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

challenge icon

Sfida

Facile

Ricordi la mappa delle zone che ha aperto questo capitolo? Ora disegna la tua. Il furgone di una panetteria serve 150 fermate e stops.csv memorizza la coordinata est in km, ma quella nord in metri.

  1. Scala entrambe le colonne.
  2. Per k da 2 a 7, adatta KMeans alle righe scalate; stampa l’inerzia (1 decimale) e il coefficiente di silhouette (3 decimali). Poi stampa il valore di k con il coefficiente di silhouette migliore.
  3. Rappresenta le zone di quel valore di k in unità reali: le fermate di ogni zona etichettate con il loro conteggio, come 50 stops, una stella nera al centro di ogni zona e una legenda.

Per un’altra città:

k = 2: inertia 109.5, silhouette 0.535
k = 3: inertia 22.8, silhouette 0.737
k = 4: inertia 18.3, silhouette 0.597
k = 5: inertia 14.5, silhouette 0.443
k = 6: inertia 12.7, silhouette 0.368
k = 7: inertia 11.2, silhouette 0.364
Zones: 3

e la relativa mappa:

Una mappa intitolata Zone di consegna, con la coordinata est in km sull’asse orizzontale e la coordinata nord in metri verso l’alto: tre zone di fermate, 45 in basso a sinistra, 40 in alto a destra, 25 in basso a destra, ciascuna con una stella nera al centro e una legenda che indica ogni zona con il suo numero di fermate

Poi Coddy descrive la tua mappa.

Provalo tu

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import silhouette_score

# Una riga per ogni fermata di consegna: est in km, nord in metri (l'unità del vecchio sistema)
stops = pd.read_csv("stops.csv")
X = stops[["east_km", "north_m"]]

fig, ax = plt.subplots()
ax.set_title("Delivery Zones")
ax.set_xlabel("East (km)")
ax.set_ylabel("North (m)")

# Scrivi il tuo codice qui sotto

Tutte le lezioni di Apprendimento non supervisionato

Esercitati da solo: Compilatore Python online