近邻分类算法就是通过已知分类的数据集,来分类未分类的东西。
比如一样东西,它有很多个特征,比如一朵花,它的颜色,花瓣数量,花瓣长度都可以成为它的特征,把这些特征化为数值,再给它加上一个标签,比如3,3,3数值的花是一朵蓝色的三朵3cm花瓣的花,它叫蓝三叶草,当然,蓝三叶草也要给一个数值作为标记,比如3这个数字就代表蓝三叶草。
那么[3,3,3]这个数字组合就对应了序号3这个类别的花。
一个数据集里有成千上万个这样的数字组合,都指向了某个特定分类。
比如[2,2,2]这个数字组合对应了序号2这个类别的花,它的意义可能是有两朵2cm花瓣的红色花,叫红二叶花。
那现在要分析一个[2.1,2,2]的数字组合的花,如果我们只有[2,2,2]-2 [3,3,3]-3这样的数字组合和分类参考,那K-近邻分类算法肯定会把[2.1,2,2]这个数字分类为序号2类的花,即红二叶花,因为它离[2,2,2]这个数字组合更加相近。
当然,实际的机器学习情景的数据集不可能只有两个数字组合,可能有成千上万甚至上亿个数字组合,每个组合都可能对应了不同的分类,那么这数据集全被学习了之后呢,再给一个数字组合,K-近邻分类算法就会取最相近的数字组合的分类作为一个结果,这些数字组合呢,也被称作样本。
所以K-近邻算法也算是监督学习,因为它是学习的样本全是有答案的,数据集中的每个数字组合都有对应的分类。