KNN算法的一个回归应用分析

介绍

在我所接触的机器学习算法中,KNN是一种相对来说较容易理解的算法,但是它在实际中仍有十分广泛的应用。KNN算法可以用于分类和回归问题,在分类问题中应用较多,虽然KNN很少用于回归问题,但对于连续的变量仍有很好的效果。下面我们来介绍KNN算法在回归问题中的应用以及如何用python实现KNN算法的应用案例。

一、案例引入

我们先看一个案例,这样可以更直观的理解KNN算法。数据如下表,其中包括10个人的身高、体重和年龄数据,然后预测第十一个人的体重。

Screenshot-from-2018-08-22-15-03-42-768x422.png

为了更清晰地了解数据间的关系,我们用坐标轴将身高和年龄表示出来,其中横坐标为年龄(age)、纵坐标为身高(Height)。

Screenshot-from-2018-08-22-12-49-19.png

通过上图可以看到,11点的值是需要求解的,那么怎么求呢?我们可以看到在图中11点更接近于5点和1点,所以其体重应该更接近于5点和1点的值,也就是在72-77之间,这样我们就可以大致得到11点的体重值。下面我们用算法来实现这一过程。

二、KNN算法工作

如上所述,KNN可以用于分类和回归问题,通过样本间的某些相似特征来进行预测未知元素的值,即“物以类聚”:相同或相似的事物之间具有一些相似的特征。

在分类问题中,我们可以直接将其最近的样本值作为预测结果,那么在回归问题中怎么计算最终的预测结果呢?就像上面的例子,11点取值介于72-77之间,最终结果应该取多少合适呢?一般来说,我们将其平均值作为最终的预测结果。

算法步骤

1、计算待测点到已知点的距离

Screenshot-from-2018-08-22-12-49-33.png

2、选择距离待测点最近的K个点,k值为人工设置的,至于k值如何设置合

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值