实战02 近朱者赤,近墨者黑——kNN

classify0(待判定的样本向量, 数据集矩阵, 标签向量, k值(选前k个))

sqDiffMat.sum(axis=1) 表示同一行累加(axis=0表示同一列累加)
pycharm->Ctrl+A(全选)->Ctrl+Alt+L(格式化代码)
shell中 导入模块 import kNN
from imp import * ————> reload(kNN)

不同k值,绿色点的分类不同
不同k值,绿色点的分类不同
创建kNN:
在这里插入图片描述
准备数据:

  • 从文本文件中解析数据
    returnMat,classLabelVector
  • 分析数据:使用Matplotlib创建散点图
  • 归一化数值
    归一化到[0,1]或者[-1,1]区间

测试算法:
评估算法的正确率,如将数据的90%作为训练样本来训练分类器,其余10%去测试分类器,检测分类器的正确率。(或交叉验证法)

示例:手写识别系统(美国邮件分拣系统)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章