Začněte nyníZačněte zdarma

Logistický eCommerce model: k-means analýza

Teď, když máš první přehled o výstupech modelu, můžeš své pochopení vzorů a vztahů mezi výsledky prohloubit pomocí shlukové analýzy.

Použiješ algoritmus k-means, abys lépe porozuměl/a hlavním faktorům ovlivňujícím chování modelu a zařadil/a datové body do skupin s podobnými vlastnostmi. To ti pomůže identifikovat úzká místa ve skutečném e-commerce/logistickém provozu, který tvůj model představuje.

kmeans a whiten byly importovány z scipy.cluster.vq a matplotlib.pyplot as plt. Původní i normalizovaný dataset obsahují data sloupců uvedených níže. Pomocná proměnná p definuje indexy těchto procesů v datasetech.

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

Toto cvičení je součástí kurzu

Diskrétní simulace událostí v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Normalizuj pole record_processes_np pomocí funkce whiten, aby bylo připraveno pro k-means clustering.
  • Spusť metodu k-means na poli whitened s využitím balíčku SciPy a nastav ji tak, aby našla tři shluky.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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()
Upravit a spustit kód