Menu
CoddyTech
flag Ar iconالعربيةdown icon

مراجعة: مناطق التوصيل

جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 10 من 51.

challenge icon

التحدي

سهل

هل تتذكر خريطة المناطق التي افتُتح بها هذا الفصل؟ الآن ارسم خريطتك. تخدم شاحنة مخبز 150 محطة، ويخزّن stops.csv المسافة شرقًا بالكيلومترات، لكن المسافة شمالًا بالأمتار.

  1. قِس العمودين.
  2. من أجل k من 2 إلى 7، درّب KMeans على الصفوف بعد قياسها؛ واطبع قيمة القصور الذاتي (بمنزلة عشرية واحدة) ومعامل الظل (بثلاث منازل عشرية). ثم اطبع قيمة k ذات أفضل معامل ظل.
  3. ارسم مناطق تلك القيمة من k بوحداتها الحقيقية: تُسمّى محطات كل منطقة بعددها، مثل 50 stops، وضع نجمة سوداء عند متوسط كل منطقة، وأضف وسيلة إيضاح.

للمدينة الأخرى:

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

خريطة بعنوان Delivery Zones، المسافة شرقًا بالكيلومترات على المحور الأفقي والمسافة شمالًا بالأمتار على المحور الرأسي: ثلاث مناطق للمحطات، 45 في أسفل اليسار، و40 في أعلى اليمين، و25 في أسفل اليمين، لكل منها نجمة سوداء في المنتصف ووسيلة إيضاح تسمّي كل منطقة بعدد محطاتها

ثم يصف Coddy خريطتك.

جرّب بنفسك

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

# صف واحد لكل نقطة تسليم: الاتجاه شرقًا بوحدة km، والاتجاه شمالًا بالأمتار (وحدة النظام القديم)
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)")

# اكتب الكود الخاص بك أدناه

جميع دروس التعلّم غير الخاضع للإشراف

تدرّب بنفسك: مترجم Python عبر الإنترنت