R语言中的强大算法:K最近邻算法案例
K最近邻(K-Nearest Neighbors,简称KNN)是一种常用的分类和回归算法,它基于样本之间的距离度量进行分类。本文将介绍如何使用R语言实现K最近邻算法,并通过一个案例来演示其应用。
首先,我们需要导入所需的R包。在这个案例中,我们将使用"class"包来实现KNN算法。
install.packages("class")
library(class)
接下来,我们准备一个示例数据集来进行分类。假设我们有一组数据,每个数据点包含两个特征:X1和X2,并且已经被标记为两个类别:A和B。
# 创建示例数据集
X <- matrix(c(1, 1, 2, 3, 4, 3, 5, 4, 6, 4, 5, 6), ncol = 2)
y <- factor(c("A", "A", "A", "A", "B", "B")) # 标记类别
现在,我们可以使用KNN算法对新的数据点进行分类。首先,我们需要选择一个适当的K值,即要考虑的最近邻居的数量。接下来,我们使用knn()
函数来进行分类。
# 使用KNN算法进行分类
k <- 3 # 选择K值
new_data <- matrix(c(3, 2), ncol = 2) # 新的数据点
predicted_class <- knn(train = X, test = new_d