《Python3智能数据分析快速入门》

举报
华章计算机 发表于 2019/07/19 13:07:24 2019/07/19
【摘要】 本节书摘来自华章计算机《Python3智能数据分析快速入门》一作者是李明江 张良均 周东平 张尚佳 。 


智能系统与技术丛书

Python3智能数据分析快速入门

Python3智能数据分析 立.jpg


李明江 张良均 周东平 张尚佳 著




PREFACE

前  言

为什么要写这本书

2017年7月,国务院下达了关于印发《新一代人工智能发展规划》的通知。通知明确指出要加快培养聚集人工智能高端人才,把高端人才队伍建设作为人工智能发展的重中之重。而后,2018年12月,普华永道发布了《人工智能和相关技术对中国就业的净影响》,报告预测,人工智能及相关技术在未来20年将取代中国现有约26%的工作岗位,高于对英国20%的预估,但也能通过提升生产率和实际收入水平在中国创造出大量的新的工作机会。根据普华永道估计,人工智能对中国就业的净影响可能将创造约12%的净增岗位,相当于未来20年内增加约9000万个就业岗位。那么如何才能够赶上人工智能的浪潮呢?

人工智能是一门综合了计算机科学、生理学、哲学的交叉学科。凡是使用机器替代人类实现认知、识别、分析、决策等功能,均可认为使用了人工智能技术。按照技术分支,可以将人工智能分为问题求解,知识、推理与规划,学习,通信、感知与行动四个大方向。其中学习即机器学习,与智能数据分析紧密相关。

跟国外相比,我国智能数据分析在零售、银行、保险、证券等行业中的应用并不太理想。但随着市场竞争的加剧,各行业对智能数据分析技术的意愿越来越强烈,可以预计,未来几年各行业的数据分析应用一定会从传统的统计分析发展到智能数据分析应用。在大数据时代,数据过剩、人才短缺,智能数据分析专业人才的培养又需要专业知识和职业经验积累。所以,本书在编程知识的基础之上,大篇幅地描写了智能分析常备知识,希望能为智能数据分析人才的培养提供参考。

总的来说,随着云时代的来临,智能数据分析技术将具有越来越重要的战略意义。大数据已经渗透到每一个行业和业务职能领域,逐渐成为重要的生产要素,人们对于海量数据的运用将预示着新一轮生产率增长和消费者盈余浪潮的到来。智能数据分析技术将帮助企业用户在合理时间内攫取、管理、处理、整理海量数据,为企业经营决策提供积极的帮助。智能数据分析作为数据存储和挖掘分析的前沿技术,已广泛应用于物联网、云计算、移动互联网等战略性新兴产业。虽然智能数据分析目前在国内还处于初级阶段,但是其商业价值已经显现出来,特别是有实践经验的智能数据分析人才更是成为各企业争夺的热门。为了满足日益增长的智能数据分析人才需求,很多大学开始尝试开设不同程度的智能数据分析课程。“智能数据分析”作为大数据时代的核心技术,必将成为高校数学与统计学专业的重要课程之一。

本书特色

本书作者从实践出发,总结了智能数据分析常用的方法,深入浅出地介绍了智能数据分析编程过程中的相关知识。书中涵盖Python环境搭建、Python基础语法、控制语句、函数、面向对象编程、数值计算、数据处理、绘图、模型构建等内容,还配套提供了程序代码及数据。此外,每章的最后均提供课后习题,帮助读者快速掌握Python的使用方法。

为了帮助读者更好地使用本书,泰迪云课堂(https://edu.tipdm.org)提供了配套的教学视频。对于本书配套的原始数据文件、Python程序代码,均可以通过关注泰迪学社微信公众号(TipDataMining),回复“图书资源”进行获取。为方便教师授课,本书还提供了PPT课件、教学大纲、教学进度表和教案等教学资源,教师可在泰迪学社微信公众号回复“教学资源”进行获取。

本书适用对象

开设有数据分析课程的高校的教师和学生。

目前国内不少高校将数据分析引入本科教学中,在数学、计算机、自动化、电子信息、金融等专业开设了数据分析技术相关的课程,但目前这一课程使用的教学工具仍然为SPSS、SAS等传统统计工具,并没有使用Python作为教学工具。本书提供了Python语言相关的从安装到使用的一系列知识,将有效指导高校教师和学生使用Python作为数据分析的工具之一。

  • 数据分析开发人员。

数据分析开发人员的主要工作是将数据分析相关的算法应用于实际业务系统。本书提供了详细的机器学习与数据分析算法接口的用法与说明,能够帮助此类人员快速且有效地建立起数据分析应用的算法框架,帮助其迅速完成开发。

  • 进行数据分析应用研究的科研人员。

许多科研院所为了更好地对科研工作进行管理,纷纷开发了适应自身特点的科研业务管理系统,并在使用过程中积累了大量的科研信息数据。但是,这些科研业务管理系统一般没有对这些数据进行深入分析,对数据所隐藏的价值并没有充分分析利用。科研人员需要数据分析工具及有关方法论来深挖科研信息的价值,从而提高科研水平。

  • 关注高级数据分析的人员。

Python作为广泛应用于数据分析领域的编程语言,能为数据分析人员提供快速的、可靠的分析依据。本书提供全面的Python智能数据分析知识,能够指导这类人员快速入门数据分析,完成指定的数据分析任务。

如何阅读本书

本书从逻辑上可分为两大部分。

第一部分是Python编程基础(第1~4章),介绍了Python环境搭建、Python基础语法、控制语句、函数、面向对象编程等。第1章旨在让读者从全局把握Python,了解利用Python进行智能数据分析的优势,并详细介绍了Python环境搭建与配置,同时还对两个常用集成开发环境做了详细介绍。第2章先对Python固定语法做了介绍,包括编码声明、注释、缩进等;而后介绍了Python常见的数据类型,包括str、list、tuple、dict、set等;还介绍了Python常用运算符,包括算术运算符、逻辑运算符、成员运算符、位运算符等。第3章主要对控制语句做了详细介绍,包括条件语句和循环语句,同时还介绍了和条件语句类似的异常处理try-except-else语句。第4章主要介绍了Python的内置函数、自定义函数、面向对象编程以及第三方库的安装与使用方法。

第二部分是数据分析编程(第5~9章),主要对数据分析中常用的第三方库做了详细介绍,强调在Python中对应函数的使用方法及其结果的解释说明。内容涵盖数值分析库NumPy,数据处理库pandas,绘图库Matplotlib、Seaborn、Bokeh,机器学习与数据分析建模库scikit-learn。这一部分涉及数据读取、数据预处理、模型构建、模型评价、结果可视化,几乎涵盖了整个数据分析过程,充分而又详细地说明了Python数据分析的常用操作,相信在本书的指导下,读者能够从零开始快速数据入门分析。

勘误和支持

我们已经尽最大努力避免在文本和代码中出现错误,但是由于水平有限,编写时间仓促,书中难免出现一些疏漏和不足的地方。如果你有更多宝贵意见,欢迎在泰迪学社微信公众号回复“图书反馈”进行反馈。更多本系列图书的信息可以在“泰迪杯”数据挖掘挑战赛网站(http://www.tipdm.org/tj/index.jhtml)查阅。

 

 

张良均

2019年于广州

 

 

 

 

CONTENTS

目  录

前言

第1章 Python概述  1

1.1 Python语言介绍  1

1.1.1 Python的发展史  1

1.1.2 Python特性  2

1.1.3 Python应用领域  3

1.1.4 Python机器学习优势  6

1.2 Python环境配置  8

1.2.1 Python 2还是Python 3  8

1.2.2 Anaconda简介  8

1.2.3 安装Anaconda 3  9

1.3 Python的解释器与IDE  12

1.3.1 Python的解释器  13

1.3.2 Python各IDE比较  13

1.3.3 PyCharm的安装与使用  16

1.3.4 Jupyter Notebook的使用  26

小结  32

课后习题  33

第2章 Python基础知识  34

2.1 固定语法  34

2.1.1 声明与注释  34

2.1.2 缩进与多行语句  36

2.1.3 保留字符与赋值  38

2.2 运算符  40

2.2.1 算术运算符  40

2.2.2 赋值运算符  41

2.2.3 比较运算符  43

2.2.4 逻辑运算符  44

2.2.5 按位运算符  44

2.2.6 身份运算符  45

2.2.7 成员运算符  46

2.2.8 运算符优先级  47

2.3 数据类型  48

2.3.1 基础数据类型  48

2.3.2 复合数据类型  55

2.4 Python I/O  63

2.4.1 input与print  64

2.4.2 文件I/O  67

小结  70

课后习题  70

第3章 控制语句  72

3.1 条件语句  72

3.1.1 if、elif与else  73

3.1.2 try、except与else  76

3.2 循环语句  80

3.2.1 for  81

3.2.2 while  83

3.2.3 break、continue与pass  85

3.2.4 列表推导式  89

小结  91

课后习题  91

第4章 函数与对象  94

4.1 函数  94

4.1.1 内置函数  94

4.1.2 自定义函数  101

4.1.3 匿名函数  107

4.2 对象  109

4.2.1 面向对象简介  109

4.2.2 属性与方法  110

4.2.3 装饰器  116

4.2.4 继承和多态  119

4.3 Python常用库安装  126

4.3.1 第三方库安装  126

4.3.2 第三方库导入  130

4.3.3 第三方库创建  131

小结  132

课后习题  133

第5章 NumPy数值计算  135

5.1 ndarray创建与索引  135

5.1.1 创建ndarray对象  135

5.1.2 ndarray的索引与切片  142

5.2 ndarray的基础操作  145

5.2.1 变换ndarray的形态  145

5.2.2 排序与搜索  151

5.2.3 字符串操作  156

5.3 ufunc  159

5.3.1 ufunc的广播机制  159

5.3.2 常用ufunc  160

5.4 matrix与线性代数  169

5.4.1 创建NumPy矩阵  169

5.4.2 矩阵的属性和基本运算  170

5.4.3 线性代数运算  172

5.5 NumPy文件读写  175

5.5.1 二进制文件读写  175

5.5.2 文件列表形式数据读写  178

小结  180

课后习题  180

第6章 pandas基础  182

6.1 pandas常用类  182

6.1.1 Series  182

6.1.2 DataFrame  187

6.1.3 Index  191

6.2 DataFrame基础操作  193

6.2.1 索引  193

6.2.2 排序  201

6.2.3 合并  204

6.3 其他数据类型操作  210

6.3.1 时间操作  210

6.3.2 文本操作  220

6.3.3 category操作  223

小结  227

课后习题  227

第7章 pandas进阶  229

7.1 数据读取与写入  229

7.1.1 CSV  229

7.1.2 Excel  231

7.1.3 数据库  233

7.2 DataFrame进阶  235

7.2.1 统计分析  235

7.2.2 分组运算  242

7.2.3 透视表和交叉表  248

7.3 数据准备  250

7.3.1 缺失值处理  251

7.3.2 重复数据处理  255

7.3.3 连续特征离散化处理  256

7.3.4 哑变量处理  259

小结  260

课后习题  260

第8章 绘图  263

8.1 Matplotlib绘图基础  263

8.1.1 编码风格  263

8.1.2 动态rc参数  267

8.1.3 散点图  273

8.1.4 折线图  276

8.1.5 饼图  278

8.1.6 直方图与条形图  280

8.1.7 箱线图  282

8.2 Seaborn进阶绘图  285

8.2.1 Seaborn基础  285

8.2.2 关系图  301

8.2.3 分类图  311

8.2.4 分布图  329

8.2.5 回归图  334

8.2.6 矩阵图  341

8.2.7 网格图  345

8.3 Bokeh交互式绘图  356

8.3.1 基本构成与语法  356

8.3.2 常见图形绘制  370

8.3.3 导出与嵌入  375

8.3.4 运行Bokeh应用程序  379

小结  381

习题  381

第9章 scikit-learn  383

9.1 数据准备  383

9.1.1 标准化  383

9.1.2 归一化  387

9.1.3 二值化  388

9.1.4 独热编码  389

9.2 降维  391

9.2.1 PCA  392

9.2.2 随机投影  396

9.2.3 字典学习  402

9.2.4 独立成分分析  408

9.2.5 非负矩阵分解  412

9.2.6 线性判别分析  416

9.3 聚类  420

9.3.1 K-Means  421

9.3.2 层次聚类  424

9.3.3 DBSCAN  427

9.3.4 高斯混合模型  430

9.4 分类  434

9.4.1 Logistic回归  435

9.4.2 支持向量机  439

9.4.3 决策树  443

9.4.4 最近邻  447

9.4.5 朴素贝叶斯  450

9.4.6 随机森林  452

9.4.7 多层感知机  456

9.5 回归  460

9.5.1 最小二乘回归  461

9.5.2 岭回归  464

9.5.3 Lasso回归  466

9.5.4 决策树回归  468

9.5.5 随机森林回归  471

9.5.6 多层感知机回归  473

9.6 模型选择  476

9.6.1 数据集划分  476

9.6.2 交叉验证  478

9.6.3 自动调参  479

9.6.4 模型评估  481

小结  486

课后习题  487


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。