当前位置: 首页 > news >正文

重庆网站建设机构wordpress评论 边栏

重庆网站建设机构,wordpress评论 边栏,网站友情链接的作用,公司vi形象设计KNN算法 KNN#xff08;K-Nearest Neighbor#xff0c;K最近邻#xff09;算法是一种用于分类和回归的非参数统计方法#xff0c;尤其在分类问题中表现出色。在手写数字识别领域#xff0c;KNN算法通过比较测试样本与训练样本之间的距离#xff0c;找到最近的K个邻居K-Nearest NeighborK最近邻算法是一种用于分类和回归的非参数统计方法尤其在分类问题中表现出色。在手写数字识别领域KNN算法通过比较测试样本与训练样本之间的距离找到最近的K个邻居并根据这些邻居的类别来预测测试样本的类别。 接下来让我们详细了解了解knn怎么进行手写数字识别 数字识别 对于数字识别我们进行三个方面来完成它 训练模型得到模型测试模型测试模型识别的准确率测试新的数据查看实用效果 训练模型 收集数据 读取图片数据 使用opencv处理图片将图片的像素数值读取进来并返回的是一个三维高宽颜色numpy数组 pip install opencv-python3.4.11.45import cv2 img cv2.imread(digits.png)转化灰度图 将图片转化为灰度图从而让三维数组变成二位的数组 gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)处理图像 对图片进行处理将其先垂直切分横向成50份再将每一份水平切分竖向成100份,这样我们的每份图片的像素值都为20*20训练的图片比较规范共500个,比如 cells [np.hsplit(row,100) for row in np.vsplit(gray,50)] #列表生成式装进array数组 将切分的每一份图片像素数据都装进array数组中 x np.array(cells)分隔数据 将数据竖着分隔一半一半作为训练集一般作为测试集 train x[:,:50] test x[:,50:100]调整数据结构 由于我们最后要将数据放在KNN算法中训练我们得将数据结构调整为适合KNN算法训练的结构KNN要求输入的数据为二维数组那么我们就来改变每份图片数组的维度reshape train_new train.reshape(-1,400).astype(np.float32)分配标签 我们训练着那么多的数据却没有给他们具体的类别标签图像的实际值因为我们之前的图像处理都是在寻找图像特征但是并没有给他们一个具体对应的类别只有空荡荡的特征无法分类所以我们得给切分的每份图片打上它们对应的标签 #repeat用于重复数组中数值此处重复250次因为训练集中表示每个类别的图片只有250个要将它们一一对应打上标签 #np.newaxis用于在数组中创建一个新的维度即将每个标签单独放 #原本[00000……1111……] ---- [[0][0]……[1][1]……] k np.arange(10) train_mark np.repeat(k,250)[:,np.newaxis]训练模型 在训练时将训练集与标签一一对应训练 #通过cv2创建一个knn模型 knn cv2.ml.KNearest_create() #cv2.ml.ROW_SAMPLE告诉opencv将训练的数据与类别按行一一对应训练 knn.train(train_new,cv2.ml.ROW_SAMPLE,train_mark)这样我们就训练好的这份简单的数据内容训练了一个可以识别数字0~9的模型模型训练完了我们总得知道它到底能不能识别数字吧识别数字成功的准确率能达到多少呢 测试模型 评估性能测试模型帮助评估模型的准确性、效率、鲁棒性和其他性能指标。识别问题通过测试可以及早发现和定位模型或产品中的缺陷、错误或不足之处。优化和改进测试模型提供的数据和反馈是优化和改进模型或产品的关键依据。基于测试结果可以调整模型参数、改进算法设计、优化系统架构等以提升模型或产品的性能和质量。 那么我们来测试我们刚刚训练出的模型 前面说了图片中的数据一半作为训练集一半作为测试集将测试集数据也进行以上操作 test_new test.reshape(-1,400).astype(np.float32) #调整数据结构 test_labels np.repeat(k,250)[:,np.newaxis] #分配标签处理好测试集的数据之后我们来测试模型 #将测试集放入模型测试 ret,result,neighbours,dist knn.findNearest(test_new,k3)#ret:表示操作是否成功#result表示测试样本的预测标签浮点数组#neighbours表示与测试样本最近的k个邻居的索引整数数组#dist表示测试样本与每个最近邻居之间的距离浮点数组#通过测试集校验准确率 matches resulttest_labels #将模型对测试集的预测结果result与实际的测试标签test_labels进行比较。 correct np.count_nonzero(matches) #计算 matches 数组中 True即正确预测的数量 accuracy correct*100.0/result.size #result.size 返回 result 数组中的元素总数 print(当前准确率为,accuracy)模型测试完成后我们要尝试它在实际中的使用效果查看其实用性。 测试新的数据 在画图软件中画几个像素值20*20的图片让其进入模型看看测试结果比如 这个测试数据已经进行了一部分的处理 #处理图片 try_img cv2.imread(4.png) #读取图片 try_gray cv2.cvtColor(try_img,cv2.COLOR_BGR2GRAY) #转为灰度图二维 z np.array(try_gray) #装入二维数组 try_new z.reshape(-1,400).astype(np.float32) #调整结构适用于KNN#测试结果 ret,result,neighbours,dist knn.findNearest(try_new,k3) print(result) #查看测试结果显示分类类别 ------------------ [[4.]] #测试结果正确总结 本篇介绍了如何使用KNN算法进行手写数字识别 训练模型收集数据 – 读取图片数据 – 转化灰度图 – 处理图像 – 装进array数组 – 调整数据结构 – 分配标签 – 训练模型 测试模型评估性能 – 识别问题 – 优化和改进 测试数据查看实用性
http://www.w-s-a.com/news/187284/

相关文章:

  • 如何做漫画赚钱的网站企业网站管理系统c
  • 安康公司网站制作搜狗网站
  • 太仓住房与城乡建设局网站注册推广赚钱一个80元
  • wordpress 网站生成app企业网站改版的好处
  • 广州建站服务怎么让客户做网站
  • 南京手机网站设计公司wordpress导航页
  • 娄底市建设网站app网站开发小程序
  • 刷粉网站推广免费网站建设找王科杰信誉
  • 投标建设用地是哪个网站微信小程序多少钱
  • 做玄幻封面素材网站我国数字经济报告
  • 手机网站返回跳转wordpress带颜色的文字
  • 微信群领券网站怎么做创意广告图片
  • 跟我一起做网站嘉兴做网站哪家好
  • 上海知名建站公司山东住房和建设庭网站
  • 深圳市城乡建设部网站首页平台设计方案怎么做
  • 深圳美食教学网站制作wordpress列表图显示标题
  • 怎么做网址导航网站沈阳高端做网站建设
  • 棋牌网站开发需要多少钱整网站代码 带数据 免费 下载
  • 网站建设 sql 模版猎头用什么网站做单
  • 河北保定建设工程信息网站wordpress 远程缓存
  • 手机网站开发之列表开发win7网站开发教程
  • 楚雄市住房和城乡建设局网站廊坊企业网站建设
  • 东莞规划局官方网站wordpress添加文章页不显示图片
  • 做企业网站要哪些人员百度商城网站建设
  • c语言软件开和网站开发区别多产品的网站怎么做seo
  • 收益网站制作移动互联网应用的使用情况表格
  • 专业的手机网站建设公司哪家好同城信息网站建设
  • 参与做网站的收获国外网站服务器建设
  • 西宁网站建设报价cu君博规范网站kv如何做
  • 毕业室内设计代做网站广东建设监理协会网站个人账号