KNN是经过测量对象的不一样特征值之间的距离进行分类。它的思路是:若是一个样本在特征空间中的k个最类似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K一般是不大于20的整数。算法
KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。3d
在KNN中,将经过计算各个对象之间的距离来衡量其之间的类似性。对象
给定两个集合A,B,Jaccard系数定义为A与B交集的大小与A与B并集的大小的比值。当集合A,B都为空时, 定义为1。blog
Jaccard距离用于描述集合之间的不类似度。Jaccard 距离越大,样本类似度越低。方法
其中, 表示协方差, 表示方差。im
其中, 是协方差矩阵。d3
其表示数据的协方差距离,是一种与尺度无关的度量方式。其会将样本的各个特征标准化,再计算样本间的距离。数据
余弦类似度使用特征空间两个特征向量夹角的余弦值做为衡量差别的大小。余弦值越接近1,说明特征向量夹角越接近0°,两个特征向量越类似。db
①获得训练样本及其对应类别。img
②计算某个待测样本与各个训练样本之间的距离
③对距离进行升序
④考察前k个距离中,对应训练样本出现次数最多的为该待测样本的距离。