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

หลาย K หลายโมเดล

แม้ว่าชุดข้อมูล lineup จะมีค่า k ที่ทราบอยู่แล้ว แต่ในความเป็นจริง จำนวนคลัสเตอร์ที่เหมาะสมมักไม่เป็นที่รู้จักและต้องประมาณค่าขึ้นมา

ในแบบฝึกหัดนี้ จะใช้ map_dbl() จากไลบรารี purrr เพื่อรัน k-means โดยใช้ค่า k ตั้งแต่ 1 ถึง 10 และดึงค่า ผลรวมกำลังสองภายในคลัสเตอร์ทั้งหมด จากแต่ละโมเดล ซึ่งเป็นขั้นตอนแรกในการสร้างกราฟ elbow plot

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

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

ดูคอร์ส

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

  • ใช้ map_dbl() เพื่อรัน kmeans() กับข้อมูล lineup โดยใช้ค่า k ตั้งแต่ 1 ถึง 10 และดึงค่า ผลรวมกำลังสองภายในคลัสเตอร์ทั้งหมด จากแต่ละโมเดล: model$tot.withinss เก็บเวกเตอร์ที่ได้ไว้ในชื่อ tot_withinss
  • สร้าง data frame ใหม่ชื่อ elbow_df ที่ประกอบด้วยค่า k และเวกเตอร์ ผลรวมกำลังสองภายในคลัสเตอร์ทั้งหมด

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

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

library(purrr)

# Use map_dbl to run many models with varying value of k (centers)
tot_withinss <- map_dbl(1:10,  function(k){
  model <- kmeans(x = ___, centers = ___)
  model$tot.withinss
})

# Generate a data frame containing both k and tot_withinss
elbow_df <- data.frame(
  k = ___ ,
  tot_withinss = ___
)
แก้ไขและรันโค้ด