KNN近邻算法
应该是分类算法中最好理解的了,但是运算量特别大,并且不能训练出模型(只能训练出最优的k值)。
算法步骤
1、求欧式距离
d=sqrt( ∑(xi1-xi2)^ ) i=1,2..n
这里的i就是各个属性,而每条验证数据都要和n条训练数据求欧式距离
,这样就得到了n个欧式距离
2、我们把欧式距离存进一个数组,并从小到大排序,排序时需要注意的是分类结果需要跟着欧氏距离一起排序。
3、设置一个k值,数组取前k个数据,接下来计算这k个数据对应的分类结果哪个出现的多,作为预测结果。
具体怎么查看一个数组i多还是j多,我们可以设i=0,j=1
然后建立一个数组table[2],然后table[i]++,table[j]++,再比较table[0]和table[1]哪个大就完成了