Modèle de logistique pour le commerce électronique : analyse k-means
Maintenant que vous avez une première lecture des résultats du modèle, vous pouvez approfondir votre compréhension des tendances et des relations entre les résultats à l'aide d'une analyse par grappes.
Vous utiliserez l'algorithme k-means pour mieux cerner les principaux facteurs qui contrôlent le comportement de votre modèle et pour classer les points de données en groupes aux propriétés similaires. Cela aidera à repérer les goulots d'étranglement dans l'opération réelle de commerce électronique/logistique que votre modèle représente.
kmeans et whiten ont été importés depuis scipy.cluster.vq ainsi que matplotlib.pyplot as plt. Les ensembles de données original et blanchi contiennent les colonnes ci‑dessous. La variable factice p définit les index de ces processus dans les ensembles 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
Cette activité fait partie du cours
Simulation d'événements discrets en Python
Instructions de l’exercice
- Appliquez le blanchiment (
whiten) au tableaurecord_processes_nppour le préparer au groupement k-means. - Exécutez la méthode k-means sur le tableau
whitenedavec le module SciPy, en configurant k-means pour trouver trois grappes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()