导入
K-近邻算法简介
本课程将介绍k近邻算法及其具体实现步骤。
快速概述
我们的下一个监督学习分类方法是K-近邻算法(k-NN),该方法通过新样本与已知样本之间的接近程度来进行分类。分类结果由距离目标样本最近的 k 个数据点决定。例如,当设置 k=3 时,k-NN 会分析距离目标样本最近的三个数据点(即邻居)。
...
使用k-NN聚类预测新数据点类别的示例
示例
给定以下数据集,预测点 p(,)的类别,其中 。
| 序号 | P1 | P2 | 类别 |
| i | 7 | 7 | B |
| ii | 7 | 4 | B |
| iii | 3 | 4 | A |
| iv | 1 | 4 | A |
- 欧氏距离公式:
$d\left( p,q\right) = \sqrt {\sum _{i=1}^{n} \left( q_{i}-p_{i}\right)^2 }$
计算各点到 p 的距离:
(记为 )
(记为 )
根据距离排序, 对应第3行, 对应第4行,这两个最近邻的类别均为 A。
因此,k-近邻算法将预测点 p 的类别为 A。
k-近邻算法有时被称为“基于记忆的推理方法”,因为在每次预测时都需要使用完整的训练数据集。正因如此,k-NN 通常不适用于大规模数据集或高维空间中大量距离计算的场景。然而,通过主成分分析(PCA)等降维算法减少特征维度,或对变量进行合并,是简化并优化 k-NN 分析的常用策略。
k-NN 实现的一般步骤包括:
- 1 - 导入库
- 2 - 导入数据集
- 3 - 去除无关变量
- 4 - 数据标准化
- 5 - 设定特征变量 X 和标签 y
- 6 - 设置算法模型
- 7 - 模型评估
- 8 - 参数优化
- 9 - 进行预测
练习
在接下来的代码练习中,你将使用 k-近邻算法,基于邻近数据点的类别,预测用户是否会点击在线广告。