KNN 補完を使う
前の演習では、乳がんデータセットの欠損値を中央値で補完しましたが、欠損値への対処法はそれだけではありません。
中央値補完の代替として、k-nearest neighbors(KNN)補完があります。これは、現在の行に似ている他の行の値を使って欠損値を置き換える、より高度な補完方法です。実装は単純な中央値補完よりずっと複雑ですが、caret では train() の preProcess 引数を使うことで簡単に試せます。モデル学習前の補完方法を変えるには、preProcess = "knnImpute" と指定するだけです。
この演習はコースの一部です
Rで学ぶ caret を使った Machine Learning
演習の手順
breast_cancer_x と breast_cancer_y はワークスペースに読み込まれています。
train()関数を使って、乳がんデータセットにglmモデルを当てはめ、knn_modelという名前で作成します。- 欠損値の処理には KNN 補完を使います。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Apply KNN imputation: knn_model
knn_model <- train(
x = ___,
y = ___,
method = ___,
trControl = myControl,
preProcess = ___
)
# Print knn_model to console