Menu
CoddyTech

Recapitulando: zonas de entrega

Parte da seção Aprendizado não supervisionado do Journey de Machine Learning da Coddy. Lição 10 de 51.

challenge icon

Desafio

Fácil

Lembra do mapa de zonas que abriu este capítulo? Agora desenhe o seu. A van de uma padaria atende 150 paradas, e stops.csv armazena o leste em km, mas o norte em metros.

  1. Escale as duas colunas.
  2. Para k de 2 a 7, ajuste o KMeans às linhas escaladas; imprima sua inércia (1 casa decimal) e a silhueta (3 casas decimais). Em seguida, imprima o k com a melhor silhueta.
  3. Mapeie as zonas desse k em unidades reais: as paradas de cada zona identificadas com sua quantidade, como 50 stops, uma estrela preta na média de cada zona e uma legenda.

Para outra cidade:

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

e seu mapa:

Um mapa intitulado Delivery Zones, com o leste em km no eixo horizontal e o norte em metros no eixo vertical: três zonas de paradas, 45 no canto inferior esquerdo, 40 no canto superior direito, 25 no canto inferior direito, cada uma com uma estrela preta no centro e uma legenda que identifica cada zona pela quantidade de paradas

Em seguida, Coddy descreve seu mapa.

Experimente você mesmo

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

# Uma linha por parada de entrega: leste em km, norte em metros (a unidade do sistema antigo)
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)")

# Escreva seu código abaixo

Todas as lições de Aprendizado não supervisionado

Pratique por conta própria: Compilador de Python online