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

Nhiều giá trị K, nhiều mô hình

Mặc dù bộ dữ liệu lineup rõ ràng có giá trị k đã biết, nhưng nhiều khi số cụm tối ưu không được biết trước và phải ước tính.

Trong bài tập này, bạn sẽ tận dụng map_dbl() từ thư viện purrr để chạy k-means với các giá trị k từ 1 đến 10 và trích xuất chỉ số tổng phương sai trong cụm từ mỗi mô hình. Đây là bước đầu để trực quan hóa biểu đồ khuỷu tay (elbow plot).

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

  • Dùng map_dbl() để chạy kmeans() trên dữ liệu lineup với các giá trị k từ 1 đến 10 và trích xuất giá trị tổng phương sai trong cụm từ mỗi mô hình: model$tot.withinss. Lưu vector thu được vào tot_withinss.
  • Tạo data frame mới elbow_df chứa các giá trị k và vector tổng phương sai 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.

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