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
Pokyny k cvičení
- Normalizuj pole
record_processes_nppomocí funkcewhiten, aby bylo připraveno pro k-means clustering. - Spusť metodu k-means na poli
whiteneds 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()