Python极简讲义——一本书入门数据分析与机器学习(序言)

Python极简讲义——一本书入门数据分析与机器学习(序言)

为什么写此书?

我们正处于一个数据科技(Data Technology,简称DT)的时代。我们的一举一动,都有能在数据空间留下电子印记。于是海量的社交、电商、行为及科研大数据铺面而来。然而,太多的数据给人们带来的,可能并不是更多的洞察,还可能是迷失。

因为仅仅就数据本身而言,它们是“一无所知”的。数据的价值,在于形成信息,变成知识,乃至升华为智慧。也就是说,这些数据如果不能进一步 “深加工”,即使数据量再“大”,也意义聊聊。

于是,就派生这么一个问题,这些数据,谁来“深加工”?如何“深加工”?其实,早在2012年,《哈佛商业评论》就刊登一篇文章,给出了答案,他们就是“数据科学家”,文章还断言,“数据科学家是21世纪最性感的职业”[①]

但如何成为一个数据科学家呢?特别是一个性感的数据科学家?作为一个有点文青情怀的理工男,我喜欢读写书。读书总会给我们启迪。

曾读过埃里克•莱斯(Eric Ries)写的一本有关创业书,叫《精益创业》(The Lean Startup)[②]。在阅读这本书时,有个概念深入我心,那就是“最小可行产品”(minimum viable product,简称MVP)。这个概念说得是,在创业初期,不可贪多求全,而应先做出一个最小可用的产品,拿到市场上去检验,然后再根据反馈反复迭代,打磨升级,最终做出比较完善比较成功的产品。

后来,看到有人提出了类似的概念——“最少必要知识(Minimal Actionable Knowledge and Experience,简称MAKE)”,这算是点醒了我,我觉得大概可以回答前面的问题。那就是:You can MAKE it (你可以做到)。

先来说说什么是MAKE?它指的是入门某个新领域切实可行的最小知识集合。MAKE说起来好像比较高级,但实际上,在其背后,有个支撑它的朴素原则——Pareto原则(亦称80-20原则),即80%的工作可以掌握20%的知识来解决。

同样,想成为一个“性感的”数据科学家,一条路自然是按部就班地学习所有技能,“十年磨一剑”,但这样做的风险在于,当你“携剑下山”时,可能别人都用上了飞机大炮,这样的对垒,你胜算有几何?

当然,还有另外一条备选之路,那就是走一走MAKE之道。在学习某项技能(如Python、数据分析或机器学习)时,我们要想办法在最短的时间内,摸索清楚这项技能的“最小必要知识”。一方面,它已然可以帮我们解决工作中的大部分问题;另一方面,入门之后,技能的提升通道可以在实践中寻得,缺啥补啥。有明确的任务导向,学习效率就会“有如神助”。这也是当前时代的快节奏学习法。

说到这里,本书的写作用意就呼之欲出了。是的,它的定位就在于,为初学者提供关于数据科学的“最小必要知识”储备,从而找到那份“最性感的”工作。它包含了成为数据科学家的基础知识——Python、数据分析和机器学习。

本书内容

本书包括三个部分,共计10章,每个部分和每章的内容简介如下。

第一部分 Python讲义

这部分内容主要涉及Python的基本应用。

第1章 初识Python与Jupyter

本章介绍了Python和Jupyter的基本用法,包括Python的安装与运行,以及文学化编程利器—Jupyter的使用。

第2章 数据类型与程序控制结构

本章介绍了Python的基础语法以及常见的数据类型、三种控制结构,包括顺序结构、分支结构和循环结构。

第3章 自建Python模块与第三方模块

本章介绍了Python的自定义模块及常用的第三方模块,包括collection、datetime、json和random等。

第4章 Python函数

本章讨论了Python的函数定义、函数的参数 “花式”传递、函数的递归调用及函数式编程。

第5章 Python高级特性

本章讨论了面向对象程序设计思想、迭代器及生成器、文件操作、异常处理及错误调试等内容。

第二部分 数据分析

这部分内容主要涉及数据分析所需的技能,如向量计算所用的NumPy、数据分析的所用Pandas和可视化展示所用的Matplotlib。

第6章 NumPy向量计算

本章讨论了NumPy数组的构建、方法和属性、NumPy的广播和布尔索引、向量的堆叠及爱因斯坦求和约定等。

第7章 Pandas数据分析

本章主要介绍了Pandas的两种常用数据处理结构Series和DataFrame。并介绍了基于Pandas的文件读取和分析,涉及数据的清洗、条件过滤、聚合与分组。

第8章 Matplotlib与Seaborn可视化分析

本章主要介绍Matplotlib和Seaborn的基本用法,包括散点图、折线图、条形图、直方图及饼状图等专业图形的画法,并以谷歌流感趋势数据,结合Pandas绘图分析。

第三部分 机器学习

这部分内容主要涉及机器学习的基本概念和机器学习框架scikit-learn的基本用法。

第9章 机器学习初步

本章主要介绍有关机器学习初步知识,包括机器学习的概念,以及机器学习的几个主要流派,并讨论机器学习的模型评估和性能度量,包括混淆矩阵、查准率、ROC曲线等。

第10章 sklearn与经典机器学习算法

本章主要讲解sklearn的用法,并介绍几种经典机器学习算法的原理和实战,这些算法包括线性回归、k-近邻算法、Logistics回归分类算法、神经网络、k均值聚类算法等。

阅读准备

本书理论结合实践,为运行本书示例代码,需提前安装如下软件环境。

操作系统:Windows、macOS、Linux均可。

Python环境:建议使用Anaconda安装,确保Python 3即可。

NumPy: 建议使用Anaconda安装,版本号>=1.18。

Pandas: 建议使用Anaconda安装,版本号>=1.0.1。

sklearn: 建议使用Anaconda安装,版本号>=0.22.1。

 

联系作者

数据科学是一个前沿而广袤的研究领域,很少有人能对每个研究方向都有深刻的认知。作者自认才疏学浅,同时也限于时间与篇幅关系,书中难免出现理解偏差和错缪之处,若读者朋友能大方指出,作者将及时修正,不胜感激。

作者联系邮件:[email protected]

致谢

这本《Python极简讲义:一本书入门数据分析与机器学习》,从构思、查阅资料、撰写及绘图,到出版为书,历时一年有余。图书得以面市,自然得益于多方面的帮助和支持。在信息获取上,从很多图书和网络资源中,我学习并吸纳了很多精华知识,文中也尽可能给出文献出处,如有疏漏,请来信告知。这里,我对这些高价值资料的提供者、生产者,表示深深的敬意和谢意。

很多人在这本书的出版上扮演者重要角色。例如,电子工业出版社博文视点的孙奇俏老师在选题和编辑上,国网河北电科院计量中心赵佩、河南工业大学苏灏等在文稿校对上,都付出了辛勤的劳动,在此一并表示感谢。

 

张玉宏

2020年3月16日

美国卡梅尔

 

 

 

[①] Davenport T H, Patil D J. Data Scientist: The Sexiest Job of the 21st Century-A new breed of professional holds the key to capitalizing on big data opportunities. But these specialists aren't easy to find—And the competition for them is fierce[J]. Harvard Business Review, 2012: 70.

[②]埃里克·莱斯(Eric Ries)著,吴彤 译. 精益创业新创企业的成长思维[M]. 北京:中信出版社, 2012