用R语言训练最优K值的KNN回归模型
K最近邻(K-Nearest Neighbors,简称KNN)是一种常用的机器学习算法,可用于回归问题。KNN回归模型根据最近邻的K个训练样本来预测新样本的输出值。本文将详细介绍如何使用R语言训练KNN回归模型,并找到最优的K值。
首先,我们需要准备数据集。假设我们有一个包含多个特征和对应输出值的数据集。以下是一个简单的示例数据集,其中包含两个特征(X1和X2)和一个目标变量(Y):
# 示例数据集
X1 <- c(1, 2, 3, 4, 5)
X2 <- c(2, 3, 4, 5, 6)
Y <- c(10, 15, 20, 25, 30)
# 创建数据框
data <- data.frame(X1, X2, Y)
接下来,我们将数据集分为训练集和测试集。训练集用于训练模型,测试集用于评估模型的性能。我们可以使用caret
包中的createDataPartition
函数进行数据集的拆分:
# 安装和加载所需的包
install.packages("caret")
library(caret)
# 设置随机种子以确保结果可复现
set.seed(123)
# 将数据集拆分为训练集和测试集
trainI