Py学习  »  Python

使用Python预处理机器学习需要的手写体数字图像文件数据集

Python小屋 • 4 年前 • 301 次点击  

封面图片:《Python程序设计实验指导书》,董付国,清华大学出版社

=============

问题描述:为演示机器学习算法对手写体数字识别与分类,需要准备大量数据,如果自己写的话需要很长时间,于是找很多同学帮忙,每位同学提供30张图片,每个图片包含一个数字的手写体,分别命名为0_1.png、0_2.png、0_3.png、1_1.png、1_2.png、1_3.png、...

一般来说,拿到的数据集都是无法直接使用的,这个数据集也不例外。真正作为机器学习数据集的话,需要对这些文件进行预处理,所有图片文件统一命名(虽然这并不是必须的)为0.jpg、1.jpg、2.jpg、3.jpg...同时应提供每个图片中数字对应的标签,也就是图片文件中实际包含的数字。

同学们提交的文件使用董付国老师开发的课堂管理系统统一收集(选用董付国老师系列Python教材的老师可以免费获取软件源码,既可以上课用,也可以作为教学案例),当然也可以通过其他途径收集,该软件教师端界面如下:


收集后文件夹结构如图所示:


下面代码要解决的任务是:遍历所有png图片文件,将其按顺序编号复制到datasets文件夹并改名为jpg文件,同时根据文件名第一个字符获取该图片中实际包含的数字并写入文件digits.txt。

使用广度优先遍历目录树预处理数据集的参考代码:


代码运行后得到统一命名的图片文件,可以发现有同学故意捣乱啊,但这恰好反映了数据预处理的重要性:



生成的标签文件digits.txt中部分内容:



温馨提示

关注本公众号“Python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的800篇技术文章列表(可根据关键字在页面上搜索感兴趣的文章),通过“最新资源”==>“微课专区”可以免费观看300节Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。


--------董付国老师Python系列图书--------

友情提示:不建议购买太多,最好先通过京东、当当、天猫查阅图书了解目录和侧重点,然后再选择购买适合自己的书。

1)《Python程序设计(第2版)》清华大学出版社,2016年8月


2)《Python可以这样学》清华大学出版社,2017年2月


3)《Python程序设计基础(第2版)》清华大学出版社,2018年1月

4)《中学生可以这样学Python》清华大学出版社,配套微课:《中学生可以这样学Python》84节微课免费观看地址


5)《Python程序设计开发宝典》清华大学出版社,2018年10月


6)《玩转Python轻松过二级》清华大学出版社,2018年5月


7)《Python程序设计基础与应用》机械工业出版社,2018年9月


8)《Python程序设计实验指导书》清华大学出版社,2019年4月


9)《Python编程基础与案例集锦(中学版)》电子工业出版社,2019年4月

10)《大数据的Python基础》机械工业出版社,预计2019年5月出版

11)译作《Python程序设计》,机械工业出版社(华章),2018年11月出版

12)繁体版《Python也可以这样学》,台湾博硕文化股份有限公司,2017年10月出版,本书为《Python可以这样学》在台湾发行的繁体版,两本书内容一样,不建议重复购买


《中学生可以这样学Python》84节微课免费观看地址

非计算机专业《Python程序设计基础》教学参考大纲

计算机相关专业“Python程序设计”教学大纲(参考)

《Python程序设计》实验指导书(30个实验)

《Python程序设计基础与应用》课后习题答案

Python课程期末考试编程题自动批卷原理与实现模板

“Python小屋”免费资源汇总(截至2018年11月28日)

Python课堂上我与学生斗智斗勇已8个学期

技术要点|Python监控学生端电脑屏幕自动识别学习状态


课后习题答案

《Python程序设计基础(第2版)》习题答案

《Python程序设计基础与应用》课后习题答案


实验指导书

《Python程序设计》实验指导书(30个实验)

Python实验项目1例:使用进程池统计指定范围内素数的个数


教学大纲

非计算机专业《Python程序设计基础》教学参考大纲

计算机相关专业“Python程序设计”教学大纲(参考)


课件

1900页Python系列PPT分享一:基础知识(106页)

1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)

1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)

1900页Python系列PPT分享四:字符串与正则表达式(109页)

1900页Python系列PPT分享五:函数设计与应用(134页)

1900页Python系列PPT分享六:面向对象程序设计(86页)

1900页Python系列PPT分享七:文件操作(132页)

1900页Python系列PPT分享八:异常处理结构与程序调试、测试(70页)

2000页Python系列PPT分享九:(GUI编程)(122页)


报告PPT

报告PPT(163页):基于Python语言的课程群建设探讨与实践

报告PPT(123页):Python编程基础精要

(PPT)Python程序设计课程教学内容组织与教学方法实践


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34241
 
301 次点击