什么是K邻近算法 (KNN):
比如说在这样一个图中,我们将已知的带有标签的数据(labeled data)放在一个直角坐标系中。现在如果我们读取了一个新的数据,我们想要分辨它是属于哪一种生物(这里用颜色表示)。先同样的将它放入这个坐标系中,然后分别计算出这个点与每一个已经出现过的点的欧式距离(Euclidean Distance)然后与以他最相邻的k个点的类别来判断它的类别。
假设我们现在不知道(5,3.0)这个点的类别,同时我们将参数k设为5。我们就得到了与之相邻的5个点都是setosa(红色)所以模型预测这个点的类别也是setosa。
而当这些数据的特征大于2也就是说当把数据呈现在n维空间中(n>2),欧式距离公式为
而在这个算法中计算两点的距离不一定是欧式距离,还有曼哈顿距离,切比雪夫距离和默认的闵可夫斯基距离。
KNN的特点与优劣:
K邻近是一种惰性算法&#x