本系列代码托管于:https://github.com/chintsan-code/machine-learning-tutorials
本篇使用的项目为:knnDemo
classify0这个方法其实就是计算两个两个特征点之间的欧氏距离(L2距离),这里需要一些numpy基础:
numpy.array.shape[0] # 获取array的row,相对的shape[1]是获取column
numpy.tile # https://www.jianshu.com/p/9519f1984c70
numpy.sum # https://www.jianshu.com/p/7cf1f32981c5
总结一下knn的步骤
- 求待分类点与各个样本点的欧氏距离;
- 将该距离按从小到大排序;
- 取距离最小的k个值;
- 统计这些距离对应的样本点的标签,按少数服从多数的原则,确定待分类的属于哪一类标签。
ps:k并不是指有多少类别,而是要取多少个距离来统计
评论 (0)