首页 > 代码库 > 《机器学习实战》菜鸟学习笔记(三)kNN手写识别系统

《机器学习实战》菜鸟学习笔记(三)kNN手写识别系统

目的:利用kNN识别数字0-9

材料:32*32的数字方阵(保存形式是文本文件)

#-*-coding:utf-8-*-from numpy import *def img2vector(filename):    #生成一个1*1024的array(zeros是numpy的函数,至于array与list区别这里就不多介绍了)    returnVect = zeros((1,1024))    #使用open函数打开一个文本文件    fr = open(filename)    #循环读取文件内容    for i in range(32):        #读取一行,返回字符串        linestr = fr.readline()        for j in range(32):            #读取字符串0 或者 1            returnVect[0,32*i+j] = int(linestr[j])    #返回这个array    return returnVect

这个程序很清晰,不做什么解释了。再看一下分类器是怎么实现的:

 

《机器学习实战》菜鸟学习笔记(三)kNN手写识别系统