R语言应用KNN、朴素贝叶斯、SVM实现手写数字识别

devtools/2025/2/6 8:08:48/

R语言应用KNN、朴素贝叶斯、SVM实现手写数字识别

使用Rstudio完成,下载本文绑定资源即可开始实验

一、The MNIST Dataset

在本研究中,我们将研究机器学习中最著名的数据集之一——MNIST(改进型国家标准与技术研究院)数据库。完整数据集包含70,000张0到9的手写数字训练图像。但我们将仅使用其中1,500张的样本。以下代码将加载MNIST数据集:

# Load the dataset 
# 加载时注意路径是否正确,注意使用相对路径要求在同一目录下,可以使用print(getwd())查看当前工作路径,下同
load("digit_img.RData")

我们还将加载一些辅助函数以便处理该数据集:

source("digit_utils.R")

现在workspace中包含一个名为digit_img的变量

digit_img是一个256×1500的矩阵,其中第一维度是展开的"空间"(即手写数字图像为16×16=256的像素阵列),第二维度是1,500张图像(也就是说一共有1500张图片,每张图片是16*16=256的像素阵列)我们将前1,000张作为训练数据,后500张作为测试数据:

# Get training data
training_data <- t(digit_img[, 1:1000])# Get testing data
testing_data <- t(digit_img[, 1001:1500])

为帮助理解数据,我们提供了display_digit函数。例如,查看前100张数字:

display_digit(digit_img[,1:100])

image-20250204190243889

变量digit_lab是一个长度为1,500的标签向量,表示数字的真实类别(1到9,10代表"零",我们将在下方转换):

# Load the labels
load("digit_lab.RData")# Replace elements equal to 10 with 0 (it's easier to view this way)
digit_lab[digit_lab == 10] <- 0

可通过display_digit函数同时查看图像和标签:


http://www.ppmy.cn/devtools/156486.html

相关文章

TensorFlow是个啥玩意?

TensorFlow是一个开源的机器学习框架&#xff0c;由Google开发。它可以帮助开发者构建和训练各种机器学习模型&#xff0c;包括神经网络和深度学习模型。TensorFlow的设计理念是使用数据流图来表示计算过程&#xff0c;其中节点表示数学运算&#xff0c;边表示数据流动。 Tens…

【学术投稿-2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)】从计算机基础到HTML开发:Web开发的第一步

会议官网&#xff1a;www.acvra.org 简介 2025年计算机视觉研究进展与应用&#xff08;ACVRA 2025&#xff09;将于2025年2月28-3月2日在中国广州召开&#xff0c;将汇聚世界各地的顶尖学者、研究人员和行业专家&#xff0c;聚焦计算机视觉领域的最新研究动态与应用成就。本次…

【PyQt】lambda函数,实现动态传递参数

为什么需要 lambda&#xff1f; 在 PyQt5 中&#xff0c;clicked 信号默认会传递一个布尔值&#xff08;表示按钮是否被选中&#xff09;。如果我们希望将按钮的文本内容传递给槽函数&#xff0c;需要通过 lambda 函数显式传递参数。 这样可以实现将按钮内容传递给槽函数&…

vs 编译错误 error C4996

编译出错&#xff1a;error C4996: Json::Reader::Reader: Use CharReader and CharReaderBuilder instead : 参见“Json::Reader::Reader”的声明 新版本已经标志Json::Reader::Reader为废弃接口&#xff0c;编译情况下可能会出错提示&#xff0c;根据编译器的不同&#xff…

e2studio开发RA2E1(7)----定时器GPT输出PWM

e2studio开发RA2E1.7--定时器GPT输出PWM 概述视频教学样品申请硬件准备参考程序源码下载选择计时器新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置GPIO口配置GPT定时器GPT定时器属性配置初始化GPT启动GPT PWM模块演示 概述 GPT&#xff08;通用 PWM 计时器&#x…

Ruby 类和对象

Ruby 类和对象 引言 在软件开发中,类和对象是面向对象编程(OOP)的核心概念。Ruby 作为一种动态、解释型编程语言,也以简洁的方式支持面向对象编程。本文将深入探讨 Ruby 中的类和对象,包括它们的定义、创建、使用以及一些高级特性。 类与对象的定义 类 在 Ruby 中,类…

第五期:智能投顾的监管套利艺术 - 基金投顾牌照下的理财破局之道

一、牌照狩猎时代的生存法则 1.1 基金投顾牌照的战略纵深 牌照权限解剖(证监会2024版): 1. 允许代客户作出投资决策(需保存完整决策日志) 2. 收费模式突破:可采用按资产规模收费(0.5%-1.8%/年) 3. 产品池限制:须从持牌机构白名单选取(目前涵盖136家公募基金)…

OpenAI 实战进阶教程 - 第四节: 结合 Web 服务:构建 Flask API 网关

目标 学习将 OpenAI 接入 Web 应用&#xff0c;构建交互式 API 网关理解 Flask 框架的基本用法实现 GPT 模型的 API 集成并返回结果 内容与实操 一、环境准备 安装必要依赖&#xff1a; 打开终端或命令行&#xff0c;执行以下命令安装 Flask 和 OpenAI SDK&#xff1a; pip i…