什么是KNN( K近邻算法)
虽然名字中有NN,KNN并不是哪种神经网络,它全名K-Nearest-Neighbors:K近邻算法,是机器学习中常用的分类算法。
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/9c2e8b41cee61a66e4cf8ee699e1db5d.png)
物以类聚,人以群分。KNN的基础思想很简单,要判断一个新数据的类别,就看它的邻居都是谁。
假设我们的任务是分类水果,虽然不知道新来的水果是梨还是苹果,但通过观察它的大小和颜色,我们找到了它在坐标系中的位置,再看看已经确定的苹果和梨都在哪,如果附近的苹果多,我们就认为它是苹果,反之认为它是梨。
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/7d3d9013b0fbabaaf2f28f9edec9782c.png)
KNN中的K指的是K个邻居,K=3就是通过距离最近的3个样本,来判断新数据的类别。
![请添加图片描述](https://i-blog.csdnimg.cn/blog_migrate/2d4f28ada292ceece41ffd4df9a1b761.png)
大小和颜色是数据的特征,苹果和梨是数据的标签。计算距离时既可以使用两点之间的直线距离,也就是欧式距离,也可以使用坐标轴距离的绝对值的和,也就是曼哈顿距离。
对于KNN来说,K的取值非常重要,如果K的值太小,很容易受个例影响,K的值太大&#