(实战篇)用Python识别手写数字

yizhihongxing

我们使用 Scikit-learn 库实现一个简单的深度学习训练示例,训练目标为:识别手写数字。

以下是实现手写数字识别的完整示例代码:


from sklearn import datasets
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt

# 加载手写数字数据集
digits = datasets.load_digits()

# 获取特征值和目标值
X = digits.data
y = digits.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 训练SVM分类器
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)

# 预测测试集数据
y_pred = clf.predict(X_test)

# 计算分类准确率
accuracy = accuracy_score(y_test, y_pred)
print("分类准确率:", accuracy)

# 随机显示10个测试集数据和其预测结果
fig, axes = plt.subplots(nrows=2, ncols=5, figsize=(10, 4))
for i, ax in enumerate(axes.flat):
    ax.imshow(X_test[i].reshape(8, 8), cmap=plt.cm.gray_r, interpolation='nearest')
    ax.set_title("like:{}".format(y_pred[i]))
    ax.set_xticks([])
    ax.set_yticks([])
plt.show()

以上对手写数字进行分类的整个代码逻辑如下:

  1. 第一步,我们加载了手写数字数据集,其中包含8x8像素的数字图像,共计 1797 个样本。
  2. 然后,我们将数据集划分为训练集测试集,训练集用来让SVM分类器进行训练;测试集是对训练的结果进行预测。然后计算出分类的准确率,并输出。
  3. 最后,我们会随机选取10个测试集数据,显示其图像和预测结果。

输出的预测结果:

(实战篇)用Python识别手写数字

需要注意的是,手写数字识别是一个比较复杂的问题,需要对图像进行预处理、特征提取等一系列操作。上述示例中没有进行这些操作,仅仅是对原始像素数据进行分类。在实际应用中,需要根据具体情况进行调整和优化。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:(实战篇)用Python识别手写数字 - Python技术站

(0)
上一篇 2023年2月12日 下午9:04
下一篇 2023年4月9日 下午10:04

相关文章

  • Ubuntu上用caffe的SSD方法训练Pascal VOC数据集

    实验目的 继caffe和ssd搭建完成,demo也演示完毕,了解一些基本知识后,现在开始训练自己的数据集,在给自己的训练集处理之前,先跟着官方的示例将Pascal VOC数据集训练走一遍,把可能会踩坑的地方先踩过去,积累点经验。 实验环境 训练平台:NVIDIA K80 预测平台:NVIDIA TX1 语言        :C++,Python 框架    …

    2023年4月8日
    00
  • pytorch conditional GAN 调试笔记

    推荐的几个开源实现 znxlwm 使用InfoGAN的结构,卷积反卷积 eriklindernoren 把mnist转成1维,label用了embedding wiseodd 直接从tensorflow代码转换过来的,数据集居然还用tf的数据集。。 Yangyangii 转1维向量,全连接 FangYang970206 提供了多标签作为条件的实现思路 znx…

    2023年4月8日
    00
  • 【483】Keras 中 LSTM 与 BiLSTM 语法

    参考:Keras-递归层Recurrent官方说明 参考:Keras-Bidirectional包装器官方说明 LSTM(units=32, input_shape=(10, 64)) units=32:输出神经元个数 input_shape=(10, 64):输入数据形状,10 代表时间序列的长度,64 代表每个时间序列数据的维度 LSTM(units=3…

    Keras 2023年4月7日
    00
  • 机器学习之Anaconda介绍

    最受欢迎的Python / R数据科学发行版 轻松安装1,400多个Python / R数据科学包并管理您的包,依赖项和 环境 – 只需单击一下按钮即可。免费和开源。 ​ 数据科学图书馆 Anaconda数据科学图书馆 超过1,400个Anaconda策划和社区数据科学包 使用您喜欢的IDE开发数据科学项目,包括Jupyter,JupyterLab,Spyd…

    机器学习 2023年4月12日
    00
  • Keras开发一个神经网络

    关于Keras:Keras是一个高级神经网络API,用Python编写,能够在TensorFlow,CNTK或Theano之上运行。 使用一下命令安装: pip install keras 在Keras实施深度学习的步骤 加载数据。 定义模型。 编译模型。 拟合模型。 评估模型。   使用Dense类描述完全连接的层。 我们可以指定层中神经元的数量作为第一个…

    2023年4月8日
    00
  • 什么是循环神经网络 RNN (Recurrent Neural Network)

    学习资料: Tensorflow RNN 例子1 Tensorflow RNN 例子2 Tensorflow RNN 例子3 PyTorch RNN 例子1 PyTorch RNN 例子2 Keras 快速搭建 RNN 1 Keras 快速搭建 RNN 2 RNN 作曲 链接 今天我们会来聊聊在语言分析, 序列化数据中穿梭自如的循环神经网络 RNN. RNN…

    2023年4月6日
    00
  • (五) Keras Adam优化器以及CNN应用于手写识别

    视频学习来源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 笔记 Adam,常用优化器之一 大多数情况下,adma速度较快,达到较优值迭代周期较少, 一般比SGD效果好 CNN应用于手写识别 import numpy as np from…

    Keras 2023年4月8日
    00
  • 循环神经网络(RNN) 基础讲解

    点击打开链接 7.循环神经网络(RNN) 基础 7.1 RNN(recurrent neural network)原理 7.1.1 RNN为序列数据而生 词序其实是很重要的 中文中,这样的例子也很多。“怎么样投资白银”vs“白银投资怎么样”;“北京到上海的机票”vs“上海到北京的机票”。 设计RNNs的目的,就是处理序列数据。 在传统的神经网络模型中,是从输…

    2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部