版权所有,可以转载,禁止修改。转载请注明作者以及原文链接。
一、KNN算法概述
KNN是Machine Learning领域一个简单又实用的算法,与之前讨论过的算法主要存在两点不同:
- 它是一种非参方法。即不必像线性回归、逻辑回归等算法一样有固定格式的模型,也不需要去拟合参数。
- 它既可用于分类,又可应用于回归。
KNN的基本思想有点类似“物以类聚,人以群分”,打个通俗的比方就是“如果你要了解一个人,可以从他最亲近的几个朋友去推测他是什么样的人”。
在分类领域,对于一个未知点,选取K个距离(可以是欧氏距离,也可以是其他相似度度量指标)最近的点,然后统计这K个点,在这K个点中频数最多的那一类就作为分类结果。比如下图,若令K=4,则?处应分成红色三角形;若令K=6,则?处应分类蓝色正方形。
在回归(简单起见,这里讨论一元回归)领域,如果只知道某点的预测变量 x ,要回归响应变量