Menu
CoddyTech

Rangkuman: Zona Pengiriman

Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 10 dari 51.

challenge icon

Tantangan

Mudah

Ingat peta zona yang membuka bab ini? Sekarang gambar petamu. Mobil van toko roti melayani 150 pemberhentian, dan stops.csv menyimpan arah timur dalam km, tetapi arah utara dalam meter.

  1. Skalakan kedua kolom.
  2. Untuk k dari 2 hingga 7, latih KMeans pada baris yang sudah diskalakan; cetak inertia-nya (1 angka desimal) dan silhouette-nya (3 angka desimal). Lalu cetak k dengan nilai silhouette terbaik.
  3. Petakan zona untuk k tersebut dalam satuan asli: pemberhentian di setiap zona diberi label jumlahnya, seperti 50 stops, beri bintang hitam di nilai rata-rata setiap zona, dan tambahkan legenda.

Untuk kota lain:

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

dan petanya:

Peta berjudul Delivery Zones, arah timur dalam km pada sumbu mendatar dan arah utara dalam meter pada sumbu tegak: tiga zona pemberhentian, 45 di kiri bawah, 40 di kanan atas, 25 di kanan bawah, masing-masing dengan bintang hitam di tengahnya dan legenda yang menamai setiap zona berdasarkan jumlah pemberhentiannya

Lalu Coddy menjelaskan petamu.

Coba sendiri

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

# Satu baris untuk setiap titik pengantaran: arah timur dalam km, arah utara dalam meter (satuan sistem lama)
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)")

# Tulis kodemu di bawah ini

Semua pelajaran di Pembelajaran Tanpa Pengawasan

Latihan sendiri: Compiler Python online