Introduction
K-Nearest Neighbors (KNN) classifies points based on the majority class of their k nearest neighbors.
Building KNN
library(caret)
# Train model
knn_model <- train(target ~ ., data = train, method = "knn")
# Different k values
knn_model <- train(target ~ ., data = train,
method = "knn",
tuneGrid = data.frame(k = 1:10))
# Preprocessing
train(target ~ ., data = train, method = "knn",
preProcess = c("center", "scale"))
Predictions
pred <- predict(knn_model, test)
Choosing K
# Cross-validation
train(target ~ ., data = train, method = "knn",
trControl = trainControl(method = "cv"))
Summary
KNN is simple and effective. Choose k based on cross-validation.