Menu
CoddyTech

Özet: Teslimat Bölgeleri

Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 10 / 51.

challenge icon

Görev

Kolay

Bu bölümü açan bölge haritasını hatırlıyor musun? Şimdi seninkini çiz. Bir fırının minibüsü 150 durağa hizmet veriyor ve stops.csv dosyasında doğu km, kuzey ise metre cinsinden kaydediliyor.

  1. Her iki sütunu da ölçeklendir.
  2. 2'den 7'ye kadar k değerleri için ölçeklendirilmiş satırlara KMeans uygula; inertia değerini (1 ondalık basamakla) ve silhouette değerini (3 ondalık basamakla) yazdır. Ardından en iyi silhouette değerine sahip k değerini yazdır.
  3. Bu k değerinin bölgelerini gerçek birimlerle haritala: her bölgedeki durakları sayılarıyla etiketle; örneğin 50 stops. Her bölgenin ortalamasına siyah bir yıldız koy ve bir lejant ekle.

Başka bir şehir için:

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

ve haritası:

Başlığı Delivery Zones olan bir harita; doğu ekseni yatayda km, kuzey ekseni dikeyde metre cinsinden: üç durak bölgesi; sol altta 45, sağ üstte 40, sağ altta 25 durak; her birinin ortasında siyah bir yıldız ve lejantta her bölgenin durak sayısına göre adı yer alıyor

Ardından Coddy haritanı açıklıyor.

Kendin dene

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

# Her teslimat durağı için bir satır: doğu yönü km, kuzey yönü metre cinsinden (eski sistemin birimi)
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)")

# Kodunuzu aşağıya yazın

Denetimsiz Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi