这一节主要是手写识别数字系统的搭建。实际训练数据在 trainingDigits 里面,大约2000个例子。
为了使用之前 2.2 的分类器,要把图像格式化处理为一个向量,32*32 变成 1* 1024。
首先写一个 img2vector 函数,打开给定文件,循环读出前32行,然后把每行的头32个字符存在 NumPy 数组里面,最后返回数组。
这个片段加在之前 kNN.py 里面。
def img2vector(filename):
returnVect = zeros((1,1024))
fr = open(filename)
for i in range(32):
lineStr = fr.readline()
for j in range(32):
returnVect[0,32*i+j] = int(lineStr[j])
return returnVect
然后写测试代码:
def