ComenzarEmpieza gratis

Modelo de eCommerce logístico: análisis k-means

Ahora que ya obtuviste un primer vistazo a los resultados del modelo, puedes profundizar en los patrones y relaciones entre resultados usando análisis de clusters.

Usarás el algoritmo k-means para ayudarte a entender los principales factores que controlan el comportamiento de tu modelo y clasificar los puntos de datos en grupos con propiedades similares. Esto te ayudará a identificar cuellos de botella en la operación real de e-commerce/logística que representa tu modelo.

kmeans y whiten se han importado desde scipy.cluster.vq y matplotlib.pyplot as plt. Los conjuntos de datos originales y blanqueados (whitened) tienen las columnas que se listan a continuación. La variable dummy p define los índices de estos procesos en los conjuntos de datos.

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

Este ejercicio forma parte del curso

Simulación de eventos discretos en Python

Ver curso

Instrucciones del ejercicio

  • Aplica whiten al array record_processes_np para prepararlo para el clustering k-means.
  • Ejecuta el método k-means sobre el array whitened usando el paquete SciPy, configurándolo para encontrar tres clusters.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código