k-Nearest Neighbors(KNN)算法

 第一个机器学习的例子,就是kNN,它是一个简单的机器学习模型,容易理解而且效率高。原理和它的想法都很简单:用距离来分类的方法,计算待分类样例与已知所有分类样例的距离,对结果进行排序,找出最小距离的前k个结果,对k个结果进行投票统计,得票最多的就是属于那一类。


    问题来了。究竟是什么距离作为衡量标准,我们知道距离有欧氏距离,马氏距离还是欧氏距离?它采用的是欧氏距离。


    举个例子,它是怎么做的,也就明白为什么选择欧氏距离。


    书中用的例子:要对一个电影进行分类,看它是属于哪个类别的。比如,已知下表:

k-Nearest Neighbors(KNN)算法


我们想知道一个电影XX是属于罗曼题材还是动作题材的,于是我们计算XX与上表中已知电影的各个距离,如下表:

k-Nearest Neighbors(KNN)算法



加入k= 3 ,从上面的表格看到前3个距离最小的都是属于Romance,即XX就是罗曼题材的电影。

原理部分已经完成。送上欧式距离的计算方法:

k-Nearest Neighbors(KNN)算法