- Python与数据挖掘
- 张良均 杨海宏 何子健 杨征等
- 2770字
- 2023-01-13 13:59:59
前言
为什么要写本书?
Python是什么?
Python是一种带有动态语义的、解释性的、面向对象的高级编程语言。其高级内置数据结构,结合动态类型和动态绑定,使其对于敏捷软件开发非常具有吸引力。同时, Python作为脚本型(胶水)语言连接现有的组件也十分高效。Python语法简洁,可读性强,从而能降低程序的维护成本。不仅如此,Python支持模块和包,鼓励程序模块化和代码重用。
Python语言的解释性使其语法更接近人类的表达和思维过程,开发程序的效率极高。习惯使用Python者,总习惯在介绍Python时强调一句话:“人生苦短,我用Python。”由于没有编译步骤,“写代码—测试—调试”的流程能被快速地反复执行。
作为一款用途广泛的语言,Python在数据分析与机器学习领域的表现,称得上“一任群芳妒”。2016年3月,国外知名技术问答社区StackOverflow发布了《2016年开发者调查报告》。此调查号称是有史以来最为全面的开发者调查。其中,数据科学家的十大技术栈中,有7个包含Python。具体来说,数据科学家中有63%正在使用Python,44%正在使用R语言。而且,27%的人同时使用这两种语言。Python还在“最多人使用的技术”“最受欢迎技术”“需求度最高技术”等榜单中名列前十。Python的明显优势:
❑ Python作为一款优雅、简洁的开源编程语言,吸引了世界各地顶尖的编程爱好者的注意力。每天都有数量众多的开源项目更新自己的功能,作为第三方模块为其他开发者提供更加高效、便利的支持。
❑ Python提供了丰富的API和工具,以便程序员能够轻松地使用C、C++、Cython来编写扩充模块,从而集成多种语言的代码,协同工作。一些算法在底层用C实现后,封装在Python模块中,性能非常高效。
❑ Python受到世界各地开发者的一致喜爱,在世界范围内被广泛使用。这意味着读者可以通过查看代码范例,快速学习和掌握相关内容。
❑ Python语言简单易学,语法清晰。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。通常,相较其他语言,Python的源代码被认为具有更好的可读性。
2004年,Python已在Google内部使用,他们的宗旨是:Python where we can, C++where we must,即在操控硬件的场合使用C++,在快速开发时使用Python。
总的来说,Python是一款用于数据统计、分析、可视化等任务,以及机器学习、人工智能等领域的高效开发语言。它能满足几乎所有数据挖掘下所需的数据处理、统计模型和图表绘制等功能需求。大量的第三方模块所支持的内容涵盖了从统计计算到机器学习,从金融分析到生物信息,从社会网络分析到自然语言处理,从各种数据库各种语言接口到高性能计算模型等领域。随着大数据时代的来临,数据挖掘将更加广泛地渗透到各行各业中去,而Python作为数据挖掘里的热门工具,将会有更多不同行业的人加入到Python爱好者的行列中来。完全面向对象的Python的教学工作也将成为高校中数学与统计学专业的重点发展对象,这是大数据时代下的必然趋势。
本书特色
笔者从实际应用出发,结合实际例子及应用场景,深入浅出地介绍Python开发环境的搭建、Python基础入门、函数、面向对象编程、实用模块和图表绘制及常用的建模算法在Python中的实现方式。本书的编排以Python语言的函数应用为主,先介绍了函数的应用场景及使用格式,再给出函数的实际使用示例,最后对函数的运行结果做出了解释,将掌握函数应用的所需知识点按照实际使用的流程展示出来。
为方便读者理解Python语言中相关函数的使用,本书配套提供了书中使用的示例的代码及所用的数据,读者可以从“泰迪杯”全国数据挖掘挑战赛网站(http://www.tipdm.org/ts/755.jhtml)上免费下载。读者也可通过热线电话(40068-40020)、企业QQ(40068-40020)或以下微信公众号咨询获取。
TipDM
张良均〈大数据挖掘产品与服务〉
本书适用对象
❑ 开设有数据挖掘课程的高校教师和学生。
目前国内不少高校将数据挖掘引入本科教学中,在数学、计算机、自动化、电子信息、金融等专业开设了数据挖掘技术相关的课程,但目前这一课程的教学使用的工具仍然为SPSS、SAS等传统统计工具,并没有使用Python作为教学工具。本书提供了有关Python语言的从安装到使用的一系列知识,将能有效指导高校教师和学生使用Python。
❑ 数据挖掘开发人员。
这类人员可以在理解数据挖掘应用需求和设计方案的基础上,结合本书提供的Python的使用方法快速入门并完成数据挖掘应用的编程实现。
❑ 进行数据挖掘应用研究的科研人员。
许多科研院所为了更好地对科研工作进行管理,纷纷开发了适应自身特点的科研业务管理系统,并在使用过程中积累了大量的科研信息数据。Python可以提供一个优异的环境对这些数据进行挖掘分析应用。
❑ 关注高级数据分析的人员。
Python作为一个广泛用于数据挖掘领域的编程语言,能为数据分析人员提供快速的、可靠的分析依据。
如何阅读本书
本书主要分为两大部分,基础篇和建模应用篇。基础篇介绍了有关Python开发环境的搭建、Python基础入门、函数、面向对象编程、实用模块和图表绘制等基础知识。建模应用篇主要介绍了目前数据挖掘中常用的建模方法在Python中的实现函数,并对输出结果进行了解释,有助于读者快速掌握应用Python进行分析挖掘建模的方法。读者可结合本书提供的示例代码及数据进行上机实验,快速掌握书中所介绍的Python的使用方法。
第一部分是基础篇(1~6章)。第1章旨在让读者从全局把握数据挖掘、常用工具对比、Python开发环境的搭建以及本书的写作习惯;第2章正式开始讲解Python的基础知识,包括操作符、变量类型、流程控制、数据结构等内容;第3、4章主要对Python面向对象的特性进行介绍,包括函数、类与对象等基本概念;第5章介绍主流的数据分析与挖掘的模块,以及其中具体的方法及对应的功能,旨在让读者对各个模块建立强大的直觉;第6章继续拓展了模块的相关内容,提及图表绘制的专用模块(Matplotlib和Bokeh),深入浅出地展示如何方便地绘制点、线、图等。
第二部分是建模应用篇(7~11章)。本部分主要对数据挖掘中的常用算法进行介绍,强调在Python中对应函数的使用方法及其结果的解释说明。内容涵盖五大主流的数据挖掘算法,包括分类与预测、聚类分析建模、关联规则分析、智能推荐和时间序列分析。按照模型建立至模型评价的架构进行介绍,使读者能熟练掌握从建模到对模型评价的完整建模过程。
勘误和支持
除封面署名外,参加本书编写工作的还有杨坦、刘名军、陈婷婷、陈玉辉、施兴、黄博、王路、黄东鑫等。由于水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。本书内容的更新将及时在“泰迪杯”全国数据挖掘挑战赛网站(www.tipdm.org)上发布。读者可通过作者微信公众号TipDM(微信号:TipDataMining)、TipDM官网(www.tipdm.com)反馈有关问题。也可通过热线电话(40068-40020)或企业QQ(40068-40020)进行咨询。
如果您有更多的宝贵意见,欢迎发送邮件至邮箱13560356095@qq.com,期待能够得到您的真挚反馈。
致谢
本书编写过程中得到了广大高校师生的大力支持!在此谨向华南农业大学、华南师范大学、广东工业大学、广东技术师范学院、华南理工大学、韩山师范学院、中山大学、贵州师范学院等单位给予支持的领导及师生致以深深的谢意。
在本书的编辑和出版过程中还得到了参与“泰迪杯”全国数据挖掘挑战赛(http://www.tipdm.org)的众多师生及机械工业出版社杨福川老师无私的帮助与支持,在此一并表示感谢。
张良均