พื้นฐานของ hierarchical clustering

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

Shaumik Daityari

Business Analyst

สร้าง distance matrix ด้วย linkage

scipy.cluster.hierarchy.linkage(observations, 
                                method='single', 
                                metric='euclidean', 
                                optimal_ordering=False
)
  • method: วิธีคำนวณความใกล้ชิดระหว่างคลัสเตอร์
  • metric: ตัวชี้วัดระยะทาง
  • optimal_ordering: เรียงลำดับจุดข้อมูล
การวิเคราะห์กลุ่มข้อมูลใน Python

ควรเลือกใช้วิธีใด?

  • 'single': ใช้วัตถุที่ใกล้กันที่สุด 2 ชิ้น
  • 'complete': ใช้วัตถุที่ไกลกันที่สุด 2 ชิ้น
  • 'average': ใช้ค่าเฉลี่ยเลขคณิตของวัตถุทั้งหมด
  • 'centroid': ใช้ค่าเฉลี่ยเรขาคณิตของวัตถุทั้งหมด
  • 'median': ใช้ค่ามัธยฐานของวัตถุทั้งหมด
  • 'ward': ใช้ผลรวมของกำลังสอง
การวิเคราะห์กลุ่มข้อมูลใน Python

สร้าง cluster labels ด้วย fcluster

scipy.cluster.hierarchy.fcluster(distance_matrix, 
                                 num_clusters,
                                 criterion
)
  • distance_matrix: ผลลัพธ์จากเมธอด linkage()
  • num_clusters: จำนวนคลัสเตอร์
  • criterion: เกณฑ์กำหนด threshold สำหรับการสร้างคลัสเตอร์
การวิเคราะห์กลุ่มข้อมูลใน Python

Hierarchical clustering ด้วยวิธี ward

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

Hierarchical clustering ด้วยวิธี single

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

Hierarchical clustering ด้วยวิธี complete

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

ข้อสรุปในการเลือกวิธี

  • ไม่มีวิธีใดที่เหมาะกับทุกสถานการณ์
  • ต้องทำความเข้าใจการกระจายตัวของข้อมูลอย่างรอบคอบ
การวิเคราะห์กลุ่มข้อมูลใน Python

มาฝึกกันเถอะ!

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

Preparing Video For Download...