การวิเคราะห์คลัสเตอร์: เลือกอัลกอริทึมให้เหมาะสม

ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

Lisa Stuart

Data Scientist

อัลกอริทึมการจัดกลุ่ม

  • Features >> Observations
  • การฝึกโมเดลทำได้ยากขึ้น
  • อาศัยการคำนวณระยะทาง
  • เทคนิค unsupervised ที่ใช้บ่อยที่สุด
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

การประยุกต์ใช้การจัดกลุ่มในทางปฏิบัติ

  • การแบ่งกลุ่มลูกค้า
  • การจัดหมวดหมู่เอกสาร
  • การตรวจจับการฉ้อโกงในการประกันภัย/ธุรกรรม
  • การแบ่งส่วนภาพ
  • การตรวจจับความผิดปกติ
  • และอีกมากมาย...
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

เมตริกระยะทาง: ระยะทางแบบแมนฮัตตัน (Taxicab)

กราฟระยะทางแบบแมนฮัตตัน

1 https://en.wikipedia.org/wiki/Taxicab_geometry
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

เมตริกระยะทาง: ระยะทางแบบยูคลิด

กราฟระยะทางแบบยูคลิด

1 http://rosalind.info/glossary/euclidean-distance/
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

K-means

ขั้นตอน K-means

  1. กำหนด centroid เริ่มต้น
  2. กำหนด observation แต่ละตัวให้กับ centroid ที่ใกล้ที่สุด
  3. สร้าง centroid ใหม่
  4. ทำซ้ำขั้นตอนที่ 2 และ 3
1 http://sherrytowers.com/2013/10/24/k-means-clustering/
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

Hierarchical agglomerative clustering

เดนโดรแกรมการจัดกลุ่มแบบลำดับชั้น

1 https://www.datanovia.com/en/lessons/agglomerative-hierarchical-clustering/
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

การเชื่อมโยงใน agglomerative clustering

  • Ward linkage
  • Maximum/complete linkage
  • Average linkage
  • Single linkage
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

การเลือกอัลกอริทึมการจัดกลุ่ม

ระยะทางระหว่างคลัสเตอร์

  • การประเมินความเสถียรของคลัสเตอร์
  • K-means และ HC ใช้ระยะทางแบบยูคลิด
  • ระยะทางระหว่างและภายในคลัสเตอร์

"การเลือกวิธีวัดความแตกต่างที่เหมาะสมมีผลต่อความสำเร็จของการจัดกลุ่มมากกว่าการเลือกอัลกอริทึม" - จาก Elements of Statistical Learning

1 https://slideplayer.com/slide/8363774/
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

ฟังก์ชันการจัดกลุ่ม

ฟังก์ชัน/เมธอด คืนค่า
sklearn.cluster.Kmeans อัลกอริทึม K-Means clustering
sklearn.cluster.AgglomerativeClustering อัลกอริทึม agglomerative clustering
kmeans.inertia_ ผลรวมกำลังสองของระยะทางจาก observation ถึง cluster center ที่ใกล้ที่สุด
scipy.cluster.hierarchy as sch hierarchical clustering สำหรับ dendrogram
sch.dendrogram() ฟังก์ชันสร้าง dendrogram
ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

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

ฝึกตอบคำถามสัมภาษณ์ Machine Learning ด้วย Python

Preparing Video For Download...