Lojistik e-Ticaret modeli: k-means analizi
Model çıktıları hakkında ilk içgörünü edindiğine göre, kümeleme analizi kullanarak sonuçlar arasındaki örüntüleri ve ilişkileri daha derinlemesine anlayabilirsin.
Model davranışının temel belirleyicilerini anlamana ve benzer özelliklere sahip veri noktalarını gruplara ayırmana yardımcı olmak için k-means algoritmasını kullanacaksın. Bu, modelinin temsil ettiği gerçek dünyadaki e-ticaret/lojistik operasyonundaki darboğazları belirlemene yardımcı olur.
kmeans ve whiten scipy.cluster.vq içinden içe aktarılmıştır ve matplotlib.pyplot as plt de mevcuttur. Orijinal ve beyazlatılmış (whitened) veri kümelerinde aşağıdaki sütunlar bulunur. p adlı kukla (dummy) değişken, bu süreçlerin veri kümelerindeki indekslerini tanımlar.
- sütun 1 (
p=0):time_requests - sütun 2 (
p=1):time_packaging - sütun 3 (
p=2):time_shipping - sütun 4 (
p=3):sum/total time
Bu egzersiz
Python ile Ayrık Olay Benzetimi
kursunun bir parçasıdırEgzersiz talimatları
- K-means kümelemeye hazırlamak için
record_processes_npdizisini beyazlat (whiten). - SciPy paketini kullanarak
whiteneddizisi üzerinde k-means yöntemini çalıştır ve üç küme bulacak şekilde ayarla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()