编辑推荐
适读人群:适合中高级计算机专业人员阅读
10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。
《Python与数据挖掘》注重易用性和实践性,旨在让读者快速掌握运用Python语言进行数据分析与挖掘的方法,从应用层面讲解初学者急切需要了解的功能,深入浅出地介绍了数据挖掘中常用的建模实现函数。
内容简介
这是一本适合教学和零基础自学的Python与数据挖掘的教程,即便你完全没有Python编程基础和数据挖掘基础,根据《Python与数据挖掘》中的理论知识和上机实践,你也能迅速掌握如何使用Python进行数据挖掘。《Python与数据挖掘》已经被多所高校预定为教材,为了便于教学,书中还提供了大量的上机实验和教学资源。
《Python与数据挖掘》主要分为两篇:
基础篇(1~6章):第1章旨在让读者从全局把握数据挖掘、建模工具以及Python开发环境的搭建;第2章正式开始讲解Python的基础知识,包括操作符、变量类型、流程控制、数据结构等内容;第3、4章主要对Python面向对象的特性进行介绍,包括函数、类与对象等基本概念;第5章介绍主流的数据分析与挖掘的模块,以及其中具体的方法及对应的功能;第6章继续拓展了模块的相关内容,介绍图表绘制的专用模块(Matplotlib和Bokeh),深入浅出地展示如何方便地绘制点、线、图等。
建模应用篇(7~11章):主要对数据挖掘中的常用算法进行介绍,强调在Python中对应函数的使用方法及其结果的解释说明。内容涵盖五大主流的数据挖掘算法,包括分类与预测、聚类分析建模、关联规则分析、智能推荐和时间序列分析。按照从模型建立到模型评价的架构进行介绍,使读者熟练掌握从建模到对模型评价的完整建模过程。
作者简介
张良均
资深大数据挖掘专家,高级信息项目管理师,有近20年的大数据挖掘应用、咨询和培训经验,被称为“中国大数据挖掘培训教父”。为电信、电力、政府、互联网、生产制造、零售、银行、生物、化工、医药等多个行业上百家大型企业提供过数据挖掘应用与咨询服务,实践经验丰富。
现任广东工业大学、华南师范大学、华南农业大学、贵州师范学院、韩山师范学院、广东技术师范学院、广西科技大学的兼职教授。著有《神经网络实用教程》《数据挖掘:实用案例分析》《MATLAB数据分析与挖掘实战》《R语言数据分析与挖掘实战》《Python数据分析与挖掘实战》《Hadoop大数据分析与挖掘实战》《R语言与数据挖掘》等畅销图书。
目录
前言
第一部分 基础篇
第1章 数据挖掘概述2
1.1 数据挖掘简介2
1.2 工具简介3
1.2.1 WEKA3
1.2.2 RapidMiner4
1.2.3 Python5
1.2.4 R5
1.3 Python开发环境的搭建6
1.3.1 Python安装6
1.3.2 Python初识11
1.3.3 与读者的约定14
1.4 小结15
第2章 Python基础入门16
2.1 常用操作符16
2.1.1 算术操作符17
2.1.2 赋值操作符17
2.1.3 比较操作符18
2.1.4 逻辑操作符18
2.1.5 操作符优先级18
2.2 数字数据19
2.2.1 变量与赋值19
2.2.2 数字数据类型20
2.3 流程控制20
2.3.1 if语句21
2.3.2 while循环23
2.3.3 for循环25
2.4 数据结构27
2.4.1 列表28
2.4.2 字符串31
2.4.3 元组35
2.4.4 字典36
2.4.5 集合39
2.5 文件的读写40
2.5.1 改变工作目录40
2.5.2 txt文件读取41
2.5.3 csv文件读取42
2.5.4 文件输出43
2.5.5 使用JSON处理数据43
2.6 上机实验44
第3章 函数47
3.1 创建函数48
3.2 函数参数50
3.3 可变对象与不可变对象52
3.4 作用域53
3.5 上机实验55
第4章 面向对象编程56
4.1 简介56
4.2 类与对象58
4.3 __init__方法59
4.4 对象的方法61
4.5 继承65
4.6 上机实验68
第5章 Python实用模块69
5.1 什么是模块69
5.2 NumPy70
5.3 Pandas75
5.4 SciPy81
5.5 scikit-learn84
5.6 其他Python常用模块87
5.7 小结88
5.8 上机实验88
第6章 图表绘制入门89
6.1 Matplotlib89
6.2 Bokeh94
6.3 其他优秀的绘图模块97
6.4 小结97
6.5 上机实验97
第二部分 建模应用篇
第7章 分类与预测100
7.1 回归分析100
7.1.1 线性回归101
7.1.2 逻辑回归104
7.2 决策树107
7.2.1 ID3算法107
7.2.2 其他树模型111
7.3 人工神经网络113
7.4 kNN算法122
7.5 朴素贝叶斯分类算法124
7.6 小结127
7.7 上机实验127
第8章 聚类分析建模129
8.1 K-Means聚类分析函数129
8.2 系统聚类算法133
8.3 DBSCAN聚类算法138
8.4 上机实验142
第9章 关联规则分析144
9.1 Apriori关联规则算法145
9.2 Apriori在Python中的实现146
9.3 小结149
9.4 上机实验149
第10章 智能推荐151
10.1 基于用户的协同过滤算法152
10.2 基于用户的协同过滤算法在Python中的实现154
10.3 小结157
10.4 上机实验157
第11章 时间序列分析159
11.1 ARIMA模型159
11.2 小结171
11.3 上机实验172
参考文献174
前言/序言
Preface前 言为
什么要写《Python与数据挖掘》?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内部使用,他们的宗旨是:Pythonwherewecan,C++wherewemust,即在操控硬件的场合使用C++,在快速开发时使用Python。
总的来说,Python是一款用于数据统计、分析、可视化等任务,以及机器学习、人工智能等领域的高效开发语言。它能满足几乎所有数据挖掘下所需的数据处理、统计模型和图表绘制等功能需求。大量的第三方模块所支持的内容涵盖了从统计计算到机器学习,从金融分析到生物信息,从社会网络分析到自然语言处理,从各种数据库各种语言接口到高性能计算模型等领域。随着大数据时代的来临,数据挖掘将更加广泛地渗透到各行各业中去,而Python作为数据挖掘里的热门工具,将会有更多不同行业的人加入到Python爱好者的行列中来。完全面向对象的Python的教学工作也将成为高校中数学与统计学专业的重点发展对象,这是大数据时代下的必然趋势。
《Python与数据挖掘》特色笔者从实际应用出发,结合实际例子及应用场景,深入浅出地介绍Python开发环境的搭建、Python基础入门、函数、面向对象编程、实用模块和图表绘制及常用的建模算法在Python中的实现方式。《Python与数据挖掘》的编排以Python语言的函数应用为主,先介绍了函数的应用场景及使用格式,再给出函数的实际使用示例,最后对函数的运行结果做出了解释,将掌握函数应用的所需知识点按照实际使用的流程展示出来。
为方便读者理解Python语言中相关函数的使用,《Python与数据挖掘》配套提供了书中使用的示例的代码及所用的数据,读者可以从“泰迪杯”全国数据挖掘挑战赛网站(http://www.tipdm.org/ts/755.jhtml)上免费下载。读者也可通过热线电话(40068-40020)、企业QQ(40068-40020)或以下微信公众号咨询获取。
TipDM张良均〈大数据挖掘产品与服务〉《Python与数据挖掘》适用对象开设有数据挖掘课程的高校教师和学生。
目前国内不少高校将数据挖掘引入本科教学中,在数学、计算机、自动化、电子信息、金融等专业开设了数据挖掘技术相关的课程,但目前这一课程的教学使用的工具仍然为SPSS、SAS等传统统计工具,并没有使用Python作为教学工具。《Python与数据挖掘》提供了有关Python语言的从安装到使用的一系列知识,将能有效指导高校教师和学生使用Python。
数据挖掘开发人员。
这类人员可以在理解数据挖掘应用需求和设计方案的基础上,结合《Python与数据挖掘》提供的Python的使用方法快速入门并完成数据挖掘应用的编程实现。
进行数据挖掘应用研究的科研人员。
许多科研院所为了更好地对科研工作进行管理,纷纷开发了适应自身特点的科研业务管理系统,并在使用过程中积累了大量的科研信息数据。Python可以提供一个优异的环境对这些数据进行挖掘分析应用。
关注高级数据分析的人员。
Python作为一个广泛用于数据挖掘领域的编程语言,能为数据分析人员提供快速的、可靠的分析依据。