การวิเคราะห์ Silhouette
การวิเคราะห์ Silhouette ช่วยให้คำนวณได้ว่าแต่ละ observation มีความใกล้เคียงกับคลัสเตอร์ที่ถูกกำหนดให้มากเพียงใด เมื่อเทียบกับคลัสเตอร์อื่น ค่าเมตริกนี้ (silhouette width) จะอยู่ในช่วง -1 ถึง 1 สำหรับแต่ละ observation และแปลความหมายได้ดังนี้:
- ค่าใกล้ 1 บ่งชี้ว่า observation นั้นอยู่ในคลัสเตอร์ที่เหมาะสมมาก
- ค่าใกล้ 0 บ่งชี้ว่า observation นั้นอยู่กึ่งกลางระหว่างสองคลัสเตอร์
- ค่าใกล้ -1 บ่งชี้ว่า observation นั้นอาจถูกจัดอยู่ในคลัสเตอร์ที่ไม่ถูกต้อง
ในแบบฝึกหัดนี้ จะใช้ฟังก์ชัน pam() และ silhouette() จากไลบรารี cluster เพื่อทำการวิเคราะห์ Silhouette สำหรับเปรียบเทียบผลลัพธ์ของโมเดลที่มี k เท่ากับ 2 และ k เท่ากับ 3 โดยยังคงทำงานกับชุดข้อมูล lineup ต่อไป
สังเกต Silhouette plot อย่างละเอียด — แต่ละ observation อยู่ในคลัสเตอร์ที่ถูกกำหนดอย่างชัดเจนหรือไม่ สำหรับ k = 3?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์กลุ่มข้อมูลใน R
คำแนะนำการฝึกหัด
- สร้างโมเดล k-means ชื่อ
pam_k2โดยใช้pam()กำหนดk = 2กับข้อมูลlineup - พล็อตผลการวิเคราะห์ Silhouette ด้วย
plot(silhouette(model)) - ทำซ้ำสองขั้นตอนแรกสำหรับ
k = 3โดยบันทึกโมเดลเป็นpam_k3 - ตรวจสอบความแตกต่างระหว่าง plot ทั้งสองก่อนดำเนินการต่อ (โดยเฉพาะ observation 3) สำหรับ
pam_k3
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
library(cluster)
# Generate a k-means model using the pam() function with a k = 2
pam_k2 <- pam(___, k = ___)
# Plot the silhouette visual for the pam_k2 model
plot(silhouette(___))
# Generate a k-means model using the pam() function with a k = 3
pam_k3 <- ___
# Plot the silhouette visual for the pam_k3 model