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

Mẹo kNN II: sắp xếp biến

Khi thuật toán k-Nearest Neighbors lặp qua các biến trong dữ liệu để bù khuyết, nó tính khoảng cách giữa các quan sát dựa trên các biến khác, trong đó có biến đã được bù ở các bước trước. Điều này có nghĩa là nếu các biến nằm sớm trong dữ liệu có nhiều giá trị khuyết, thì phép tính khoảng cách phía sau sẽ dựa trên rất nhiều giá trị đã được bù. Việc này đưa nhiễu vào phép tính khoảng cách.

Vì lý do đó, một thực hành tốt là sắp xếp các biến theo số lượng giá trị khuyết tăng dần trước khi thực hiện kNN imputation. Cách này giúp mỗi lần tính khoảng cách dựa trên càng nhiều dữ liệu quan sát được và càng ít dữ liệu đã bù càng tốt.

Hãy thử áp dụng điều này trên dữ liệu tao!

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

Xử lý dữ liệu khuyết bằng Imputation trong R

Xem khóa học

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

  • Tính số lượng giá trị khuyết ở từng cột của tao trong phần đầu của pipeline.
  • Sau đó, sắp xếp các biến theo số lượng giá trị khuyết theo thứ tự tăng dần, trích xuất tên của chúng và gán kết quả vào vars_by_NAs.
  • Dùng select() để sắp xếp lại thứ tự các biến của tao theo thứ tự đã lưu trong vars_by_NAs.
  • Thực hiện k-Nearest Neighbors imputation trên dữ liệu đã sắp xếp và gán kết quả vào tao_imp.

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.

# Get tao variable names sorted by number of NAs
vars_by_NAs <- tao %>%
  ___ %>%
  colSums() %>%
  sort(decreasing = ___) %>% 
  names()

# Sort tao variables and feed it to kNN imputation
tao_imp <- tao %>% 
  select(___) %>% 
  ___()

tao_imp %>% 
	select(sea_surface_temp, humidity, humidity_imp) %>% 
	marginplot(delimiter = "imp")
Chỉnh sửa và Chạy Mã