เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

โมเดล Logistics eCommerce: การวิเคราะห์ k-means

หลังจากได้รับข้อมูลเชิงลึกเบื้องต้นเกี่ยวกับผลลัพธ์ของโมเดลแล้ว คราวนี้จะเจาะลึกความเข้าใจเกี่ยวกับรูปแบบและความสัมพันธ์ระหว่างผลลัพธ์โดยใช้การวิเคราะห์คลัสเตอร์

จะใช้อัลกอริทึม k-means เพื่อช่วยทำความเข้าใจตัวแปรควบคุมหลักของพฤติกรรมโมเดล และจำแนกจุดข้อมูลออกเป็นกลุ่มที่มีคุณสมบัติคล้ายกัน วิธีนี้จะช่วยระบุคอขวดในการดำเนินงาน e-commerce/logistics จริงที่โมเดลกำลังแทนค่าอยู่

kmeans และ whiten ได้รับการนำเข้าจาก scipy.cluster.vq แล้ว รวมถึง matplotlib.pyplot as plt ชุดข้อมูลต้นฉบับและชุดข้อมูลที่ผ่านการ whiten มีคอลัมน์ดังนี้ โดยตัวแปร dummy p กำหนดดัชนีของกระบวนการเหล่านี้ในชุดข้อมูล

  • คอลัมน์ที่ 1 (p=0): time_requests
  • คอลัมน์ที่ 2 (p=1): time_packaging
  • คอลัมน์ที่ 3 (p=2): time_shipping
  • คอลัมน์ที่ 4 (p=3): sum/total time

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การจำลองเหตุการณ์แบบไม่ต่อเนื่องด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ทำ Whiten อาร์เรย์ record_processes_np เพื่อเตรียมพร้อมสำหรับการทำ k-means clustering
  • รันเมธอด k-means บนอาร์เรย์ whitened โดยใช้แพ็กเกจ SciPy และกำหนดให้ k-means ค้นหา 3 คลัสเตอร์

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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()
แก้ไขและรันโค้ด