python项目练习——4.手写数字识别

使用Python和Scikit-learn库进行机器学习模型训练的项目------手写数字识别。

项目分析:

  1. 数据准备:使用公开数据集(如MNIST)作为训练和测试数据。
  2. 数据预处理:对图像数据进行归一化、展平等操作,以便输入到机器学习模型中。
  3. 模型选择:选择一个适合的机器学习模型,如支持向量机(SVM)、随机森林或神经网络(如多层感知机MLP)。
  4. 模型训练:使用训练数据对模型进行训练。
  5. 模型评估:使用测试数据对训练好的模型进行评估,计算准确率等指标。

首先,确保您已经安装了scikit-learn和numpy库。如果没有安装,可以通过pip进行安装:

pip install scikit-learn numpy

编写代码:

import numpy as np

from sklearn import datasets, svm, metrics

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler

from sklearn.neural_network import MLPClassifier

1. 数据准备

加载MNIST数据集

digits = datasets.load_digits()

2. 数据预处理

将图像数据展平为一维数组

n_samples = len(digits.images)

data = digits.images.reshape((n_samples, -1))

划分训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(data, digits.target, test_size=0.5, shuffle=False)

数据标准化

scaler = StandardScaler()

X_train = scaler.fit_transform(X_train)

X_test = scaler.transform(X_test)

3. 模型选择

使用多层感知机(MLP)作为分类器

mlp = MLPClassifier(hidden_layer_sizes=(50,), max_iter=10, alpha=1e-4,

solver='sgd', verbose=10, random_state=1,

learning_rate_init=.1)

4. 模型训练

mlp.fit(X_train, y_train)

5. 模型评估

预测测试集结果

predictions = mlp.predict(X_test)

计算准确率

print("Classification report for classifier %s:\n%s\n"

% (mlp, metrics.classification_report(y_test, predictions)))

print("Confusion matrix:\n%s" % metrics.confusion_matrix(y_test, predictions))

相关推荐
冷雨夜中漫步7 小时前
Python快速入门(6)——for/if/while语句
开发语言·经验分享·笔记·python
郝学胜-神的一滴8 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
百锦再8 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
盐焗西兰花9 小时前
鸿蒙学习实战之路-Reader Kit修改翻页方式字体大小及行间距最佳实践
学习·华为·harmonyos
QiZhang | UESTC9 小时前
学习日记day76
学习
久邦科技9 小时前
20个免费电子书下载网站,实现电子书自由(2025持续更新)
学习
m0_736919109 小时前
C++代码风格检查工具
开发语言·c++·算法
喵手9 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934739 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
Gain_chance9 小时前
34-学习笔记尚硅谷数仓搭建-DWS层最近一日汇总表建表语句汇总
数据仓库·hive·笔记·学习·datagrip