classify0(待判定的样本向量, 数据集矩阵, 标签向量, k值(选前k个))
sqDiffMat.sum(axis=1) 表示同一行累加(axis=0表示同一列累加)
pycharm->Ctrl+A(全选)->Ctrl+Alt+L(格式化代码)
shell中 导入模块 import kNN
from imp import * ————> reload(kNN)
不同k值,绿色点的分类不同
创建kNN:
准备数据:
- 从文本文件中解析数据
returnMat,classLabelVector - 分析数据:使用Matplotlib创建散点图
- 归一化数值
归一化到[0,1]或者[-1,1]区间
测试算法:
评估算法的正确率,如将数据的90%作为训练样本来训练分类器,其余10%去测试分类器,检测分类器的正确率。(或交叉验证法)
示例:手写识别系统(美国邮件分拣系统)