恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

04-KNN案例:手写数字识别

  • 首页
  • 资讯中心
  • /
  • 04-KNN案例:手写数字识别

相关资讯

大模型与提示词工程:核心概念与实战指南 2026/8/2 18:24:26
Windows账户锁定问题诊断与解决指南 2026/8/2 18:24:26
Unity构建报错MSB3774:找不到WindowsMobile SDK的四种解决方案 2026/8/2 18:24:27

最新资讯

ABAQUS二次开发实战:多面体骨料与纤维随机分布参数化建模指南
AI应用架构图:可执行的系统施工蓝图
多模型统一接入与治理:企业AI落地的关键中间层
30 seconds of code:JavaScript 递归函数的两种性能优化方案(记忆化与迭代)
SolidWorks高级配合之对称配合:从原理到实战,解决装配体镜像难题
OpenShell实战:终端AI编程助手的部署、配置与私有化落地

今日推荐

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单
YOLOv5 OBB旋转框训练实战:从DOTA数据准备到调参避坑全流程
Zeron 终端、Worktree 与 Diff 面板:像 IDE 一样查看并驱动你的代码变更

本周热门

MR25H40CDF + PIC18F65K40:工业记录仪高可靠存储实战
基于STM32的数控恒压恒流电源设计:从硬件到PID调参全解析
LT9211 MIPI重定时器原理与双路扇出实战指南

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

04-KNN案例:手写数字识别

发布时间:2026/10/5 0:45:18
04-KNN案例:手写数字识别 1. 需求分析从数万个手写图像的数据集中正确识别数字。2. 数据集说明MNISTModified National Institute of Standards and Technology是手写数字识别标准数据集由美国国家标准与技术研究院改造而来是深度学习入门最经典的图像分类数据集。任务目标灰度手写数字 0~9 十分类图像规格单通道灰度图尺寸28×28 像素像素取值0纯黑~255纯白代表笔画灰度2.1 数据来源2.1.1 TensorFlow/Kerasfrom tensorflow.keras.datasets import mnist (x_train, y_train), (x_test, y_test) mnist.load_data()2.1.2 PyTorchfrom torchvision import datasets train_set datasets.MNIST(root./data, trainTrue, downloadTrue) test_set datasets.MNIST(root./data, trainFalse, downloadTrue)2.1.3 sklearn 内置小 MNIST 简介规模仅 1797 张8×8 灰度手写数字不是原版 28×28结构特征 64 维标签 0-9用途传统机器学习SVM、逻辑回归、KNN快速测试不适合深度学习from sklearn.datasets import load_digits3. 建模这里用sklearn中的小MNIST数据集训练速度快一点原理是一样的。3.1 加载包import joblib import numpy as np from sklearn.datasets import load_digits import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split, GridSearchCV from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import accuracy_score from PIL import Image3.2 获取数据# 1. 加载数据 digits load_digits() x digits.data # 特征矩阵(1797, 64)1797张图每张8×864像素展平 y digits.target # 标签0-9数字 images digits.images # 原始8×8图像数组 print(x.shape) # (1797, 64) print(images.shape) # (1797, 8, 8) # 2. 可视化1张图片 plt.imshow(images[0], cmapgray) plt.title(f数字{y[0]}) plt.axis(off) plt.show()3.3 数据预处理缺失值、异常值处理这里不用归一化因为知道像素区间范围是[0,255]划分数据集# 归一化 x x / 255 # 划分数据集stratify: 按照y的类别比例进行分割 x_train, x_test, y_train, y_test train_test_split(x, y, test_size0.2, stratifyy, random_state21)3.4 特征工程3.4.1 特征提取这里不用3.4.2 特征预处理消除量纲动作归一化已经前置这里不用做3.5 模型训练网格搜索交叉验证这里用5折交叉验证# 创建模型对象 estimator KNeighborsClassifier() # 网格搜索交叉验证 param_dict {n_neighbors: [1,3,5,7,9]} # 超参数字典, 超参可能出现的值 estimator GridSearchCV(estimator, param_gridparam_dict, cv5) # 创建GridSearchCV模型对象 estimator.fit(x_train, y_train) # 交叉验证前的模型训练 print(f最优评分为{estimator.best_score_}) print(f最优超参组合为{estimator.best_params_}) print(f最优的估计器对象为{estimator.best_estimator_}) print(f具体的交叉验证结果为{estimator.cv_results_})3.6 模型评估# 1获取最优超参的模型对象 estimator estimator.best_estimator_ # 根据需要选择 # 2模型训练 estimator.fit(x_train, y_train) # 3模型预测 y_pre estimator.predict(x_test) # 4模型评估 print(f准确率{accuracy_score(y_test, y_pre)})3.7 模型保存joblib.dump(estimator, model/knn.pkl) # 保存路径可替换3.8 模型预测需要准备1张8*8的图片底色为黑色数字为白色因为数据集过于简单预测结果可能不准这里对28*28做了像素和灰度转换图片已经失真但仍然以下列方式预测原理不变示例图片# 1. 读取图片 img Image.open(image.png) # 展示原始图片 # plt.imshow(img, cmapgray) # plt.axis(off) # 关闭坐标轴 # plt.show() # 2. 像素灰度转换 # 灰度转换 gray_img img.convert(L) # 转为灰度图 L模式单通道灰度 # 像素转换 new_size (8, 8) # 自定义像素大小 resized_gray gray_img.resize(new_size) # 展示像素灰度转换后的图片 # plt.imshow(resized_gray, cmapgray) # plt.axis(off) # 关闭坐标轴 # plt.show() # 3. 数据结构转换 # 灰度图转为数组 img_array np.array(resized_gray) img_model img_array.reshape(1, -1) # 形状从: (8, 8) (1, 64) # 归一化 img_model img_model / 255 # 4. 加载模型 estimator joblib.load(model.pkl) # 5. 预测 y_pre estimator.predict(img_model) print(f该图片的数字是: {y_pre})附件

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号