用R语言实现K最近邻(KNN)算法
K最近邻(K-Nearest Neighbors,简称KNN)是一种常用的机器学习算法,它可用于分类和回归问题。在这篇文章中,我们将使用R语言实现KNN算法,并提供相应的源代码。
KNN算法的基本原理是根据样本的特征值,找到与待分类样本最近的K个邻居,并根据这K个邻居的标签进行分类。KNN算法的步骤如下:
- 导入必要的库和数据集
首先,我们需要导入R中的必要库和数据集。在这个例子中,我们使用R中自带的iris数据集,它包含了150个鸢尾花的测量数据。
# 导入必要的库
library(class)
# 导入iris数据集
data(iris)
- 数据预处理
在KNN算法中,数据预处理是非常重要的一步。我们需要将数据集分为训练集和测试集,并对特征进行归一化处理。
# 将数据集分为训练集和测试集
set.seed(123)
train_indices <- sample(1:nrow(iris), 0.7 * nrow(iris))
train_data <- iris[train_indices, ]
test_data <- iris[-train_indic