Logo
Section 1 / 4

K-近邻算法简介

本课程将介绍k近邻算法及其具体实现步骤。

导入

K-近邻算法简介

本课程将介绍k近邻算法及其具体实现步骤。

快速概述

我们的下一个监督学习分类方法是K-近邻算法(k-NN),该方法通过新样本与已知样本之间的接近程度来进行分类。分类结果由距离目标样本最近的 k 个数据点决定。例如,当设置 k=3 时,k-NN 会分析距离目标样本最近的三个数据点(即邻居)。

...
使用k-NN聚类预测新数据点类别的示例

示例

给定以下数据集,预测点 p(p1=3p_1=3,p2=7p_2=7)的类别,其中 k=2k=2。

序号P1P2类别
i77B
ii74B
iii34A
iv14A
  • 欧氏距离公式:
$d\left( p,q\right) = \sqrt {\sum _{i=1}^{n} \left( q_{i}-p_{i}\right)^2 }$

计算各点到 p 的距离: d(p,i)=(3−7)2+(7−7)2=4d(p,i)=\sqrt{(3-7)^2 + (7-7)^2} = 4

d(p,ii)=(3−7)2+(7−4)2=5d(p,ii)=\sqrt{(3-7)^2 + (7-4)^2} = 5

d(p,iii)=(3−3)2+(7−4)2=3d(p,iii)=\sqrt{(3-3)^2 + (7-4)^2} = 3 (记为 n1n_1)

d(p,iv)=(3−1)2+(7−4)2=3.6d(p,iv)=\sqrt{(3-1)^2 + (7-4)^2} = 3.6 (记为 n2n_2)

根据距离排序,n1n_1 对应第3行,n2n_2 对应第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-近邻算法,基于邻近数据点的类别,预测用户是否会点击在线广告。

支持向量机

k-NN 实现步骤:1 到 5