Kom igångKom igång gratis

Logistikmodell för e-handel: k-means-analys

Nu när du fått din första inblick i modellens utdata kan du fördjupa förståelsen av mönster och samband mellan resultaten med hjälp av klusteranalys.

Du använder k-means-algoritmen för att förstå de viktigaste styrfaktorerna bakom modellens beteende och för att klassificera datapunkter i grupper med liknande egenskaper. Det här hjälper dig att identifiera flaskhalsar i den verkliga e-handels- och logistikverksamhet som modellen representerar.

kmeans och whiten har importerats från scipy.cluster.vq och matplotlib.pyplot as plt. Den ursprungliga och den whitened datamängden innehåller kolumndata enligt nedan. Dummyvariabeln p definierar indexen för dessa processer i datamängderna.

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

Den här övningen är en del av kursen

Diskret händelsesimulering i Python

Visa kurs

Övningsinstruktioner

  • Whitena arrayen record_processes_np för att förbereda den för k-means-klustring.
  • Kör k-means-metoden på arrayen whitened med SciPy-paketet och ställ in metoden så att den hittar tre kluster.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod