Menu
CoddyTech

복습: 배송 구역

Coddy Machine Learning 여정의 비지도 학습 섹션에 포함된 레슨. 51개 중 10번째.

challenge icon

챌린지

쉬움

이 장을 시작할 때 봤던 구역 지도를 기억하나요? 이제 여러분의 지도를 그려 보세요. 한 빵집의 배달 밴이 150곳의 배송지를 방문하며, stops.csv에는 동쪽 좌표는 km 단위로, 북쪽 좌표는 미터 단위로 저장되어 있습니다.

  1. 두 열을 모두 스케일링하세요.
  2. k가 2부터 7까지일 때, 스케일링된 행에 KMeans를 학습시키고 관성(소수점 1자리)과 실루엣 점수(소수점 3자리)를 출력하세요. 그런 다음 실루엣 점수가 가장 높은 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라는 제목의 지도. 가로축은 동쪽 방향(km), 세로축은 북쪽 방향(미터)입니다. 배송지 구역은 세 곳으로, 왼쪽 아래에 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 컴파일러