用R语言构建KNN分类器
K最近邻(K-Nearest Neighbors,KNN)是一种常用的监督学习算法,用于分类和回归问题。在本文中,我们将使用R语言来构建一个KNN分类器。我们将介绍KNN算法的原理,并提供相应的源代码示例。
KNN算法的原理很简单:对于给定的训练样本集,对于每个测试样本,我们计算其与训练样本的距离,并选择最近的K个邻居。然后根据这K个邻居的类别进行投票,投票结果决定了测试样本的类别。下面是一个使用R语言实现KNN分类器的示例代码:
# 导入所需的库
library(class)
# 创建一个训练样本集
train_data <- data.frame(
x1 = c(1, 1, 2, 2, 3, 4),
x2 = c(1, 2, 1, 2, 3, 4),
class = factor(c("A", "A", "A", "B", "B", "B"))
)
# 创建一个测试样本
test_data <- data.frame(
x1 = c(3.5, 1.5),
x2 = c(2.5, 1.5)
)
# 使用KNN算法进行分类
k <- 3 # 选择K的值
predicted_class <- knn(train_data[, 1:2], test_data[, 1:2], train