前面我们说到k-近邻算法可以用来预测未知事物的类别,也就是分类。现在我们再介绍一下它的另一个功能——回归。那么什么是回归呢?下面我们通过一个简单的例子来看看回归到底是做什么的。
如上图所示,每个三角形表示某地区对应面积以及房间数的房屋价格,我们都知道,同一个地方的房子,一般面积越大肯定价格越高。
假设由上图,我们已经知道以往交易的房屋面积大小、房间数和交易价格,现在我们要买一个新房子,已知有新房子的面积大小和房间数量,但是我们不知道它的大概价格。我们要防止被卖房子的人骗了,这个时候我们就可以利用以往交易的数据,使用k-近邻算法来大概预估我们的房屋价格,这个样子我们就不会被别人骗啦。那么根据这些数据,怎么预估来预估新房子的价格呢?
在上一篇文章中,我们讲到k-近邻算法(分类)是利用数据点与数据点之间的距离远近来进行分类的。同样,本章中我们也采用了“距离”这个概念,使用k-近邻算法进行房屋价格的预测。具体是这样子做的,我们把每个房子i的面积Xi和房间数Yi当作坐标点(Xi,Yi),对应价格Vi ,然后我们使用上一篇文章中讲述的方法计算出每个坐标点与新房子对应的坐标点之间的距离,并对他们按照距离从近到远进行排序。然后选取距离最近的k个点,这里我们假设k=3,那么由下图我们可以看到距离新房子这个坐标点最近的三个坐标点的房子价格分别为50万元、55万元、60万元。我们对这个三个价格求平均数得到(50+55+60)/3=55万元,也就是说根据以往的数据我们可以预测到新房子的价格大概为55万元。经过上述过程,我们就知道了新房子的大概价格,买房就不会上当受骗啦,你学会了吗?
根据前面我们所学的内容,我们可以知道分类和回归的区别——分类得到的是事物的类别,而回归得到的是一个具体的数值,他们所解决的问题大不相同。