机器学习鸢尾花类型分类【字数:10180】

摘 要本课题中,采用机器学习完成鸢尾花类型分类任务。机器学习是让计算机通过算法寻找数据间的规律,达到学习已知数据、预测未知数据的目标。机器学习鸢尾花类型分类问题,属于分类学习中的监督学习,本课题中的鸢尾花数据库由150组数据组成,每组数据包含了花萼长度、花萼宽度、花瓣长度、花瓣宽度四个输入变量和划分为三种不同类型的输出变量。通过这些数据建立学习模型,达到对未知的鸢尾花的类型进行准确分类的效果。在本课题中,通过Anaconda3软件,使用Python设计了代码,将已知数据中的70%用于建立模型,30%用于对模型预测准确性的检验,最终获得了预测正确率96.5%的学习模型。
目录
1 绪论 6
1.1 课题研究的背景 6
1.2 PYTHON语言简介 7
2 课题的方法选择 8
2.1 设计中的影响因素 8
2.2算法的选择 8
2.3 决策树算法原理 9
2.4 数据的来源 10
2.5软件选择 10
3 课题的代码设计 12
3.1预先准备 12
3.2 确定变量 19
3.3 将数据集分成训练集和验证集 21
3.4 特征缩放 22
3.5 创建学习模型 22
3.6模型预测 22
3.7用混淆矩阵评价学习结果 22
3.8绘制分类效果图 23
4 系统调试结果及分析 24
4.1软件调试 24
4.2最后调试结果 24
4.3 系统调试出现的问题 27
5 总结 28
5.1 课题总结 28
5.2系统中存在的不足和可改进之处 28
参 考 文 献 29
附录1 30
致谢 32
1 绪论
自诞生至今,机器学习已经走过了70多年的历程,随着人工智能的热度不断上升,机器学习已经是学界与业界研究与应用的一个热点和焦点。
本课题基于机器学习中的分类学习进行研究,对鸢尾花的数据类型进行分类。虽然只涉及机器学习这座庞然大物的一鳞半爪,但 *好棒文|www.hbsrm.com +Q: ^351916072# 
作为机器学习的入门研究,在了解机器学习的原理,初步掌握Python语言方面有着相当大的作用。
1.1 课题研究的背景
机器学习的发展史,最早可以追溯到上世纪50年代。当时,人工智能经历了最初的发展阶段:“推理期”。这个阶段中,机器被赋予了初步的逻辑推理能力,使得AI能够证明一些数学定理,但由于数据量的缺乏、计算方式的不完善,还远远称不上“智能”。70年代时,人工智能进入了“知识期”[3]:通过将人类的知识总结、归纳并传输给机器,机器获得了真正意义上的智能。在这个阶段,许多的专家系统问世,并且在很多领域取得成果。但由于知识总量过于庞大,机器无法完全存储,又缺乏自我学习的能力,人工智能的发展陷入了“知识工程瓶颈”中。
然而,无论是“推理期”或者“知识期”,机器都是通过人类设定的算法和归纳的数据进行运作,这使得机器永远无法超越人力,并且,还有着人力成本过高的问题。于是,一些学者就想让机器拥有自我学习的能力。机器学习(Machine Learning)在这样的条件下最终应运而生,人工智能也随之进入了“机器学习时期”。“机器学习时期”也被分成阶段:80年代,连接主义成为主流,代表作有感知机(Perceptron)和神经网络(Neural Network)。90年代,统计学习占据主导,机器学习最流行的方法为支持向量机(Support Vector Machine)[3]。进入21世纪后,随着深度神经网络被提出,连接主义再次成为机器学习的热门。因为数据量和运算能力的提升,以深度学习(Deep Learning)为基础的诸多AI日趋成熟。
到目前为止,机器学习是最接近人类思考模式的的智能学习方法和认知过程。通过借鉴人脑的多分层结构、神经元的连接交互、分布式稀疏存储和表征、信息的逐层分析处理机制,机器学习拥有了自适应、自学习的强大并行信息处理能力,在多方面取得了巨大的成果,在许多应用领域获得了成功[6]。2016年3月, AlphaGo 战胜了围棋世界冠军李世石,次年5月,它再次以悬殊比分战胜了围棋世界排名第一柯杰。而AlphaGo,正是谷歌公司以深度学习为基础开发的,这充分地展示出了机器学习的强大能力和巨大潜力。
1.2 Python语言简介
Python诞生于1989年,是一种面向对象的动态类型语言。最初诞生时,它主要被用于编写自动化脚本。后来,随着版本的不断更新和新功能的添加,Python越来越多地被用于各类大型项目的开发。Python也是机器学习中使用最频繁、最普遍的一种语言。
Python的创始人为荷兰人吉多范罗苏姆。他开发了这种语言,以此作为ABC 语言的继承。由于受到了Modula3的影响,又结合了Unix shell和C的编写习惯,Python展现出一种简洁明了的风格[7],这使得它成为了一门易读、易懂、易维护的语言,被大量的用户所欢迎且用途广泛。
因为Python语言的简洁明了以及可扩展性,在进行科学计算的机构中,Python被越来越多的使用。也因此,众多开源的计算软件也乐于提供相关的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库也日趋庞大,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速的数组处理、数值运算以及绘图功能。因此,靠着众多的扩展库构成的开发环境,Python变得十分适合处理数据、制作图表,甚至开发科学计算应用程序。在TIOBE开发语言 2018年 12月的排行榜中, Python语言的热门程度从之前的第四上升到了第三,创历史评价指标新高。
2 课题的方法选择
机器学习鸢尾花类型,属于有三大学习方式中的监督学习,即使用已知部分因变量的数据样本作为训练集,来建立一个数学模型,再用已建立的模型来预测未知样本。
本课题使用的方法,在两种有监督学习中,被称为分类学习,它的目标是寻找已知样本的特征并根据这些特征判断一个新样本属于哪种已知的样本类别。
2.1 设计中的影响因素
对本课题设计影响较大的元素总共有两个:
(1)算法的选择:分类学习中包含着相当多的算法,用于对各种类型、各种大小的数据文件进行学习,测试。不同的算法复杂程度、运行速度、对参量的要求、适用的场景各不相同,因此选择一个合适的算法对于本课题异常重要。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/603.html

好棒文