版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、初中信息技术Python【机器学习识数字】如同蒸汽时代的蒸汽机、电气时代的发电机、信息时代的计算机和互联网,当前 我们所处的时代为人工智能的时代,提起人工智能就不得不提机器学习,人工智能、 机器学习、深度学习、大数据,这些名词是近年来提及最多的,想不想体验下机 器学习呢?作为机器学习领域冉冉升起的新星Python ,是初学者实现机器学习的 首选,那么什么是机器学习?用Python如何编写机器程序?接下来让开启我们的机器 学习之旅吧!通过本章的学习,你将掌握以下技能:*明确机器学习的概念*编写程序识别数字专题一:机器学习初相识什么是机器学习?智能手机上的Siri个人智能助理、浏览器的新闻智能推荐
2、、购物 网站的好物推荐、常用的百度翻译、微信小程序识花君这些存在于我们生活中的 应用中都有机器学习的身影,所以机器学习并不遥远,它就在我们身边。什么是机器学习?机器学习是一类算法的总称,这些算法试图从大量历史数据中挖掘出其中隐含的 规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,该函 数的输入是样本数据,输出的是期望的结果。其实,机器学习的核心是使用算法解析 数据并从中学习,然后对其他的输入数据做出决定或预测。机器学习是人工智能的核 心,是使计算机具有智能的根本途径。最早的机器学习算法可以追溯到20世纪初,到今天为止已经过去了 100多年,经 过一代又一代人的努力,诞生出
3、了大量经典的方法。大致来说,机器学习算法按照学拓展阅读人工智能、机器学习和深度学习你是否也有这样的疑惑:人工智能、机器学习、深度学习这三个名词之间到底有什么样的联系与区别?简单来说,这三者呈现出同心圆关系,如下列图所示:!同心圆的最外层是人工智能,人工智能”一词最初于1956年的特茅斯会议:上提出,从提出概念到现在,先后出现过许多种实现思路和算法,人工智能是内涵:十分广泛的科学,它由不同的领域组成,如机器学习、计算机视觉等等。!同心圆的中间层是机器学习,属于人工智能的一个子集,机器学习是一种数据!分析方法,互联网的许多推荐算法、相关性排名算法,所依托的基础就是机器学:习。I同心圆的最内层是深度
4、学习,是机器学习中一种基于对数据进行表征学习的方I巩固与提高1、影响机器学习模型预测效果的关键因素是()A、算法B、数据集C、测试数据D、计算机的性能2、通过编写识别数字程序,你觉得K-NN算法属于()A、有监督学习B、无监督学习D、强化学习C、半监督学习习方式分类可分为有监督学习、无监督学习、半监督学习和强化学习。其中,有监督 学习是机器学习算法中最为庞大的家族,诞生出了很多经典的机器学习算法,比方基 于模板匹配思想的k-NN算法,因其简单、有效的学习效果,至今仍在被使用。基于大数据的机器学习为我们的生活带了许多便利,正因为机器学习提供多种工 具可以利用数据来解决简单规那么不能或者难以解决的
5、问题,它被广泛应用在了搜索引 擎、无人驾驶、机器翻译、医疗诊断、垃圾邮件过滤、玩游戏、人脸识别、数据匹配、 信用评级和给图片加滤镜等任务中。无人驾驶垃圾信息过滤机器学习的过程为了进一步了解机器学习的过程,我们可以先假设这样一个需求:建立一个能够 识别手写数字的识别系统。我们要建立的这一识别系统被称为模型,而此模型的 建立过程被称为训练,训练的目的是创立出一个在绝大多数情况下能正确识别数 字图片的精准模型。那么我们要如何完成这个需求?简单的说,我们需要经历的过程有数据、机器学习建立模型、输入图片预测 数字,具体如下列图所示:待识别图片数字图片集机器学习特征模型识别结果1、数据。找到尽可能多的手写
6、0-9数字图片作为机器学习的样本,在这一阶 段我们还需要对数据进行预处理,比方对图片进行归一化处理,以方便学习算法学习, 提高机器学习算法的学习效果;2、机器学习。将之前的数据集分为训练集和测试集,随后选择机器学习算法 对训练集中的图片提取特征值,将提取出的特征通过训练形成特征模型,并用测试集 的图片检验特征模型的识别效果;3、预测结果。将待识别的数字图片输入建立的特征模型并输出识别结果。从以上过程中可以得知,最初的数据集决定了机器学习效果的上界,因此数 据集对于整个机器学习工程至关重要。通常来说,数据集越大越详细,机器学习的效 果越好。专题二:编写程序识别数字在编写程序识别数字时,我们需要准
7、备数据集以及选择恰当的机器学习算法, Python中为我们提供了丰富的机器学习库,本例中我们借助scikit-learn库编写数字识 别程序。2.1 scikit-learn 库首先点击海龟编辑器中的库管理,在弹出的库管理界面选择人工智能,找到scikit- learn库,点击安装即可。恭我爬虫数据处理图表数学计算图像处理人-L色再匕sokit-unage是基于scipy的一款图像处理包,它将图片作为nump、数组进行 处理,实现了丰富多样的图像处理算法。人工智能已安装已安装scikiMearn界面界面0m 8ab76am是机器学习领域的常用开源库。我们可以使用5c面库中的 机器学习算法接口,
8、简单高效地进行数据挖墀和数据分析。EasyguiEasygui是常见的GUI (Graphics User Interface,用户图形界面)库,我们可Python中的scikit-learn库整合了多种机器学习算法并提供了一些用于训练的数据 集,这对我们初学者来说是非常便利的。scikit-learn最初来是由David Cournapeau在 2007年开始开发的,目前scikit-learn已经开展为一个由INRIA、Google、Tinyclues和 Python Software Foundation赞助的工程,长期活跃的贡献者有30多人。既然scikit- learn库中有现成的数
9、据集,那么要如何获取呢?#s cikit-learn 数据集from sklearn.datasets import load_digitsdigits=load_digits()print(digits.keys()控制台dict_keys(* data *, * target *, * frame *, * feature_names1, * target_names *, * images *, * DESCR*) 程序运行结束程序中先将scikit-learn库导入到Python中来,随后执行load_digits()创立了数据集 对象digits , digits和字典型数据很相似,
10、包含了很多键值,其中data是输入数据即图 片数据、target是输出数据即图片对应的数字、images是具体的图片、DESCR描述了 数据集的整体信息。通过digits_keys()可以打印digits数据集包含的所有键值,为了了 解digits数据集的具体信息,执行print(digitsDESCR)打印输出数据集的整体信息, 控制台输出如下列图所示:._digits_dataset:Optical recognition of handwritten digits datasetData Set Characteristics:*:Number of Instances: 5620:Nu
11、mber of Attributes: 64:Attribute Information: 8x8 image of integer pixels in the range 0.16.:Missing Attribute Values: None:Creator: E. Alpaydin (alpaydin ):Date: July; 1998从输出中我们可以明确:scikit-learn库中的数字图片样本有5620张,那么这些图片长什么样呢?# scikit-learn数据集from sklearn.datasets import load_digitsimport matplotlib.p
12、yplot as pitdigits = load_digits()for i in range(10):pit.subplot(2) 5, i+1)#不显示坐标轴pit.axis(off)pit . imshow(digits.imagesi)pit.title(标签:.format(digits.targeti)pit.rcParamsont.sans-serif1 = SimHeipit.show()标签:0标签:1 标签:2 标签:3 标签:4标签:0标签:1 标签:2 标签:3 标签:41Figure 1标签:5 标签:6 标签:7 标签:8 标签:9同吗备*|圭0图画程序中通过fo
13、r循环遍历并展示了 digits数据集的前10张图片,在展示图片时,借 助了 Matplotlib中的pyplot将图片依次展示,为了方便我们观察图片的输出数据,程序 中为每一张数字图片添加了标签,标签的值就是digits数据集图片所对应的输出数字。.2编写程序识别数字有了数据集后,我们就可以编写识别数字的程序了。第一步:划分数据集。我们需要将digits数据集中的图片人为划分成用于建立模型 的训练集和测试模型准确性的测试集。在划分时,一般训练集占比在70%-90%的范围 比拟合理。digits = load_digits()len_samples = len(digits.data)#褊入数
14、据和输出数据分为训练集和测试集x_train = digits.data:int(0.75*len_samples)x_test = digits.dataint(0.75*len_samples):ystrain = digits.target:int(0.75*len_samples)y_test = digits.targetint(0.75*len_samples):程序中,我们人为的将数据集分为了训练集和测试集,其中训练集占输入数据和 输出数据的75% ,测试集占数据数据和输出数据的25%。第二步:使用k-NN算法训练数据,建立模型。k-NN算法又称为k近邻算法,是 一种使用距离表示
15、相似度的算法,也就是说两个样本的距离越近那么他们就越有可能 属于同一个类别,一句话描述就是近朱者赤、近墨者黑,未分类的样本K周边哪 一类样本多,那么该样本就属于哪一个分类。#机器识别识数字from sklearn.datasets import load_digitsimport matplotlib.pyplot as pit56785678from sklearn.neighbors import KNeighborsClassifierdigits = load_digits() len_samples = len(digits.data)# 褊入数据和输出数据分为训练集和测试集x_tr
16、ain = digits.data:int(0.75*len_samples)x_test = digits.dataint(0.75*len_samples):ystrain = digits.target:int(0.75*len_samples)y_test = digits.targetint(0.75*len_samples):#使用KNN算法建立模型knn=KNeighborsClassifier(n_neighbors=l)knn.fit(x_train4y_train)要调用k-NN算法的函数,我们需要先从scikit-learn库中导入k-NN算法,随后我 们调用KNeigh
17、borsClassifier。创立了对象knn f其中KNeighborsClassifier。的参数n_neighbors表示的是对分类结果有影响的最近邻居 的个数,程序中的取值为1;随后借助fit。对测试集的输入数据和输出数据进行训练并 建立模型。第三步:使用测试集检测模型的准确性,并输出预测结果。在建立好模型后,我 们需要对模型的预测情况做检测,通过输入测试集的输入数据进行准确率的计算。#进行预测pred=knn.predict(x_test)print(测试集的预测结果:n.fomat(pred)print(测试集的准确性为:.3f二format(knn.score(x_test,y_
18、test)控制台测试集的预测结果:3 7 3 34 3 14466649150536961717632579546 7 19 0846665369634567227824631317 4 8 8 49 5 59 9 1 17 58 9 0 0 129 174 9 0 8 9 8 测试集的准确性为6 3 139 0 9 96 5 0 95 0 9 54 4 7 212 5 46 3 8 76 8 4 50.9620 9 6 25 4 4 79 0 10 12 617 68 0 128 5 8 42 8 0 12 5 7 35 6 7 83 3 4 614 0 58 2 0 02 8 2 23 4
19、 53 7 38 4 3 13 4 5 617 7 37 6 3 25 9 4 59 0 9 56 6 4 93 6 9 6156 34751 051 17 77 401 1786576 3 2 9 5 48 9 0 6 6 65 3 6 9 0 1 0 0 29 6 3 9 8 05 0 9 0 9 55 4 41 7854 99 62 32 71 91 28 92 87 24 6 39 06 515 017 54 5 62 0173 4 58 4 12 0 08 2 21 300 954 49 01 26 8771 75 79 11 28 92 87 21 26 34 38 93 56 39 57 6 8 3 4 58 4 1 2 0 08 2 2 3 4 57 7 14 0 0 1210 0 2 178 1程序中调用predict。对建立的模型进行了预测,并将预测的结果赋值给了变量pred , 随后将测试集的所有测试结果打印输出。为了明确预测的准确性,我们调用了 score() 对模型进行了准确性评估,即计算模型的预测准确率,scor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外研八下英语Unit 4 Starting out-Understanding ideas《合作探究二》课件
- 人教 八年级 语文 下册 第1单元《1.社戏 第2课时》课件
- 2026年外包油漆合同(1篇)
- 2025 高中信息技术数据结构在社交网络社群发现与演化分析课件
- 2026年买车抵押合同(1篇)
- 矿山智能频率表项目可行性研究报告
- 2026届浙江宁波十校高三下学期二模历史试题+答案
- 心包疾病的诊断和处理
- 2026届浙江宁波十校高三下学期二模物理试题+答案
- 四川省宜宾市普通高中2023级第二次诊断性测试语文+答案
- 二方审核管理办法
- 工厂能耗管理办法
- 2025年城市燃气项目立项申请报告模板
- 北京政务云管理办法
- 残疾等级评定培训课件
- 瑜伽康复墙培训课件
- 学堂在线 雨课堂 学堂云 工程伦理2.0 章节测试答案
- 2025年高中生物学知识竞赛试题及答案
- T/CIE 115-2021电子元器件失效机理、模式及影响分析(FMMEA)通用方法和程序
- 《水遇冷以后》说课(附反思板书)(课件)四年级下册科学苏教版
- 2025年衡阳市商品房买卖合同(正式版本)
评论
0/150
提交评论