机器学习与数据挖掘

978-7-115-62563-2
作者: 王璐烽唐腾健
译者:
编辑: 秦健

图书目录:

详情

本书以项目实践作为主线,结合必需的理论知识,以任务的形式进行内容设计,每个任务都包含任务描述及任务实施的步骤,读者按照实施步骤进行操作就可以完成相应的学习任务,从而不断提升项目实践能力。本书主要内容涉及机器学习的基础知识,模型评估与选择,回归、分类、聚类等机器学习算法,数据挖掘的基础知识,数据分析与应用,以及通过用户行为分析预测项目学习如何将机器学习与数据挖掘应用到实际中。 本书适合使用机器学习与数据挖掘技术进行大数据处理的程序员、架构师和产品经理作为技术参考和培训资料,也可作为高校本科生和研究生的教材。

图书摘要

版权信息

书名:机器学习与数据挖掘

ISBN:978-7-115-62563-2

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

主  编 王璐烽 唐腾健

副 主 编 何 静 李金珂 吕心怡

责任编辑 秦 健

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内容提要

本书以项目实践作为主线,结合必需的理论知识,以任务的形式进行内容设计,每个任务都包含任务描述及任务实施的步骤,读者按照实施步骤进行操作就可以完成相应的学习任务,从而不断提升项目实践能力。本书主要内容涉及机器学习的基础知识,模型评估与选择,回归、分类、聚类等机器学习算法,数据挖掘的基础知识,数据分析与应用,以及通过用户行为分析预测项目学习如何将机器学习与数据挖掘应用到实际中。

本书适合使用机器学习与数据挖掘技术进行大数据处理的程序员、架构师和产品经理作为技术参考和培训资料,也可作为高校本科生和研究生的教材。

前  言

写作背景

中国特色社会主义进入新时代,实现中华民族伟大复兴的中国梦开启新征程。党中央决定实施国家大数据战略,吹响了加快发展数字经济、建设数字中国的号角。2017年12月8日,习近平总书记在十九届中共中央政治局第二次集体学习时的重要讲话中指出“大数据是信息化发展的新阶段”,并做出了“推动大数据技术产业创新发展、构建以数据为关键要素的数字经济、运用大数据提升国家治理现代化水平、运用大数据促进保障和改善民生、切实保障国家数据安全”的战略部署,为我国构筑大数据时代国家综合竞争新优势指明了方向。

党的二十大报告指出,“深入实施科教兴国战略、人才强国战略、创新驱动发展战略,开辟发展新领域新赛道,不断塑造发展新动能新优势”。数据挖掘学科是对计算机领域的补充,和计算机领域一起迅速发展,并越来越受到人们的重视。在国家的大力促进下,数据挖掘学科不断发展,取得了阶段性的成就。随着计算机的发展与数据量的增加,对数据的处理技术如生成、收集、存储等的要求越来越高,因此,新型数据挖掘技术必将出现并替代传统落后的数据处理技术。

机器学习是人工智能的一个子集。它用计算机和算法从“数据”中学习并发现“模式和洞察”。在许多情况下,“模式和洞察”就隐藏在“数据”中。随着时代的发展,人类想要理解业务流程中积累的数据可能非常困难。然而算法却能够比人更快、更准确地从数据中发掘“模式和洞察”。近年来随着数据可用性,以及计算机算力和新算法的快速发展,机器学习已逐渐成为实现人工智能的关键方法之一。机器学习的过程本质上是非常简单的,即找到模式与应用模式。机器学习为我们今天使用的许多服务提供了驱动力,如优酷、淘宝、今日头条的推荐系统,百度和必应等搜索引擎,微博和微信这样的社交媒体,Siri和天猫精灵这样的语音助理等。

数据挖掘是指对大量数据集进行分类的自动化过程,并通过数据分析来识别趋势和模式,建立关系以解决业务问题。换句话说,数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含的、人们事先不知道的,但又有用的信息和知识的过程。数据挖掘主要有数据准备、规律寻找和规律表示3个步骤。数据挖掘的任务包括关联分析、聚类分析、分类分析、异常分析、特异群组分析和演变分析等。近年来,数据挖掘引起了信息产业界的极大关注,主要原因是产业界普遍存在大量数据,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各个领域,包括商务管理、生产控制、市场分析、工程设计和科学探索等。

本书读者对象

本书适合使用机器学习与数据挖掘技术进行大数据处理的程序员、架构师和产品经理作为技术参考和培训资料,也可作为高校本科生和研究生的教材。

本书主要内容

本书以项目实践作为主线,结合必需的理论知识,以任务的形式进行内容设计,每个任务都包含任务描述及任务实施的步骤。

各项目的主要内容如下。

项目1讲解机器学习的发展历程与基本内容,以及相关软件的安装与使用。

项目2介绍机器学习的模型评估与检验,以及通过评估方法得出最优结果。

项目3~项目5分别介绍机器学习算法中的回归、分类、聚类,通过学习算法并实践,可以提高读者的机器学习算法编写能力。

项目 6 介绍了一个完整的机器学习项目实践,可以帮助读者对机器学习有更深入的了解,并学会将机器学习知识应用到实际生产、生活中。

项目7主要介绍数据挖掘的基础知识,并通过案例介绍帮助读者加深对数据挖掘的理解,让读者对数据挖掘的应用更加得心应手。

项目8介绍数据分析及其应用方法,可以帮助读者丰富自己的数据分析方法与实践。同时该项目还介绍了WEKA软件。WEKA软件能够使数据分析更加便利、高效,进而提高读者的专业能力。

项目9通过淘宝用户行为分析预测项目综合展示了全书内容及应用方法,可以帮助读者学习如何在实际问题中应用机器学习与数据挖掘技术。

勘误和支持

本书由重庆工业职业技术学院王璐烽、唐腾健担任主编,重庆工业职业技术学院何静、李金珂、吕心怡担任副主编。智慧云未来科技(北京)有限公司提供了强大的行业技术支持。

由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有更多的宝贵意见,欢迎通过出版社与我们取得联系,期待能够得到你们真挚的反馈。

编著者

资源与支持

资源获取

本书提供如下资源:

教学大纲;

程序源码;

教学课件;

微视频;

习题答案;

本书思维导图;

异步社区7天VIP会员。

要获得以上资源,您可以扫描下方二维码,根据指引领取。

提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区(https://www.epubit.com),按书名搜索,进入本书页面,点击“发表勘误”,输入勘误信息,点击“提交勘误”按钮即可(见右图)。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的 100 积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们。

如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

“异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现作者与读者在线交流互动,以及传统出版与数字出版的融合发展。

“异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮电出版社在计算机图书领域30余年的发展与积淀。异步图书面向IT行业以及各行业使用IT技术的用户。

项目1 初识机器学习

人类一直试图让机器具有智能,也就是实现人工智能(Artificial Intelligence,AI)。20世纪50年代,人工智能的发展经历了“推理期”,通过赋予机器逻辑推理能力使机器获得智能,当时的人工智能应用程序已经能够证明一些著名的数学定理,但由于机器缺乏知识,还远不能实现真正的智能。20世纪70年代,人工智能的发展进入“知识期”,即将人类的知识总结并教给机器,使机器获得智能。随后人工智能的发展进入“机器学习时期”,该时期可以分为3个阶段:20世纪80年代,连接主义较为流行,代表性方法有感知机(perceptron)和神经网络(neural network);20世纪90年代,统计学习方法开始占据主流舞台,代表性方法有支持向量机(support vector machine);进入21世纪,深度神经网络被提出,连接主义卷土重来,随着数据量和计算机算力不断提升,以深度学习(deep learning)为基础的诸多人工智能应用逐渐成熟。

机器学习是一类算法的总称,这些算法可以从大量历史数据中挖掘出隐含的规律,并用于预测或者分类,更具体地说,机器学习可以看作寻找一个函数,输入是样本数据,输出是期望的结果,只是这个函数过于复杂,以致不太方便形式化表达。需要注意的是,机器学习的目标是使学到的函数能够很好地适用于“新样本”,而不仅仅是在训练样本上表现很好。学到的函数适用于新样本的能力,称为泛化(generalization)能力。

思政目标

培养学生创新意识,提高学生科技水平,促进科技发展。

培养学生建立科技创新体系意识,提高科技创新水平。

了解机器学习不同时期的发展历程。

掌握机器学习的概念、方法及三要素。

了解机器学习的应用领域。

掌握PyCharm和Python的安装与使用方法。

任务1 学习机器学习的理论

【任务描述】

机器学习在日常生活中的应用非常广泛,尤其是在人工智能领域。在学习与机器学习相关的知识之前,我们需要了解机器学习的发展历程、基本概念、方法、要素和应用。通过学习理论知识,读者可以更深入地了解机器学习算法,并在生活中使用机器学习知识解决问题。

【任务目标】

了解机器学习不同时期的发展历程。

掌握机器学习的概念、方法及三要素。

了解机器学习的应用领域。

【知识链接】

通过学习机器学习知识并理解相关理论,了解机器学习发展历程;通过学习什么是机器学习以及机器学习的要素和方法,加深对机器学习概念的理解;通过将机器学习应用于多个领域,从而了解机器学习的重要性。

人工智能

在一般教材中,人工智能(Artificial Intelligence,AI)的定义领域是“智能主体(intelligent agent)的研究与设计”。其中,智能主体是指一个可以观察周遭环境并采取行动以实现目标的系统。1955年,John McCarthy将人工智能定义为“制造智能机器的科学与工程”。Andreas Kaplan和Michael Haenlein则将人工智能定义为“系统正确解释外部数据,从这些数据中学习,并利用这些知识灵活适应以实现特定目标和任务的能力”。

由于人工智能的研究有着高度的技术性和专业性,各分支领域都是深入且互不相通的,因此,人工智能的范围极其广泛,分支领域非常多,各个分支领域也都较为深入。

就当下的人工智能研究领域而言,研究人员已造出大量“看起来”像是智能的机器,并取得了相当丰硕的理论和实质成果。例如,2009 年 Hod Lipson 教授和博士研究生Michael Schmidt研发出Eureqa计算机程序,给予该程序相关资料后,只需几十个小时它就可以推导出牛顿花费多年研究才发现的牛顿力学公式。该计算机程序也可以用于研究很多其他领域的科学问题。这些所谓的弱人工智能在神经网络发展下已经取得了巨大进步,但是对于如何集成强人工智能,目前学术界还没有明确定论。

另外,弱人工智能与强人工智能并非完全对立,也就是说,即使强人工智能是可能的,弱人工智能的存在也仍然有意义。至少,今日计算机能做的事,如算术运算等,在100多年前被认为完全依赖人类的智能。另外,即使强人工智能被证明是可能的,也并不代表强人工智能必定能被研制出来。

【任务实施】

1.机器学习的发展历程

机器学习(Machine Learning,ML)最早可以追溯到对人工神经网络的研究。

1943年,Warren McCulloch和Walter Pitts提出了神经网络层次结构模型,确立了神经网络的计算模型理论,从而为机器学习的发展奠定了基础。

1950 年,“人工智能之父”图灵提出了著名的“图灵测试”,使人工智能成为科学领域的一个重要研究课题。

1957年,康奈尔大学教授Frank Rosenblatt提出了Perceptron概念,首次用算法精确定义了自组织自学习的神经网络数学模型,并设计出第一个计算机神经网络。这个机器学习算法成为神经网络模型的“开山鼻祖”。

1959年美国IBM公司的A. M. Samuel设计了一个具有学习能力的跳棋程序,该程序战胜了美国保持8年不败的跳棋选手。这个程序向人们初步展示了机器学习的能力。

1962年,Hubel和Wiesel发现了猫脑皮层中独特的神经网络结构可以有效降低学习的复杂性,从而提出著名的Hubel-Wiesel生物视觉模型,在这之后提出的神经网络模型均受此启迪。

1969年,人工智能研究的先驱者Marvin Minsky和Seymour Papert出版了对机器学习研究有深远影响的著作Perceptron,其中包含了对于机器学习基本思想的论断,影响深远且延续至今。

1980 年,美国卡内基梅隆大学研究人员举行了第一届机器学习国际研讨会,这标志着机器学习研究在世界范围内兴起。

1986年,Machine Learning创刊,这标志着机器学习逐渐为世人瞩目并开始加速发展。

1986 年,Rumelhart、Hinton和Williams联合在《自然》杂志发表了著名的误差逆传播(Back Propagation,BP)算法。

1989 年,美国贝尔实验室学者Yann LeCun教授提出了目前最为流行的卷积神经网络(Convolutional Neural Network,CNN)计算模型,推导出基于BP算法的高效训练方法,并成功地应用于英文手写体识别。

进入20世纪90年代后,多浅层机器学习模型相继问世,诸如逻辑斯谛回归、支持向量机等,这些机器学习算法的共性是都以解决数学模型为凸代价函数的最优化问题为目的,理论分析相对简单,容易从训练样本中学习到内在模式,从而完成对象识别与人物分配等初级智能工作。

2006年,机器学习领域泰斗Geoffrey Hinton和Ruslan Salakhutdinov发表文章,提出了深度学习模型。该文章的主要论点包括:多个隐藏层的人工神经网络具有良好的特征学习能力;可以通过逐层初始化来克服训练的难度,实现网络整体调优。这个模型的提出,开启了深度机器学习的新时代。

2012 年,Hinton 研究团队采用深度学习模型赢得了计算机视觉领域最具有影响力的ImageNet比赛冠军,这标志着深度学习进入第二阶段。

深度学习近年来在多个领域取得了令人赞叹的成绩,推出了一批成功的商业应用,诸如谷歌翻译、苹果的语音工具Siri、微软的Cortana个人语音助手、蚂蚁金服的Smile to Pay扫脸技术等。特别是在2016年3月,谷歌的AlphaGo在与围棋世界冠军、职业九段棋手李世石进行的围棋人机大战中以4∶1的总比分获胜。2017年10月18日,DeepMind团队公布了最强版AlphaGo,代号AlphaGo Zero,它能在无任何人类输入的条件下,从空白状态学起,在自我训练的时间仅为3天的情况下,自我对弈的棋局数量达到490万盘,能以100∶0的战绩击败上一代AlphaGo。

2.机器学习的概念

机器学习是关于计算机程序的科学(也是一门艺术),它可以从数据中学习。

机器学习一般化的定义如下。

机器学习是赋予计算机学习能力的研究领域,它不依赖确定的编码指令,就能让计算机自主学习。

——Arthur Samuel,1959

机器学习工程导向的定义如下。

如果一个计算机程序对于某项任务T的某项性能衡量指标为P,而且性能指标P能随着经验E的提高而提高,则可认为该程序可以从经验E中学习。

——Tom Mitchell,1997

机器学习通过计算机来彰显数据背后的真实含义,它可以把无序的数据转换成有用的信息。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,而且能够重新组织已有的知识结构,不断提高自身的性能。

机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习主要使用归纳、综合的方法而不是演绎。

3.机器学习的方法

机器学习可以分为4个主要类别,分别介绍如下。

1)监督式学习

监督式学习(也称为监督式机器学习)使用标签化数据集训练算法,以准确分类数据或预测结果。将数据输入模型后,该方法会调整权重,直到模型拟合。这是交叉验证过程的一部分,可确保模型避免过度拟合或不拟合。监督式学习有助于大规模解决多种现实问题,例如将垃圾邮件归类到收件箱中的单独文件夹中。监督式学习使用的方法包括神经网络、朴素贝叶斯、线性回归、逻辑斯谛回归、随机森林、支持向量机等。

2)无监督学习

无监督学习(也称为无监督机器学习)使用机器学习算法来分析未标签化数据集并形成聚类。这类机器学习方法能够自主发现隐藏的模式或数据分组,无须人工干预。由于无监督学习方法能够发现信息的相似性和差异,因此它是探索性数据分析、交叉销售策略、客户细分、图像和模式识别的理想解决方案。该方法还能够通过降维,减少模型中特征的数量,其中主成分分析(Principal Component Analysis,PCA)和奇异值分解(Singular Value Decomposition,SVD)是两种常用的方法。无监督学习使用的其他方法还包括神经网络、K均值聚类、概率聚类等。

3)半监督学习

半监督学习是监督式学习和无监督学习的巧妙结合。在训练过程中,半监督学习使用较小的标签化数据集,以指导针对较大的未标签化数据集进行分类和特征提取。半监督学习可以解决标签数据不足(或无法负担标注足够数据的费用)而无法训练监督式学习算法的问题。

4)强化学习

强化学习是智能系统从环境状态到行为映射的学习,以使强化信号函数值达到最大。由于外部环境提供的信息很少,因此强化学习系统必须依靠自身的经历进行学习。

强化学习的目标是学习从环境状态到行为的映射,使得智能体选择的行为能够获得环境的最大奖励,并让外部环境对学习系统在某种意义上的评价为最佳。强化学习在机器人控制、无人驾驶、下棋、工业控制等领域均获得了成功应用。

在这种学习模式下,输入数据将作为对模型的反馈,不像监督式学习模型那样,输入数据仅仅作为检查模型对错的一种方式。在强化学习中,输入数据将直接反馈到模型,模型必须依据反馈立刻进行调整。

常见的强化学习算法包括Q-Learning和时序差分学习(temporal-difference learning)。

4.机器学习的三要素

数据在机器学习方法框架中的流动会按顺序经历3个过程,分别对应机器学习的三要素——模型、策略和算法。

1)模型

在谈到机器学习时,经常会提及机器学习的“模型”。在机器学习中,模型实质上是一个假设空间。这个假设空间是“输入空间到输出空间所有映射”的一个集合,这个空间的假设属于先验知识。机器学习通过“数据+三要素”的训练,最终目标是获得假设空间的一个最优解,即求模型的最优参数。

2)策略

在模型部分,机器学习的目标是获得假设空间(模型)的一个最优解,那么问题来了,如何评判模型是否为最优呢?策略就是评判“最优模型”(最优参数的模型)的准则或方法。

3)算法

在策略部分,机器学习的目标会转换成求目标函数的最小值,而算法就是对函数最优解的求解方法。

5.机器学习的应用

1)图像识别

图像识别是机器学习最常见的应用之一。它能够用于识别物体、人物、地点和数字图像等。图像识别和人脸检测较为流行的应用是自动好友标记建议,例如一些社交网站可以提供自动好友标记建议的功能。每当在社交网站中上传我们与好友的合照时,我们会收到带有姓名的标记建议,这背后的技术就是机器学习的人脸检测和识别算法。

2)语音识别

大部分搜索引擎都提供了“通过语音搜索”的选项。该功能属于语音识别——机器学习的一个流行应用。

语音识别是将语音指令转化为文字的过程,也称为“语音转文字”或“计算机语音识别”。目前,机器学习算法广泛用于各种语音识别应用。例如,百度助手与一些语音输入法都通过语音识别技术来识别语音指令。

3)交通预测

在手机地图应用中,机器学习模型被用来预测交通状况和最短路径。通过对历史数据和当前路况数据的分析,模型可以预测未来的交通状况,并提供最短路径的推荐。此外,用户的位置数据也被用于训练模型,以改善应用的性能和预测准确度。

4)自动驾驶汽车

机器学习最令人兴奋的应用之一是自动驾驶汽车。机器学习在自动驾驶汽车中发挥着重要作用。汽车制造公司在开发自动驾驶汽车的过程中通过无监督学习方法训练汽车模型在驾驶时检测人和物体。国内的自动驾驶汽车也很热门,比如一些科技园区通过自动驾驶汽车提供送餐服务。

5)产品推荐

机器学习被京东、淘宝等电子商务和娱乐公司广泛用于向用户推荐产品。例如,在京东App上搜索过某种产品时,我们可能会在同一台手机的浏览器中收到同类产品的广告,这就是机器学习在产品推荐中的应用。淘宝借助各种机器学习算法来了解用户的兴趣,并根据客户的兴趣推荐产品。类似地,当我们使用淘宝购物时,我们会看到一些电影等内容的推荐,这也是在机器学习的帮助下完成的。

6)垃圾邮件过滤

每当我们收到一封新电子邮件时,它都会被自动过滤为重要邮件、正常邮件和垃圾邮件。我们总是会在收件箱中看到一些带有重要符号的重要邮件,垃圾邮件箱中也会有垃圾邮件,这背后的技术也是机器学习。电子邮箱使用的垃圾邮件过滤器包括内容过滤器、标题过滤器、常规黑名单过滤器、基于规则的过滤器和权限过滤器等。一些机器学习算法,例如多层感知器、决策树和朴素贝叶斯分类器,都可以用于垃圾邮件过滤。

7)医学诊断

在医学应用领域中,机器学习可用于疾病诊断。有了机器学习,医疗技术发展得非常快,并且已经建立了可以预测大脑中病变确切位置的3D模型等。该模型的图像识别技术有助于轻松发现脑肿瘤和其他脑相关疾病。

8)自动语言翻译

当我们访问一个新地方并且不了解当地语言时,机器学习能够通过将文本转换为我们已知的语言来帮助我们。自动语言翻译是一种能够将文本翻译成用户熟悉的语言的神经机器学习。自动语言翻译背后的技术是一种序列到序列的学习算法,它能够配合图像识别一起使用,将文本从一种语言翻译成另一种语言。

任务2 软件的安装与使用

【任务描述】

PyCharm是由JetBrains公司打造的一款Python IDE。随着版本的迭代,PyCharm提供越来越多的功能,从Django到轻量化的Flask,到接地气的pyramid,再到结合新特性的异步Web框架FastAPI。

另外,基于同系列软件的加持(WebStorm),开发人员借助PyCharm也可以直接进行前端开发(支持Bootstrap、Angular、React等)。

此外PyCharm还支持科学计算。在科学计算领域,MATLAB一直独占鳌头,但是Python的出现打破了这个局面,Python具有的优势(如众多优秀的第三方库,较易学习,开源免费,语法优美)令其在科学计算领域占得一席之地,而作为Python IDE中最强大的存在,PyCharm也对科学计算提供完美支持。

另外PyCharm还拥有丰富的插件。基于这些插件,PyCharm可以提供更好的开发体验。

【任务目标】

安装PyCharm软件。

安装Python软件。

PyCharm环境配置。

【知识链接】

1.Python

Python是一门跨平台的计算机程序开发语言。它是一门结合了解释性、编译性、互动性和面向对象的高层次的脚本语言。Python最初被设计用于编写自动化脚本,随着版本不断更新和新语言功能的添加,目前已经可以用于独立的、大型项目的开发。

Python是我们在开发项目时需要使用的一门计算机语言,通俗来说就是编写代码,编写代码之后,我们需要运行,否则代码是死的,计算机无法识别,这时我们需要运行Python代码的运行环境和工具。

2.PyCharm

PyCharm是一款常用的Python IDE,它带有一整套可以帮助用户提高Python开发效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动生成、单元测试、版本控制等。此外,该IDE还提供了一些高级功能,用于支持Django框架下的专业Web开发,使得编写代码和运行操作更加简单。

【任务实施】

本任务以在Windows操作系统中安装PyCharm和Python软件为例进行介绍。关于在其他操作系统中安装这两款软件的步骤,请参考相关资料。

1.安装PyCharm软件

安装PyCharm软件的步骤如下。

(1)访问PyCharm官网。

PyCharm分为两个版本,分别为专业版和社区版。专业版需要付费,但可以免费使用一个月,相较于社区版,其功能更为强大。社区版为免费版,基本功能可以满足日常学习使用,因此接下来我们将以社区版为例进行介绍。PyCharm官网如图1-1所示。

图1-1 PyCharm官网

(2)单击Download按钮进行下载并安装。

单击图1-1中的Download按钮,下载可执行安装包。下载完成后,双击安装包,进入安装向导界面,如图1-2所示。然后单击Next按钮,进入下一步。

图1-2 PyCharm安装向导

(3)修改默认安装位置。

在安装向导界面中单击Browse按钮,将默认的安装位置修改到合适的目录,如图1-3所示。注意:应避免安装在C盘(默认C盘为系统盘),以免将来C盘文件太多而造成系统问题。

图1-3 修改默认安装位置

建议将PyCharm安装在自己方便查找的位置,例如D盘,如图1-4所示。然后单击Next按钮,进入下一步。

图1-4 自定义安装位置

(4)选择所有安装选项。

在安装向导界面中,选择所有安装选项,如图1-5所示。然后单击Next按钮,进入下一步。

图1-5 选择所有安装选项

(5)单击Install按钮后继续安装,如图1-6所示。

图1-6 单击Install按钮后继续安装

(6)选择I want to manually reboot later(稍后手动重启)单选项,如图1-7所示。然后单击Finish按钮,完成安装。

图1-7 安装完成

2.安装Python软件

(1)访问Python官网,如图1-8所示。

图1-8 Python官网

(2)单击Downloads按钮,下载相应的安装文件,如图1-9所示。

图1-9 下载对应计算机操作系统的Python安装文件

不同的计算机操作系统,安装的Python版本也不同。例如针对Windows 64位操作系统,需要安装Download for Windows中的Python 3.10.7。

(3)双击下载完成的Python安装文件。

在弹出的安装向导界面中选择Add python.exe to PATH复选项,然后单击Install Now链接,如图1-10所示。

(4)成功安装Python后,单击Close按钮退出安装向导界面,如图1-11所示。

图1-10 Python安装

图1-11 安装成功

3.配置PyCharm环境

(1)在计算机桌面上双击PyCharm Community Edition快捷方式,打开PyCharm,如图1-12所示。

图1-12 PyCharm社区版快捷方式

(2)选择同意条款,单击Continue按钮,进入下一步。

(3)如图1-13所示的Data Sharing对话框中,单击Don’t Send按钮。此处选择不共享数据,可以避免信息泄露及不必要的麻烦。

图1-13 不同意发送信息

(4)在弹出的PyCharm窗口中单击New Project按钮,新建项目,如图1-14所示。

图1-14 新建项目

(5)进入如图1-15所示的PyCharm主界面,对新创建的Python文件进行操作。

图1-15 PyCharm主界面

通过对PyCharm简单的介绍并进行安装操作,我们对PyCharm软件有了更深的了解,同时对掌握代码编写工具也更加得心应手,有助于练习与操作,提高软件开发能力。

项目小结

本项目从人工智能入手介绍了机器学习的由来与发展过程,主要涉及机器学习的基本内容和使用软件的安装。本项目包含以下内容。

机器学习的发展历程。

机器学习的概念。

PyCharm和Python的安装与使用方法。

机器学习通过计算机来彰显数据背后的真实含义,它可以把无序的数据转换成有用的信息。

机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习主要使用归纳、综合的方法而不是演绎。

机器学习方法包括如下4种。

监督式学习。

无监督学习。

半监督学习。

强化学习。

机器学习的要素包括模型、策略和算法。

机器学习的应用领域如下。

图像识别。

语音识别。

交通预测。

自动驾驶汽车。

产品推荐。

垃圾邮件。

医学诊断。

自动语言翻译。

思考与练习

一、选择题

1.(  )年,研究人员在美国卡内基梅隆大学举行了第一届机器学习国际研讨会。

A.1957

B.1962

C.1969

D.1980

2.机器学习是赋予(  )学习能力的研究领域,它不依赖确定的编码指令,就能让计算机自主学习。

A.计算机

B.数学

C.机器

D.模型

3.监督式学习中不包含(  )算法。

A.逻辑斯谛回归

B.随机森林

C.主成分分析

D.支持向量机

4.机器学习的要素不包含(  )。

A.逻辑

B.模型

C.策略

D.算法

5.(多选)机器学习的方法包含(  )。

A.监督式学习

B.无监督学习

C.半监督学习

D.强化学习

二、填空题

1.1986年,________创刊,这标志着机器学习逐渐为世人瞩目并开始加速发展。

2.________是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习主要使用________而不是演绎。

3.数据在机器学习方法框架中的流动会按顺序经历3个过程,分别对应机器学习的三要素——________、________和________。

4.________是“输入空间到输出空间所有映射”的一个集合。

5.机器学习的方法包含________、________、________和________。

三、简答题

1.机器学习的4种方法各有什么特点?

2.简述使用PyCharm软件建立新的Python文件的步骤。

使用PyCharm软件写出一个简单的Python代码,输出“Hello Python!”。

相关图书

ChatGPT原理与应用开发
ChatGPT原理与应用开发
动手学机器学习
动手学机器学习
基于机器学习的个性化推荐算法及应用
基于机器学习的个性化推荐算法及应用
机器学习公式详解 第2版
机器学习公式详解 第2版
自然语言处理迁移学习实战
自然语言处理迁移学习实战
AI医学图像处理(基于Python语言的Dragonfly)
AI医学图像处理(基于Python语言的Dragonfly)

相关文章

相关课程