Bắt đầu ngayBắt đầu miễn phí

Mô hình eCommerce logistics: phân tích k-means

Giờ bạn đã có những hiểu biết đầu tiên về đầu ra của mô hình, hãy đào sâu hơn về các mẫu hình và mối quan hệ giữa các kết quả bằng phân tích cụm.

Bạn sẽ dùng thuật toán k-means để hiểu các yếu tố chi phối chính đến hành vi của mô hình và phân loại các điểm dữ liệu vào các nhóm có thuộc tính tương tự. Điều này sẽ giúp bạn nhận diện các nút thắt cổ chai trong hoạt động e-commerce/logistics thực tế mà mô hình đang mô phỏng.

kmeanswhiten đã được nhập từ scipy.cluster.vqmatplotlib.pyplot as plt. Bộ dữ liệu gốc và đã whiten có các cột như dưới đây. Biến giả p xác định chỉ số của các quy trình này trong bộ dữ liệu.

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

Bài tập này là một phần của khóa học

Mô phỏng Sự kiện Rời rạc bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Áp dụng whiten cho mảng record_processes_np để chuẩn bị cho phân cụm k-means.
  • Chạy phương thức k-means trên mảng whitened bằng gói SciPy, đặt k-means để tìm ba cụm.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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()
Chỉnh sửa và Chạy Mã