IniziaInizia gratis

Modello eCommerce logistica: analisi k-means

Ora che hai ottenuto un primo insight dai Risultati del modello, puoi approfondire pattern e relazioni tra i risultati usando l’analisi in cluster.

Userai l’algoritmo k-means per capire quali sono i principali fattori che guidano il comportamento del tuo modello e per classificare i punti dati in gruppi con proprietà simili. Questo ti aiuterà a individuare i colli di bottiglia nell’operatività e-commerce/logistica reale che il tuo modello rappresenta.

kmeans e whiten sono stati importati da scipy.cluster.vq e matplotlib.pyplot as plt. I dataset originale e whitened hanno le colonne elencate di seguito. La variabile fittizia p definisce gli indici di questi processi nei dataset.

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

Questo esercizio fa parte del corso

Simulazione a eventi discreti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Applica whiten all’array record_processes_np per prepararlo al clustering k-means.
  • Esegui il metodo k-means sull’array whitened usando il pacchetto SciPy, impostando k-means per trovare tre cluster.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice