机器学习中的k-NN算法:预测、特征处理与参数选择
在机器学习领域,k - 近邻(k - NN)算法是一种简单且有效的预测方法。下面我们将详细探讨如何使用k - NN算法进行预测,以及在这个过程中需要处理的一些关键问题,如特征处理、数据缩放、超参数选择等。
1. 使用k - NN算法进行预测
假设我们要预测一名新球员的体重,已知该球员的身高为72,年龄为24。我们可以按照以下步骤进行操作:
w <- mlb[,c(4:6)] # 提取身高、体重和年龄
z <- qeKNN(w,'Weight') # 拟合k - NN模型
holdout set has 101 rows
predict(z,data.frame(Height=72,Age=24))
[,1]
[1,] 182.56
需要注意的是,我们在预测时,输入的预测点(72, 24)要采用与训练数据集 mlb 相同的数据框形式。
2. k - NN与分类特征
在之前的棒球球员示例中,使用的特征(身高和年龄)都是数值型的。但如果我们要加入一个分类特征,如球员的位置(Position),该怎么办呢?由于k - NN算法是基于距离的,特征需要是数值型才能计算数据点之间的距离。解决办法是将分类变量(即R中的因子)转换为虚拟变量。不过, qe* 系列函数会在需要时自动进行这种转换,我们无需手动操作。
例如,我们要计算另一名新球员的体重,除了身高和年龄外,还考虑球员的位置:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



