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

Hierarchical Clustering: วิธี Ward

ถึงเวลา Comic-Con แล้ว! Comic-Con คืองานประชุมด้านการ์ตูนประจำปีที่จัดขึ้นในเมืองสำคัญทั่วโลก คุณมีข้อมูลจำนวนผู้เข้าร่วมงานในปีที่แล้ว ซึ่งบันทึกจำนวนคนในพื้นที่งาน ณ ช่วงเวลาต่าง ๆ และต้องการเลือกตำแหน่งวางบูธให้ได้ยอดขายสูงสุด ใช้วิธี Ward ในการทำ Hierarchical Clustering เพื่อหาจุดที่มีคนรวมตัวกันมากที่สุด 2 จุดในพื้นที่

ข้อมูลเก็บอยู่ใน pandas DataFrame ชื่อ comic_con โดย x_scaled และ y_scaled คือชื่อคอลัมน์ของพิกัด X และ Y ที่ผ่านการ Standardize แล้ว ซึ่งแสดงตำแหน่งของผู้คน ณ จุดเวลาหนึ่ง

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

การวิเคราะห์กลุ่มข้อมูลใน Python

ดูคอร์ส

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

  • Import fcluster และ linkage จาก scipy.cluster.hierarchy
  • ใช้วิธี ward ในฟังก์ชัน linkage()
  • กำหนด Label ของคลัสเตอร์โดยสร้าง Flat Cluster จำนวน 2 กลุ่มจาก distance_matrix
  • รันโค้ดสำหรับพล็อตกราฟเพื่อดูผลลัพธ์

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

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

# Import the fcluster and linkage functions
from scipy.cluster.hierarchy import ____, ____

# Use the linkage() function
distance_matrix = ____(comic_con[['x_scaled', 'y_scaled']], ____ = ____, metric = 'euclidean')

# Assign cluster labels
comic_con['cluster_labels'] = ____(____, ____, criterion='maxclust')

# Plot clusters
sns.scatterplot(x='x_scaled', y='y_scaled', 
                hue='cluster_labels', data = comic_con)
plt.show()
แก้ไขและรันโค้ด