Python中如何使用k-近邻算法对手写数字进行识别

 时间:2024-10-14 23:18:00

1、(1)收集数据:提议矣把噌供文本文件 将需要识别的数字使用图形处理软件,处理成32像素×32像素的黑白图像,并将图像转换为文本格式。1)训练数据集traini荏鱿胫协ngDigits:用于训练分类器,其中包含了大约2000个例子, 每个例子的内容下图所示,每个数字大约有200个样本;2)测试数据集testDigits:用于测试分类器的效果,其中中包含了大约900个测试数据。

Python中如何使用k-近邻算法对手写数字进行识别
Python中如何使用k-近邻算法对手写数字进行识别
Python中如何使用k-近邻算法对手写数字进行识别

2、(2)准备数据:编老揉孟阼写函数classify0(),将图像格式转换为分类器使用的list格式。 将图像格式化处理为一个窕掷烙宴向量:即把一个32×32的二进制图像矩阵转换为1×1024的向量,这样就可以使用分类器来处理数字图像信息了。 此功能是用函数img2vector来实现的:1)创建1×1024的NumPy数组2)打开给定的文件,循环读出文件的前32行,并将每行的头32个字符值存储在NumPy数组中,最后返回数组。

Python中如何使用k-近邻算法对手写数字进行识别

3、(3)分析数据:在Python命令提示符中检查数据,确保它符合要求。 将上述代码输入到kNN.py文件中,在Python命令行中输入下列命令,对img2vect泠贾高框or函数进行测试,然后与文本编辑器打开的文件进行比较:>>> testVector =kNN.img2vector('D://mymodule/testDigits/0_13.txt')>>> testVector[0,0:31]注:每个人testDigits文件位置不一样,把D://mymodule/testDigits/0_13.txt修改成自己的文件路径

Python中如何使用k-近邻算法对手写数字进行识别

4、(4)训练算法:对k近邻算法来说,一般此步骤可以省略。(5)测试算法:编写函数使用提供的部分数据集作为测试样本(已经完成分类的数据),如果预测分类与实际类别不同,则标记为一个错误。 将第(2)步处理好的数据输入到分类器,检测分类器的执行效果。 此处,用函数handwritingClassTest()来完成测试分类器,将其写kNN.py文件中。

Python中如何使用k-近邻算法对手写数字进行识别

5、(6) 使用算法: 在Python命令提示符中输入kNN.handwritingClassTest(),测试该函数的输出结果。注:此过程会比较长,请耐心等待。

Python中如何使用k-近邻算法对手写数字进行识别

6、(7)判断结果 k-近邻算法识别手写数字数据集,错误率为1.0571%。改变变量k的值、修改函数handwriting-ClassTest随机选取训练样本、改变训练样本的数目,都会对k-近邻算法的错误率产生影响 。

Python中如何使用k-近邻算法对手写数字进行识别
  • 微信电脑朋友圈视频怎么保存
  • 微观经济学要解决的问题是资源利用,宏观经济学要解决的问题是资源配置。这句话是否正确
  • 英雄联盟伊莉丝 技能被动介绍
  • 风景彩铅画图片教程
  • 大学生如何维护自己的身心健康
  • 热门搜索
    防火手抄报图片大全 我运动我快乐手抄报 数学王国手抄报 弟子规手抄报图片 轻叩诗歌的大门手抄报 美德少年手抄报内容 海洋手抄报 建军节手抄报内容 普通话规范字手抄报 小学手抄报大全