Model eCommerce logistik: analisis k-means
Sekarang setelah Anda memperoleh wawasan awal tentang keluaran model, Anda dapat memperdalam pemahaman tentang pola dan hubungan antarkeluaran menggunakan analisis klaster.
Anda akan menggunakan algoritma k-means untuk membantu memahami pengendali utama perilaku model Anda dan mengklasifikasikan titik data ke dalam kelompok dengan karakteristik serupa. Ini akan membantu mengidentifikasi kemacetan pada operasi e-commerce/logistik dunia nyata yang direpresentasikan oleh model Anda.
kmeans dan whiten telah diimpor dari scipy.cluster.vq serta matplotlib.pyplot as plt. Himpunan data asli dan yang telah di-whiten memiliki data kolom seperti di bawah ini. Variabel dummy p mendefinisikan indeks proses-proses tersebut dalam himpunan data.
- kolom 1 (
p=0):time_requests - kolom 2 (
p=1):time_packaging - kolom 3 (
p=2):time_shipping - kolom 4 (
p=3):sum/total time
Latihan ini merupakan bagian dari kursus
Simulasi Peristiwa Diskret dengan Python
Instruksi latihan
- Lakukan whitening pada array
record_processes_npuntuk menyiapkannya bagi pengelompokan k-means. - Jalankan metode k-means pada array
whitenedmenggunakan paket SciPy, dengan menetapkan k-means untuk mencari tiga klaster.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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()