Bắt đầu ngayBắt đầu miễn phí

Biểu đồ khuỷu tay (Scree)

Trong các bài trước, bạn đã tính tổng bình phương trong cụm cho các giá trị k từ 1 đến 10. Bạn có thể trực quan hóa mối quan hệ này bằng biểu đồ đường để tạo ra cái gọi là biểu đồ khuỷu tay (hay scree plot).

Khi xem biểu đồ khuỷu tay, bạn muốn thấy một mức giảm mạnh từ một k sang k kế tiếp, sau đó là độ dốc giảm dần đều. Giá trị k cuối cùng trước khi độ dốc của biểu đồ bắt đầu “phẳng lại” gợi ý một giá trị k “tốt”.

Bài tập này là một phần của khóa học

Phân cụm bằng R

Xem khóa học

Hướng dẫn bài tập

  • Tiếp tục từ bài trước, dùng các giá trị trong elbow_df để vẽ biểu đồ đường thể hiện mối quan hệ giữa ktổng bình phương trong cụm.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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)
Chỉnh sửa và Chạy Mã