使用sklearn的KNN实现类,neighbors.KNeighborsClassifier,模型精度达到96.7%

数据集可以在线下载,也可以手动下载:

mnist数据集地址:https://www.lanzouw.com/iXDefxnl3fa

import torch, torchvision
from sklearn import neighbors#加载mnist数据集
train_dataset = torchvision.datasets.MNIST(root='./data/', train=True, download=True)
test_dataset = torchvision.datasets.MNIST(root='./data/', train=False, download=False)#获取mnist数据集, 并进行归一化,然后将(28*,28)的图片转成(1, 784)向量
train_data = (train_dataset.data/255).view(-1, 784)
train_label = train_dataset.targets#加载测试集
test_data = (test_dataset.data/255).view(-1, 784)
test_label = test_dataset.targets#训练模型
model = neighbors.KNeighborsClassifier(n_neighbors=8)
model.fit(train_data, train_label)#模型预测
predict = model.predict(test_data)#使用sklearn的score函数算精度,
acc = model.score(test_data, test_label)
print(acc)

KNN识别手写数字MNIST相关推荐

  1. Android TensorFlow Lite 深度学习识别手写数字mnist demo

    一. TensorFlow Lite TensorFlow Lite介绍.jpeg TensorFlow Lite特性.jpeg TensorFlow Lite使用.jpeg TensorFlow L ...

  2. Python神经网络识别手写数字-MNIST数据集

    Python神经网络识别手写数字-MNIST数据集 一.手写数字集-MNIST 二.数据预处理 输入数据处理 输出数据处理 三.神经网络的结构选择 四.训练网络 测试网络 测试正确率的函数 五.完整的 ...

  3. 从零开始的神经网络构建历程(二,用全连接前馈神经网络识别手写数字mnist)

    本系列的上一篇博文最后提出了一个问题,是有关如何通过torch来实现给定的神经网络的,这里公布一下我自己的回答: class Net(nn.Module):def __init__(self):sup ...

  4. KNN实现手写数字识别(Python-OpenCV)

    手写数字识别 Python-OpenCV   KNN实现手写数字识别 目标:编写一个使用OPenCV的KNN模块实现手写数字识别的程序. 训练数据和测试数据为OpenCV自带的一副包含5000个手写数 ...

  5. 图像识别:利用KNN实现手写数字识别(mnist数据集)

    图像识别:利用KNN实现手写数字识别(mnist数据集) 步骤: 1.数据的加载(trainSize和testSize不要设置的太大) 2.k值的设定(不宜过大) 3.KNN的核心:距离的计算 4.k ...

  6. OpenCV-Python实战(番外篇)——利用 KNN 算法识别手写数字

    OpenCV-Python实战(番外篇)--利用 KNN 算法识别手写数字 前言 手写数字数据集 MNIST 介绍 基准模型--利用 KNN 算法识别手写数字 改进模型1--参数 K 对识别手写数字精 ...

  7. opencv(python)使用knn最近邻算法识别手写数字

    knn最近邻算法是一种分类以及回归算法,算法原理是一个样本与样本集中k个样本最相似,如果这k个样本的大多数也属于同一个类别,则该样本也属于这一类.关于knn算法的详细原理读者可以在网上找一些资料了解下 ...

  8. 课程设计(毕业设计)—基于机器学习KNN算法手写数字识别系统—计算机专业课程设计(毕业设计)

    机器学习KNN算法手写数字识别系统 下载本文手写数字识别系统完整的代码和课设报告的链接(或者可以联系博主koukou(壹壹23七2五六98),获取源码和报告):https://download.csd ...

  9. Python3:《机器学习笔记与实战》之Knn算法(2)识别手写数字

    Python3:<机器学习笔记与实战>之Knn算法(2)识别手写数字 转载请注明作者和出处:https://blog.csdn.net/weixin_41858342/article/de ...

最新文章

  1. [9-1]磁盘基本知识、分区基本概念
  2. Fibonacii数列,兔子问题
  3. 年底了,如何准备 Java 初级和高级的技术面试?
  4. springboot mail插件/JavaMailSenderImpl 发邮件。163网易企业邮箱调用的坑。
  5. matlab安装程序无法启动jvm_天呀!JVM居然还有2两种运行模式
  6. leetcode 53. 最大子序和 动态规划解法、贪心法以及二分法
  7. socket api中send()和recv()函数工作原理与要点
  8. Atitit. 包厢记时系统 的说明,教程,维护,故障排查手册v2 pb25.doc
  9. JTS Geometry关系判断和分析
  10. 美股数据获取 python_python3+tesseract获取美股PEG图像上的数据
  11. Linux入门:usermod - 修改用户帐户信息
  12. 一元(多元)线性回归分析之R语言实现
  13. navicat激活失败
  14. ubuntu Nvidia dkms 驱动恢复
  15. 盘古开源:2022年全球汽车产能仍受制于芯片短缺,中国减产量占一成
  16. 运算符(一元 二元)
  17. paper—基于 GCN 的安卓恶意软件检测模型
  18. Android中集成支付宝
  19. 干货 | 播音主持必知的五十个知识
  20. Python爬虫——去哪儿网评论

热门文章

  1. python实现肯德基店铺查询
  2. 1091 Acute Stroke (30 分)【难度: 一般 / bfs】
  3. 【PAT乙级】1027 打印沙漏 (20 分)
  4. 项目: 最简单的飞机大战游戏
  5. Dubbo监控中心Windows安装
  6. 切换分支 更改只影响当前分支代码_idea 中分支管理操作的意思
  7. Dubbo错误排查:com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout
  8. Oracle数据库之多行函数
  9. virtualbox硬件加速_VirtualBox 安装Ubuntu虚拟机卡顿 加速方法以及出现的问题
  10. python语言中整数1010的二进制表示_爱校码 - Python 语言基础二