首页 > 分享 > 【10月23日】机器学习实战(一)KNN算法:手写识别系统

【10月23日】机器学习实战(一)KNN算法:手写识别系统

最新推荐文章于 2022-10-21 23:56:52 发布

Moon_treee 于 2017-10-24 09:30:41 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文介绍了k-近邻(KNN)算法在手写数字识别中的应用,通过简单的系统实现识别0-9的阿拉伯数字。尽管KNN算法精度高、对异常值不敏感,但因其计算和空间复杂度高、需要大量标注数据,存在一定的局限性。通过代码演示,展示了算法的实现过程,并得出98.8%的正确率。然而,KNN算法需要保存所有数据,可能导致存储需求大和计算时间长的问题。

摘要由CSDN通过智能技术生成

k-近邻算法怕是最简单的机器学习的分类算法了。简单的说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。

源码+实验数据地址:https://github.com/MoonTreee/machine_learning

其优点:精度高、对异常值不敏感、无数据输入假定; 缺点:计算复杂度高、空间复杂度高;and 需要大量的标注数据
适用数据范围:数值型和标称型。

本文基于k-近邻算法完成一个对字符的识别(本质是一个分类问题),为了简单起见,构造的系统只能识别阿拉伯数字0-9(相关的测试集和训练集数据见github)。源数据已经使用图像处理软件处理成32像素x32像素的黑白图像。为方便处理,以文本格式进行保存。

算法本身也不是很复杂,下面直接上代码。需要注意的地方已经在代码块中标注。

import numpy as np

from os import listdir

import operator

def img2vector(filename):

return_vector = np.zeros((1, 1024))

fr = open(filename)

for i in range(32):

line =

相关知识

【机器学习】KNN算法实现鸢尾花分类
【机器学习】基于KNN算法实现鸢尾花数据集的分类
【机器学习】鸢尾花分类:机器学习领域经典入门项目实战
原生python实现knn分类算法(鸢尾花数据集)
Knn算法实现鸢尾花分类
【实战教程】用scikit
python机器学习
【python机器学习】KNN算法实现回归(基于鸢尾花数据集)
KNN算法实现鸢尾花数据集分类
[机器学习基础][笔记] 一、鸢尾花分类

网址: 【10月23日】机器学习实战(一)KNN算法:手写识别系统 https://m.huajiangbk.com/newsview659198.html

所属分类:花卉
上一篇: jmockdata拓展1.支持L
下一篇: 电脑手写字体下载,手写模拟器+A