-
最近邻算法又称为KNN算法(K-NearestNeightbor),是一种基本的分类与回归方法,这种方法没有训练阶段,对新样本直接与训练集做分类或者回归预测。
-
分类
假设有5个点,坐标分别为A(1, 1),B(1.5, 1.1),C(1, 1.5),D(2.5, 1.05),E(3, 1.1),F(3, 1.2)。其中A、B和C是同一类“1”,D、E、F是同一类“2”。
此时出现了一点G(2, 1),我们判断下G是属于类“1”还是类“2”。
首先我们采用欧式距离作为我们的衡量标准。
A点与样本点之间的距离为1,B点与样本点之间的距离为0.51,C点与样本点之间的距离为1.118,D点与样本点之间的距离为0.502,E点与样本点之间的距离为1.004,F点与样本点之间的距离为1.020。
接着我们要规定K的值。
令K=3时,距离样本点最近的三个点是A、B、D,A、B、D对应的类别为“1”,“1”,“0”,所以此时样本点为“1”类别。
令K=4时,距离样本点最近的四个点的类别为“1”,“1”,“0”,“0”,此时重新选取K值计算。
令K=5时,距离样本点最近的五个点对应的类别为“1”,“1”,“0”,“0”,“0”,所以此时样本点为“0”类别。 -
回归
在训练数据中选取与样本点相似(距离最近)的K个点并取平均值,即为样本点的预测值。
| 总房间数 | 卧室数量 | 价格 |
| 7 | 2 | 100 |
| 7 | 3 | 150 |
| 9 | 2 | 300 |
假设我有一个2个卧室的房子,如果K=2,根据数据我可以得到我的房子的价格为:
(
100
+
300
)
/
2
=
200
(100+300)/2=200
(100+300)/2=200。
- 总结
最近邻算法由2个基本要素组成:
- 距离度量——描述样本点之间的相似程度。距离小的相似程度大,距离大的相似程度小。
- K值。
注意:在应用中,K值一般选取一个较小的值,通常采用交叉验证法来选取最优的K值。
最近邻算法的优点:思想简单,可用于分类与回归,准确度高,对噪声不敏感。
最近邻算法的缺点:计算量大,难解决样本不平衡问题,需要大量内存。
1万+

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



