Повторение: зоны доставки
Часть раздела Обучение без учителя путешествия по Machine Learning на Coddy. Урок 10 из 51.
Задание
ЛегкоПомнишь карту зон, которая открывала эту главу? Теперь нарисуй свою. Фургон пекарни обслуживает 150 остановок, а в stops.csv восток указан в км, а север — в метрах.
- Масштабируй оба столбца.
- Для k от 2 до 7 обучи KMeans на масштабированных строках; выведи инерцию (1 знак после запятой) и коэффициент силуэта (3 знака после запятой). Затем выведи k с наилучшим коэффициентом силуэта.
- Покажи зоны для этого 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и его карта:
Затем 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
# Одна строка на каждую точку доставки: координата на восток — в км, на север — в метрах (единица измерения старой системы)
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)")
# Напишите свой код ниже
Все уроки раздела Обучение без учителя
1Поиск групп
Обучение без метокИзмерение сходстваK-Means вручнуюK-Means в scikit-learnПовторение: участники спортзала4Иерархическая кластеризация
Пошаговое объединениеАгломеративные моделиДендрограммыПовторение: породы собак2Выбор k
ИнерцияМетод локтяОценки силуэтаМасштабирование перед кластеризациейПовторение: зоны доставкиПотренируйтесь самостоятельно: Онлайн-компилятор Python