用k-近邻算法:手写识别系统
一、准备数据:将图像转换为测试向量
我们将图像格式化处理为一个向量:把一个32x32的二进制图像矩阵转换为1x1024的向量。
还是在kNN.py文件中,编写将图像转换为向量的函数如下:
#将图像转换为测试向量 def img2vector(filename): returnVect = zeros((1, 1024))#创建一个1x1024的numpy数组 fr = open(filename)#打开指定问价 for i in range(32):#循环读出文件的前32行 lineStr = fr.readline()#读取第i行,就一行 for j in range(32):#将每行的前32个字符值存储在numpy数组中 returnVect[0, 32*i+j]=