Elbow (Scree) Plot
ในแบบฝึกหัดก่อนหน้า คุณได้คำนวณ ผลรวมของกำลังสองภายในคลัสเตอร์ทั้งหมด สำหรับค่า k ตั้งแต่ 1 ถึง 10 แล้ว ขั้นตอนต่อไปคือการนำข้อมูลนี้มาสร้างกราฟเส้น ซึ่งเรียกว่า elbow plot (หรือ scree plot)
เมื่อดู elbow plot ให้สังเกตว่าค่าลดลงอย่างชันจาก k หนึ่งไปยังอีก k หนึ่ง จากนั้นความชันจะค่อย ๆ ลดลง ค่า k สุดท้ายก่อนที่กราฟจะเริ่มราบเรียบถือเป็นค่า k ที่ "เหมาะสม"
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์กลุ่มข้อมูลใน R
คำแนะนำการฝึกหัด
- ต่อจากแบบฝึกหัดก่อนหน้า ให้ใช้ค่าใน
elbow_dfสร้างกราฟเส้นเพื่อแสดงความสัมพันธ์ระหว่าง k กับ ผลรวมของกำลังสองภายในคลัสเตอร์ทั้งหมด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10, function(k){
model <- kmeans(x = lineup, centers = k)
model$tot.withinss
})
# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
k = 1:10,
tot_withinss = tot_withinss
)
# Plot the elbow plot
ggplot(___, aes(x = ___, y = ___)) +
geom_line() +
scale_x_continuous(breaks = 1:10)