手写数字识别案例、手写数字图片处理

本文介绍了一个使用Python实现的手写数字识别案例,通过KNN算法对手写数字图片进行处理和识别。首先,从trainingDigits文件夹收集并处理训练数据,将每个32x32的二维数组转换为1x1024的一维数组。接着,利用KNN算法进行训练,并对testDigits文件夹中的未知样本进行分类,计算识别正确率。同时,还提供了将图片转化为二进制数组的处理过程。
摘要由CSDN通过智能技术生成

python_手写数字识别案例、手写数字图片处理

  • 1、手写数字识别案例

步骤:

  1. 收集数据
    带有标签的训练数据集来源于trainingDigits文件夹里面所有的文件,接近2000个文件,每个文件中有32*32的二维数组,由01构成,文件名称就是该文件数据对应的标签类型(即一个数字)。
  2. 处理数据使其符合算法要求
    最终我们要求是一个二维数组作为数据源,所以需要将每一个文件对应的特征数据处理成一行,即1*1024,这样所有样本集就变成了2000行的1024列的大二维数组
  3. 根据以上得到的标签集合和大二维数据数据集,再确定一个k紧邻的k值,就可以作为输入条件进行训练了。
  4. 给定一个测试文件,将其跟第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为某一行’’’
‘’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值