最近邻算法

  1. 最近邻算法又称为KNN算法(K-NearestNeightbor),是一种基本的分类与回归方法,这种方法没有训练阶段,对新样本直接与训练集做分类或者回归预测。

  2. 分类
    假设有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”类别。

  3. 回归
    在训练数据中选取与样本点相似(距离最近)的K个点并取平均值,即为样本点的预测值。

总房间数卧室数量价格
72100
73150
92300

假设我有一个2个卧室的房子,如果K=2,根据数据我可以得到我的房子的价格为:
( 100 + 300 ) / 2 = 200 (100+300)/2=200 (100+300)/2=200

  1. 总结
    最近邻算法由2个基本要素组成:
  • 距离度量——描述样本点之间的相似程度。距离小的相似程度大,距离大的相似程度小。
  • K值。
    注意:在应用中,K值一般选取一个较小的值,通常采用交叉验证法来选取最优的K值。

最近邻算法的优点:思想简单,可用于分类与回归,准确度高,对噪声不敏感。
最近邻算法的缺点:计算量大,难解决样本不平衡问题,需要大量内存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>