ComeçarComece de graça

Modelo de e-commerce de logística: análise k-means

Agora que você obteve um primeiro insight sobre as saídas do modelo, pode aprofundar seu entendimento sobre padrões e relações entre os resultados usando análise de clusters.

Você vai usar o algoritmo k-means para entender os principais fatores que controlam o comportamento do seu modelo e classificar pontos de dados em grupos com propriedades semelhantes. Isso ajuda a identificar gargalos na operação real de e-commerce/logística que o seu modelo está representando.

kmeans e whiten foram importados de scipy.cluster.vq e matplotlib.pyplot as plt. Os conjuntos de dados original e branqueado (whitened) têm as colunas listadas abaixo. A variável dummy p define os índices desses processos nos conjuntos de dados.

  • coluna 1 (p=0): time_requests
  • coluna 2 (p=1): time_packaging
  • coluna 3 (p=2): time_shipping
  • coluna 4 (p=3): sum/total time

Este exercício faz parte do curso

Simulação de Eventos Discretos em Python

Ver curso

Instruções do exercício

  • Aplique o whiten no array record_processes_np para prepará-lo para o k-means clustering.
  • Execute o método k-means no array whitened usando o pacote SciPy, configurando o k-means para encontrar três clusters.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Whiten the record_processes_np array
whitened = ____(record_processes_np)

# Run the k-means method on whitened, using three clusters
codebook, distortion = ____(whitened, ____)

fig, axs = plt.subplots(3)
for p in range(3):
    axs[p].scatter(whitened[:, 3], whitened[:, p], marker=".", label=f"{process_names[p]}")
    axs[p].scatter(codebook[:, 3], codebook[:, p], label='Cluster Centroids')
    axs[p].legend(loc='center left', bbox_to_anchor=(1, 0.5))
    axs[p].set_ylabel(f'Process duration (days)')
    axs[p].set_xlabel('Total duration (days)')
plt.show()
Editar e executar o código