上QQ阅读APP看书,第一时间看更新
3.2.1 KNN算法的基本原理
在诸多机器学习算法中,KNN(K-Nearest Neighbor,K最近邻)算得上是较简单且易于理解的算法之一了。不过,简单不意味着KNN能做的事情比较少,它既可以用于分类任务,也可以用于回归任务。
KNN算法的原理十分容易理解:它识别k个最近的数据点(基于欧几里得距离)来进行预测,它分别预测邻域中最频繁的分类或是回归情况下的平均结果。用通俗的话讲,已知大部分皮肤比较白的人是欧洲人,大部分皮肤比较黑的人是非洲人。现在给你介绍一位朋友,让你判断他来自哪个国家。通过目测,你发现这位朋友与3位非洲朋友的肤色比较接近,与1位欧洲朋友的肤色比较接近,这时,你大概率会把这位新朋友归到非洲人的分类当中。
对于回归任务来说,KNN的工作机理也是相似的。例如,你打算去买一套房子,在同一个小区当中发现有3套户型和面积都十分接近的房屋。第一套的售价是500万元,第二套的售价是520万元,而第三套的售价未知。鉴于第三套的情况与前面两套十分接近,你可以大致估算出它的售价会是510万元左右,即前两套房子售价的均值。
下面我们来逐一演示一下KNN在分类和回归当中的应用。