Modèle e-commerce logistique : analyse k-means
Maintenant que vous avez obtenu un premier aperçu des sorties du modèle, vous pouvez approfondir votre compréhension des motifs et des relations entre les résultats grâce à l’analyse de clusters.
Vous allez utiliser l’algorithme k-means pour mieux cerner les principaux facteurs qui pilotent le comportement de votre modèle et classer les points de données en groupes aux propriétés similaires. Cela aidera à identifier les goulets d’étranglement dans l’opération e-commerce/logistique réelle que votre modèle représente.
kmeans et whiten ont été importés depuis scipy.cluster.vq ainsi que matplotlib.pyplot as plt. Les jeux de données, originaux et blanchis, comportent les colonnes listées ci-dessous. La variable binaire p définit les index de ces processus dans les jeux de données.
- colonne 1 (
p=0):time_requests - colonne 2 (
p=1):time_packaging - colonne 3 (
p=2):time_shipping - colonne 4 (
p=3):sum/total time
Cet exercice fait partie du cours
Simulation d’événements discrets en Python
Instructions
- Appliquez le blanchiment (
whiten) au tableaurecord_processes_nppour le préparer au clustering k-means. - Exécutez la méthode k-means sur le tableau
whitenedavec le package SciPy, en configurant k-means pour trouver trois clusters.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()