使用 KNN 插补
在上一个练习中,您使用中位数插补来填充乳腺癌数据集中的缺失值,但这并不是处理缺失数据的唯一方法。
中位数插补的一个替代方案是 k 近邻(KNN)插补。这是一种更高级的插补方法,用与当前行相似的其他行的值来替换缺失值。虽然与简单的中位数插补相比,实际实现更为复杂,但在 caret 中通过 train() 的 preProcess 参数非常容易尝试。您只需使用 preProcess = "knnImpute",即可在拟合模型之前更改所用的插补方法。
本练习是课程的一部分
在 R 中使用 caret 的机器学习
练习说明
breast_cancer_x 和 breast_cancer_y 已加载到您的工作空间。
- 使用
train()函数在乳腺癌数据集上拟合一个名为knn_model的glm模型。 - 使用 KNN 插补来处理缺失值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Apply KNN imputation: knn_model
knn_model <- train(
x = ___,
y = ___,
method = ___,
trControl = myControl,
preProcess = ___
)
# Print knn_model to console