提到数据科学,大家都不陌生,那要是问你数据科学都需要掌握点啥?emmmm......我想很多人可能会犯难。
这么纷繁复杂的学科,是多种学科交织下的产物,你要掌握的可能不只是某一个方面的知识,甚至有时候你要集统计学家、计算机科学家以及特定领域专家于一身。
这么说是不是有点怕?不要怕,你只要不把它当做是新技能,就把它当做已经掌握的知识在新领域的应用就可以了。
那你接下来要问了,如何能应用好数据科学?说到这里不得不提一个编程语言,那就是 Python 。人工智能的迅速发展,让更多人加入到了学习 Python 的行列中。如何能用 Python 做好数据分析,更是大家关注的问题。今天,准备安利大家一个超强的书单,希望助大家在学习数据科学的路上一路向前。在介绍书单之前,让我们先了解数据科学的一些背景。
1. 为什么数据科学青睐 Python?
其实,数据科学并非 Python 一家之“言”,Scala、Java、R、Julia 等编程语言在此领域都有各自不同的工具。至于要不要学 Python,其实没必要纠结,秉承李小龙的武术哲学即可——Absorb what is useful, discard what is not, and add what is uniquely your own(取其精华,去其糟粕,再加点自己的独创)。Python 的语法简洁直观、易学易用,是表现力最强的编程语言,学会它就可以让计算机跟随思想,快速完成许多有趣的事情。同时,它也是备受欢迎的胶水语言,许多由 Java、C/C++ 语言开发的工具都会提供 Python 接口,如 Spark、H2O、TensorFlow 等。
2017 年 3 月 6 日,PyPI(https://pypi.python.org/pypi)网站上的程序包数量就已经达到 10 万,新的程序包还在不断地涌现,数据科学目前是 Python 星球最酷炫的风景之一。如果数据科学问题让你心有挂碍,那么 Python 这根数据科学的蛇杖(Asklēpiós,阿斯克勒庇俄斯之杖,医神手杖,医院的徽章)可以为你指点迷津。
其实,用 Python 语言还有一个原因就是它有庞大的第三方库和完善的生态系统。
2. 那么,简单回顾一下常用的 Python 库。
NumPy
Numerical Python 的简称,是 Python 的一种开源的数值计算扩展。它提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。
Pandas
是基于 NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。 以及能使我们快速便捷地处理数据的函数和方法。
SciPy
SciPy 是 Python 中用于科学计算的函数集合。它具有线性代数高级程序、数学函数优化、信号处理、特殊数学函数和统计分布等多项功能。Scikit-Learn 利用SciPy 中的函数集合来实现算法。
Matplotlib
Matplotlib 是 Python 的一个绘图库。它包含了大量的工具,你可以使用这些工具创建各种图形,包括简单的散点图,正弦曲线,甚至是三维图形。Python 科学计算社区经常使用它完成数据可视化的工作。
Seaborn
Seaborn 是基于 Matplotlib 的 Python 数据可视化库, 主要用于统计模型的可视化。提供更高层次的 API 封装,使用起来更加方便快捷。
Scikit-Learn
Scikit-Learn 是用 Python 开发的机器学习库,其中包含大量机器学习算法、数据集,是数据挖掘方便的工具。
TensorFlow
TensorFlow 可被用于语音识别或图像识别等多项机器学习和深度学习领域,对2011年开发的深度学习基础架构 DistBelief 进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。
接下来,送大家 3 个好助手陪你勇闯 Python 数据科学之路。
3. 数据科学三剑客
《Python数据科学手册》是我们的新书,之前推荐过,作者是 Scikit-Learn、IPython 等诸多库的代码贡献者,华盛顿大学 eScience 学院物理科学研究院院长。80%有关机器学习、数据分析或者数据科学的尝试实际上都是与数据处理和理解数据相关的。而这本书就是为了解决这个问题的,在使用 Python 来解决数据处理、数据分析以及数据可视化方面时,这是一本极佳的参考书。这本书还有一个好处就是容易上手,即使你没有任何 Python 的经验也可以看懂。
那读这本书你能获得什么?
以IPython、NumPy、Pandas、Matplotlib 和 Scikit-Learn 这 5 个能完成数据科学大部分工作的基础工具为基础,学会如何清洗和可视化数据。
学会用数据建立各种统计学或机器学习模型等常见数据科学任务。
一个美国亚马逊的读者评论说,他买这本书时,只想看 Scikit-Learn 的内容,而这些内容要在后1/3处才提到。前1/3讲的都是和 Numpy、Pandas 相关的,中间则是与 Matplotlib 相关的。当他把这些方法应用到实际工作中后,他才恍然大悟,原来前2/3他一直想跳过的内容也同样是精华。于是,他惊叹,如果直接跳去看 Scikit-Learn 那么他的工作就不会这么高产了。不知道这算不算是一种小幸运呢?美亚 4.5 分好评可不是盖的。
《Python数据科学手册》是与 Wes McKinney 大佬的 Python for Data Analysis (中文版《利用 Python 进行数据分析》)齐名的数据科学参考书。甚至,在 Amazon 上的综合评分略高于后者。读者在选择的时候,请事先关注这两本书的侧重点。另外,后者第2版中文版还未引入。
图灵还有两本数据科学相关的书,虽然已经出版近三年的时间,但是这两本书目前依然在国内外非常畅销。不过,中文版显然没有英文版卖得好,这两本书分别是《数据科学入门》和《数据科学实战》,前者豆瓣评分6.9(略低了点儿,尴尬,译者还需努力),后者豆瓣评分8.3。
作者:Joel Grus
译者:高蓉 , 韩波
Google数据科学家、软件工程师Joel Grus作品
用Python从零开始讲解数据科学的重量级读本
数据科学、机器学习、模式识别领域必备
本书从零开始讲解数据科学。具体内容包括Python简介,可视化数据,线性代数,统计,概率,假设与推断,梯度下降法,如何获取数据,k近邻法,朴素贝叶斯算法等。作者借助大量具体例子以及数据挖掘、统计学、机器学习等领域的重要概念,通过讲解基础数据科学工具和算法实现,带你快速跨入数据科学大门。书中含大量数据科学领域的库、框架、模块和工具包。
作者:Rachel Schutt , Cathy O'Neil
译者:冯凌秉 , 王群锋
英文原版数据挖掘和算法类畅销书
谷歌、微软、eBay数据科学家通过实际案例分享最新算法、方法与模型
前谷歌高级统计师、哥伦比亚大学讲师Rachel Schutt,MIT数学博士后Cathy O'Neil力作
本书脱胎于哥伦比亚大学“数据科学导论”课程的教学讲义,由统计系讲授数据科学概论课程的讲师Rachel Schutt(受雇于谷歌),与数据科学顾问Cathy O'Neil(前D.E. Shaw定量分析师)合作撰写,每章都会邀请一位数据科学家嘉宾,他们都来自知名公司如谷歌、微软、或eBay,通过分享案例研究和实际使用的代码来讲授新的算法、方法或模型。
怎么样?感觉哪本更适合目前的你呢?话说这几本书难度都不是很大,如果从来没有了解过数据科学,建议从《数据科学入门》 开始上手;《Python数据科学手册》当然是未来数据科学家的随手查阅小帮手了;而《数据科学实战》中讲解了硅谷知名公司的案例,帮我们解锁实战思路。
曾梦想执剑走数据科学之天涯,如今三剑客一起陪你,还怕啥?
小伙伴们说说自己平时使用 Python 的哪些库做过数据分析?啥,你竟然还没开始学习 Python,怎么说你好呢?算了,赶紧搞一本《Python编程:从入门到实践》(零基础)或者《Python基础教程(第3版)》(有其他语言基础)上飞船!
精选留言选出 3 位小伙伴获得《Python数据科学手册》一本。截止 2018 年 3 月 28 日。