LoslegenKostenlos loslegen

Logistik-eCommerce-Modell: k-means-Analyse

Nachdem du erste Einblicke in die Modellausgaben gewonnen hast, kannst du dein Verständnis für Muster und Beziehungen zwischen den Ergebnissen mit einer Clusteranalyse vertiefen.

Du wirst den k-means-Algorithmus verwenden, um die wichtigsten Stellschrauben deines Modellverhaltens zu verstehen und Datenpunkte in Gruppen mit ähnlichen Eigenschaften einzuteilen. Das hilft dabei, Engpässe in der realen E-Commerce-/Logistikoperation zu identifizieren, die dein Modell abbildet.

kmeans und whiten wurden aus scipy.cluster.vq importiert sowie matplotlib.pyplot as plt. Die ursprünglichen und geweißten Datensätze enthalten die unten aufgeführten Spalten. Die Dummy-Variable p definiert die Indizes dieser Prozesse in den Datensätzen.

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

Diese Übung ist Teil des Kurses

Diskrete-Ereignis-Simulation mit Python

Kurs anzeigen

Anleitung zur Übung

  • Wende whiten auf das Array record_processes_np an, um es auf das k-means-Clustering vorzubereiten.
  • Führe die k-means-Methode auf dem Array whitened mit dem SciPy-Paket aus und lass die k-means-Methode drei Cluster finden.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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()
Code bearbeiten und ausführen