python_手写数字识别案例、手写数字图片处理
- 1、手写数字识别案例
步骤:
- 收集数据
带有标签的训练数据集来源于trainingDigits文件夹里面所有的文件,接近2000个文件,每个文件中有32*32的二维数组,由01构成,文件名称就是该文件数据对应的标签类型(即一个数字)。 - 处理数据使其符合算法要求
最终我们要求是一个二维数组作为数据源,所以需要将每一个文件对应的特征数据处理成一行,即1*1024,这样所有样本集就变成了2000行的1024列的大二维数组 - 根据以上得到的标签集合和大二维数据数据集,再确定一个k紧邻的k值,就可以作为输入条件进行训练了。
- 给定一个测试文件,将其跟第2步一样处理成为1*1024数组,作为未知样本,然后根据knn分类算法,进行分类操作,算法同电影分类案例。
函数头:def getcls(cur,cls,dataSet,k): def getcls(cur,cls,dataSet,k)
Cur:未知样本,cls:训练数据集标签集合,dataSet:训练数据集 k:最近的几个邻居
‘’’
#coding=utf-8
#手写数字识别案例
import numpy as np
import os
‘’‘fnames为所有的文件名,fname为每一个文件名,vec为一个1*1024的二维数组,f表示整个文件内容,line为某一行’’’
‘’