之前写过knn分类算法代码,想把knn用于设别手写体数字,看下正确率。
大概思路:获取图片(可以自己写,我之前有写过黑白图片转文本的代码,也可以网上找,反正数据量大会更好)->转成文本->建立大量的训练数据集->建立好训练数据与类别的关联->测试
注意:训练数据一定要明确给出类别。本次实验手写体数字一共就是10中类别,0-9
获取图片转成文本之前写过,跳过,直接从建立训练数据开始。
首先加载数据,图片保存在文本里,不方便处理,转成数组。这里的32都是保存图片的宽和高(px),按照具体图片大小决定。
之后将所有训练数据存储在一个数组里,一个文本存储在数组的一行里,一共有多少文本,就有多少行,列数是固定的,32*32=1024
上图就是建立了类别和训练数据的联系。
测试数据,用knns算法去给测试数据分类。
单个手写体数字文件识别:
trainarray,labels=traindata