開始使用免費開始

使用 KNN 補值

在前一個練習中,你用「中位數補值」來填補乳癌資料集中的遺漏值,但這並不是處理遺漏資料的唯一方法。

「k 近鄰(k-nearest neighbors,KNN)補值」是中位數補值的另一種做法。這是一種更進階的補值方法,會用與當前列相似的其他列之值來取代遺漏值。雖然在實務上實作起來比簡單的中位數補值複雜得多,但在 caret 中使用 train()preProcess 參數就能很容易地嘗試。你只要設定 preProcess = "knnImpute",就能在模型擬合前更換所使用的補值方法。

本練習屬於課程

使用 R 的 caret 進行 Machine Learning

檢視課程

練習說明

breast_cancer_xbreast_cancer_y 已載入到你的工作環境。

  • 使用 train() 函式在乳癌資料集上擬合一個名為 knn_modelglm 模型。
  • 使用 KNN 補值來處理遺漏值。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Apply KNN imputation: knn_model
knn_model <- train(
  x = ___, 
  y = ___,
  method = ___,
  trControl = myControl,
  preProcess = ___
)

# Print knn_model to console
編輯並執行程式碼