手写识别系统(k-近邻算法) - marlonlyh的博客 - CSDN博客
k-近邻算法(kNN)是机器学习中一个相对比较简单的算法。该算法在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较(比如通过欧氏距离),找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为:
1)计算测试数据与各个训练数据之间的距离;
2)按照距离的递增关系进行排序;
3)选取距离最小的K个点;
4)确定前K个点所在类别的出现频率;
5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。
以下代码是通过kNN算法实现的手写识别系统。其中每个输入数据为32*32的二值图像,数据存储在txt文件中(32行*32列)。文件命名为诸如"0_0.txt"的形式。其中,"_"左边的0为其实际标签(实际类),右边的0为数据的编号。
Read full article from 手写识别系统(k-近邻算法) - marlonlyh的博客 - CSDN博客
No comments:
Post a Comment