Zacznij terazZacznij za darmo

Model e-commerce logistycznego: analiza k-means

Masz już pierwsze spojrzenie na wyniki modelu – czas pogłębić rozumienie wzorców i zależności między wynikami za pomocą analizy skupień.

Wykorzystasz algorytm k-means, aby lepiej zrozumieć główne czynniki wpływające na zachowanie modelu i przypisać punkty danych do grup o podobnych właściwościach. Pomoże to zidentyfikować wąskie gardła w rzeczywistej operacji e-commerce i logistyki, którą reprezentuje twój model.

kmeans i whiten zostały zaimportowane z scipy.cluster.vq oraz matplotlib.pyplot as plt. Oryginalne i przetworzone metodą whiten zbiory danych zawierają kolumny wymienione poniżej. Zmienna pomocnicza p definiuje indeksy tych procesów w zbiorach danych.

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

To ćwiczenie jest częścią kursu

Symulacja zdarzeń dyskretnych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zastosuj metodę whiten na tablicy record_processes_np, aby przygotować ją do klasteryzacji k-means.
  • Uruchom metodę k-means na tablicy whitened przy użyciu pakietu SciPy, ustawiając liczbę szukanych skupień na trzy.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod