|
|
|
|
移动端

2.1 Python简介

《精通数据科学:从线性回归到深度学习》第2章Python安装指南与简介:告别空谈,本章介绍数据科学中最常用的IT工具:Python以及相关第三方库。本节为大家介绍Python。

作者:唐亘来源:人民邮电出版社|2018-05-24 09:09

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


第2章 Python安装指南与简介:告别空谈

If you are immune to boredom, there is literally nothing you cannot accomplish.

(如果你能忍耐乏味,你将无往不利。)

——David Foster Wallace

2.1 Python简介

2.2 Python安装

2.3 Python上手实践

2.4 本章小结

本章介绍数据科学中最常用的IT工具:Python以及相关第三方库。本书后面章节的代码示例和模型实现都基于此。正所谓“工欲善其事,必先利其器”,为了更深入地理解数据科学,读者需要确保已安装好所需的IT工具,并基本熟悉其使用方法。

如果读者对此已十分熟悉,可选择跳过本章。虽然如此,作者仍推荐阅读本章。

2.1 Python简介

记得在几年前,数据科学刚刚兴起的时候,我有幸参加了一次行业里的聚会,探讨数据科学的内涵、机会以及难点等。其中有一页PPT给我留下了深刻的印象,如图2-1所示。

当时看到后一笑而过,程序员总会强调自己使用的语言是最好的,比如著名的“PHP是世界上最好的语言”。这里用略带戏谑口吻的段子来强调Python语言的重要性,感觉很新颖。但是经过这几年的工作实践,我愈发感到:这虽然是个段子,却在很大程度上真实地描述了数据科学这个行业的工作状态,甚至可以说是直击痛点。

为了更形象地说明这个问题,我们不妨假设我们有个小伙伴叫小安。数学系毕业的她刚刚获得了一份数据科学相关的工作。上班的第一天,她满怀热情而且迫不及待地想接触这个崭新的行业。但是她很快就发现自己面临着一个巨大的困难:

工作所需要处理的数据并不存放在她的个人电脑里,而是都保存在远程服务器上,有的存放在传统的关系型数据库里,有的存放在Hadoop集群上。与个人电脑大多使用的Windows不同,远程服务器上使用的都是类Linux系统[1]。小安很不习惯这种操作系统,因为熟悉的图形化界面不见了。一切操作,比如最简单的读取文件都需要自己编程来实现。因此,小安很想找到一款书写简单、易学易用的编程语言。

[1] 关系型数据库(Relational Database),用比较学术的语言表述:它是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。关系型数据库从直观上来看,它用二维网状表来表示数据,有点类似于数学中的矩阵,每一行表示一个个体,每一列表示一个属性。 在实践中,常用的标准数据查询语言SQL来操作关系型数据库里的数据。比较常见的数据库有Oracle、DB2、MSSQL等。

Apache Hadoop是一款开源的分布式数据系统。它包括资源管理、存储和计算3部分,支持在大型计算机集群上运行应用程序。目前,Hadoop已形成一个强大的“生态圈”,是流行较广的大数据储存和处理软件。Linux是一款开源的操作系统,它的作用与Windows类似,是管理计算机硬件与软件资源的计算机程序。由于Linux的开放性,是目前使用最为广泛的操作系统,特别是远程服务器和其他大型平台上。比如世界上前500台速度最快的超级计算机90%以上运行类Linux系统。以上简介均参考自维基百科。

更致命的是,小安所熟悉的数据建模软件,比如SPSS、MATLAB等在新的工作环境里都没办法使用了。而小安在平时的工作里会经常用到这些软件提供的一些基础的算法,比如线性回归、逻辑回归等。所以,她希望所找到的编程语言也有可以方便使用的算法库,当然最好是免费的。

小安的日常工作流程大致如图2-2所示。

整个过程和小安最爱的乒乓球很像,把假设当成“球”发给数据,再根据数据的“回球”,做出调整,并重复上述的动作。因此,小安又在她的要求里多加了一条:编程语言能随时修改随时使用,不需要编译。最好能有个即时响应的命令窗口,方便她快速验证自己的想法。

经过一番搜索,小安激动地告诉大家,她找到了满足她所有要求的IT工具:Python。下面我们就让小安来给我们介绍一下她的选择。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

公钥基础设施PKI及其应用

公钥基础设施PKI(Public Key Infrastructure)是利用公钥概念和加密技术为网上通信提供的符合标准的一整套安全基础平台。公钥基础设施能为...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊