书名:数据科学家修炼之道
ISBN:978-7-115-41824-1
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
• 著 [美]Zacharias Voulgaris
译 吴文磊 田 原
责任编辑 陈冀康
责任印制 张佳莹 焦志炜
• 人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
• 著作权合同登记号 图字:01-2014-5848号
读者服务热线:(010)81055410
反盗版热线:(010)81055315
Zacharias Voulgaris 博士在希腊出生并长大。在读完了克里特理工大学5 年的工程学位后,他攻读了伦敦城市大学的信息系统与技术的硕士学位。之后,在伦敦大学伯贝克学院的 G.Magoulas 教授与B.Mirkin 教授的联合指导下,他获得了博士学位。此后,他受聘于乔治亚理工大学并成为研究员,一直从事数据科学家的相关工作。
本书特色
我们的社会正迈入数据驱动的时代,“数据科学家”这个职业正变得越来越炙手可热。要是你想在不远的将来在这个主流的行业中独占鳌头,本书会告诉你应该怎么做。
本书中的每一章都充满了实用的信息,能够帮助你分享大数据的丰硕成果,并成为一名成功的数据科学家。
市面上专门针对数据科学家的图书和资料很少。
Simplified Chinese translation copyright ©2016 by Posts and Telecommunications Press ALL RIGHTS RESERVED
Data Scientist, The Definitive Guide to becoming a Data Scientist,by Zacharias Voulgaris, PhD,ISBN 978-1-935504-69-6
Copyright © 2014 by Technics Publications,LLC
本书中文简体版由Technics Publications授权人民邮电出版社出版。未经出版者书面许可,对本书的任何部分不得以任何方式或任何手段复制和传播。
版权所有,侵权必究。
数据科学家是指采用科学方法、运用数据挖掘工具寻找新的数据洞察力的工程师,他们往往集技术专家和数据分析师的角色于一身。在IT行业中,数据科学家将在创造力、沟通能力以及与商业世界的联系方面得到更多的锻炼机会,是当前非常有发展潜力的新兴职位。
本书全面介绍了成为数据科学家应当了解的各类知识。全书共分18章,首先介绍了数据科学与大数据、数据科学的重要性,接着介绍了数据科学家的类型、思维体系、技术资质、经验、社交圈、所用的软件、学习新知和解决问题,另外还介绍了机器学习与R语言平台、数据科学的处理流程、所需的具体技能,最后介绍了数据科学求职、自我展示,并提供了一些有关职业数据科学家和资深数据科学家的案例学习。
本书内容全面、轻松易读,非常适合从事数据科学相关工作的读者阅读,是一本可以帮助读者应聘数据科学家职位的求职指南。
在一年半以前,对数据科学家这个角色,我既没有清晰的认识,也不明白它的重要价值。那时候,我陷没在一个毫无希望的网络营销公司,已经开始忘记我曾艰辛数年所学的知识。不知道是什么让我下定决心去研究这个主题(当时根本没有什么像样的书,更不用奢谈有谁能来指导我),但我内心非常清楚,那段日子让我的身心得到了放松。当然,在这个过程里,我碰到了许多既没学过,也不知道如何去学的问题,而这还是在我每周花费50小时的前提下,而且在我生活的地方根本没有一个能深入教导数据科学的课程。但我努力坚持了下来,我深信我所付出的一切都是值得的,更不用说这个过程让我感到愉悦。就算我在这条道路上失败了,至少在这个过程里我学到了许多有用的技能。
这本书是写给那些同样渴望探索这个领域的人们。当我开始探索数据科学的时候,我不得不用一种艰难的方式学习,并通过尝试和犯错,以及艰难地通过文章、视频和网络上其他的资源来研究数据科学。好在,这些对你来说将会容易得多。而这正是我写这本书的原因,也就是让你有这样一本手册,可以在这个充满挑战的变革中获得指导。
数据科学是具有高回报的领域,它处理的是数据世界中激动人心的新大陆—大数据。数据科学是一个由许多有趣的挑战所构成的领域,而这些挑战是因为我们还尚不能直接有效地利用大数据。但这也为创造力的发挥提供了空间,也使你能够以数据科学家的身份去探索和开拓更多的可能性。
另外,通过数据科学家这个角色,你会获得锻炼自己能力的机会。在IT领域里,没有第二个角色能够赋予你这样的机会:创造能力、沟通能力与商业世界的直接联系,等等。通过精妙地使用你能获取的数据,你将为你的组织(例如公司、政府机构,甚至是慈善组织)提供价值。这些数据与你平常在漂亮的数据库里碰到的数据完全不同,它们体量巨大,类型多样,而且很散乱。于是,这催生了大数据与数据科学家的诞生,他们就是以科学的富有创造力且易于理解的方式来处理大数据的专业人士。但是,到底什么是大数据呢?大数据跟传统数据有什么差别?一个简略的回答是“没办法只用一台电脑去处理的数据就是大数据。”尽管这通常是因为数据的体量巨大,但还是有些别的原因。我们一般总结为4个特征,通常被称为大数据的4个V。
体量(Volume):与我们常见的“一般”数据不同,大数据要大得多得多,例如几个“太”字节(TB)到几个“泽”字节(ZB)。ZB是TB的100万倍,是GB的10000亿倍。非常非常大!在2010年,整个世界的数据量达到了差不多1ZB,相当于是125000000个8GB媒体播放器的存储容量。更夸张的是,这个数字在过去几年里以极快的速度增长着,并且没有任何想要停下来的意思,这么巨量的数据塑造了大数据的身形。这样巨大的体量与无法被单机处理的特性(即便是一台超级计算机)带来了并行计算的方法(一组计算机通过网络连接一起工作)。在大数据项目里,这种计算方式被大量采用。
多样(Variety):由于数据源既可以是传统的,也可以是非传统的,这造就了大数据的多样性。我们平常所处理的数据通常来说是结构化的数据,这种数据常见于数据库中,严格用行和列表示。我们非常清楚它的类型和大小,而且我们大概也能猜到数据是什么样子。然而,大数据还囊括了非结构化数据和半结构化数据。非结构化数据没有提前定义下层数据的行列结构(例如说,Facebook的贴子、微博和电话呼叫记录)。而半结构化数据则是介于结构化与非结构化特征的数据结构(如机器的日志和电子邮件的地址格式)之间。
高速(Velocity):大数据另一个重要的特征就是它的速度,或者说,是数据传到企业以及被处理的速率。传统数据被认为是低速的,或是相对静止的,这包括从它的形成方式以及它产生的位置到它被处理的位置的传送速度可以体现。而大数据却是一直处于移动状态,而且是高速移动(尽管有时候也会有些例外)。这就意味着,大数据需要快速地处理,如果可能的话,最好是实时处理,以便于激发它的潜力。例如说,金融服务公司每秒需要以延迟不超过30微秒(微秒即百万分之秒)的速度分析500万条市场讯息。
精确(Veracity):由于这是一个新近加入的特征,所以有许多关于大数据的参考资料上仍写着3V属性。大数据同样也应是精确的,这是一个与数据的质量(即是否值得相信)息息相关的属性。正如大家所料,只要是数据就会掺有杂讯或者称之为噪音。有效地使用大数据就意味着要能够识别出这些藏在信号之后的噪音。这项挑战需要高超的分析技巧,如果不仔细,那么得出的统计结论就不是由真实的数据所支撑的,还可能导致我们做出不准确的决定。
有时候还能够看到另外两个V,即多变性和可见性,但不是所有人都认同这两个特征。
不难发现,要让大数据有效地运作起来往往充满挑战。由于信息所蕴藏的潜在价值越来越明显,而驾驭大数据的手段也正持续增加着,大数据对产业界来说已经不容忽视了。想想亚马逊(Amazon)和奈飞(Netflix),他们对大数据精妙的使用为它们带来了竞争优势,同时也为行业开辟了一条新路。如果你身处在线购物行业,举个例子,你的大量客户群将带来大量数据,想象一下,你能获得他们的购物习惯、年龄构成、男女比例等特征,以及相应而来的通过分析数据所获得的大量机会。
基于这些你获得的科技新知,你可以再往前多走一步:也就是设计一个小工具或者App来利用你通过数据所洞察到的结果,或者是帮助你的用户获得类似的洞察力来提升他们的使用体验(如在线商店)。这也是亚马逊(Amazon)变得如此成功的一个原因。这就不止是向用户提供品类多样的产品,而是可以通过一些有益的特性,如推荐系统使整个购物体验变得更容易且更愉悦。许多类似的基于大数据智能分析的小程序被称为数据产品,它们集合了大量数据科学家的成果。而说到数据科学家,他们其实并不直接参与到产品的具体制造,而是以工程师的方式来帮助其他的数据科学家。所以即使是在一些具体工作中,数据科学家们由于各自技能的不同,所处领域也是千差万别的。
所以问题并不在于是否要跳上大数据的快车,而是怎么跳上去。这就得问数据科学家了。数据科学家在业内是一个崭新的角色,而自从他被引入求职市场以来,越来越受到人们的欢迎。这个职位涉及数据尤其是大数据处理的方方面面,并以充满智慧且有条不紊的方式创造着有用的产品(前文述及的数据产品)。这种以小工具或是App应用的形式出现的产品往往能给出连用户都还不知道的有价值的信息(后一点是由一位非常成功且富有经验的数据科学家John Foreman强调的)。大数据带来了数据处理和图像化的新法则,这种强有力的工具只有具备了独特的思维与技能的数据科学家才能驾驭。
许多人总是把科学家和数据分析师混淆在一起。其实他们的差别很大,这种差别很像航天飞机和普通飞机的差别。数据分析师会一些数据处理的技巧,尽管这些数据可能极为接近大数据的范畴,但相比于数据科学家来说,这种处理方式低效而且缺乏灵活性。数据分析师依靠一系列被预定义好的模型来导出有用的信息并制成报表交给业务人员过目,而数据科学家则是自己构建模型,或是在他的分析过程中使用完全由数据驱动的分析方法,这通常会推出一些能为他人所用的成果,不仅限于自己公司的业务人员使用。数据分析师在他的报告中会提出一些靠直觉产生的图表,而数据科学家则会创造一个可以交互的仪表盘,表盘上可以看到所有必要的实时信息。
换句话说,数据分析是一种非常有用的工具,但如果有人想利用我们今天遍及四处的数据,那么他就不仅需要高效的数据分析技能,而且需要本书在后文所述及的各种其他实用知识。作为一个数据分析师是很棒的,但这也会把你困在结构化数据里的某个单一数据类型里面,而且,这些数据集还会把你变成一个只能处理小数据集的人。如果你想尝试更大而且更复杂的数据,你就需要学习数据科学家的处理思路。
数据科学家不能仅仅知道该怎么做,尽管对于那些对此感兴趣的人,这是一件极具愉悦感而且令人向往的工作。由于新技术的发展,他[1]所处的领域无时无刻不在发生变化,这使得这个领域充满活力。在科技的最前沿,与十分有趣的人群沟通,帮助其中一些人去驱动变革。数据科学是一个交叉学科领域,所以数据科学家们需要通过学习以及整合各学科的知识,用更系统性的方式去扩展自己的世界观。最重要的是,他们处理问题和数据的方式是十分有创造力的。
数据科学家同样是一个很好的职业。举例来说,这是一个能够给组织带来战略性优势的新角色(同时,不是很多人都会接受相应的训练)。根据Indeed.com的数据,对于具有相同工作年限的求职者,数据科学家所能获得的薪水相当丰厚,在一般情况下都好于其他的IT职业。此外,数据科学家还有机会发展自己各方面的技能,使自己成为一个多面手,能够有机会与行业或是科技界的各种各样的人打交道。尤其在金融风暴时期,技术专才求职会变得特别困难,而经受过数据科学的训练就凸显出其价值了。
这本书由18章组成,涵盖了数据科学的多项基础知识。在最开始的几章里,你会学到更多关于大数据领域的细节(数据科学和大数据是什么;为什么数据科学非常重要,尤其是现在;以及数据科学家的各种不同类型)。接着,你会有机会学习到如何成为一名数据科学家(数据科学家的思维体系,他们的技能资质,这个角色所需要的经验以及一些社交网络的内容)。之后你会有机会了解数据科学家的日常生活(他用什么软件;在这份工作里学习新知的重要性,以及数据科学流程的主要环节)。后面的章节里,你会看到各种从现在的工作转职到数据科学家的路径图(如果你是一个名程序员,你应该学什么,如果你是一个统计员或是机器学习的从业者,如果你是一个与数据相关的职业,或者你是一个学生)。然后,我会向你提供一些如何找到你的第一份数据科学工作的切实可行的建议(到哪里去找,如何以一个“未来的”数据科学家表达自己,以及如果你想做自由职业者,你应该去思考哪些问题)。最后,你会读到一些真实的数据科学家故事,他们的经历、观点,还会有一些真实的数据科学家岗位的任职要求。书的最后是一个术语表以及3个附录,还有一些有用的网站、网上相关的文章和线下扩展阅读资源以及一些综合索引。
这本书用高山鹦鹉(Kea Bird)来形容数据科学家。这种鹦鹉以它的聪慧、创新、好奇而闻名,并且高山鹦鹉也是这个族群中最为稀少的一个品种,这些特点使高山鹦鹉与众不同,同样,这些特点也为数据科学从业者所共有。
我真诚地希望这本书能为大家带来帮助,也希望能让你从中获得快乐。尽管转型本身的要求十分苛刻(尤其是如果你还在职业生涯的初始阶段),但这份经历是迷人且具有高回报的。当你最后成功转型成为数据科学家之后,这个领域的精彩程度仍丝毫不减。这不是一个给轻言放弃的人设置的角色,成为数据科学家在各个层面上都是精彩的经历,而且会是一段使人着迷的旅程。那么,你准备好启程了吗?
Zacharias Voulgaris博士
[1] 尽管我使用“他”在全书中指代数据科学家,但这个从事这个职位的既可以是“他”也可以是“她”。
我们今天面临着诸多来自大数据和其他数据分析带来的困难,而数据科学正是对这些挑战的回应。在介绍中,我们简要剖析了一下大数据,但那仅仅是“冰山的一角”。事实上,围绕着大数据,能说的太多了,单凭这一章仍无法得其全貌。但是,你能够通过本章认识到大数据在今时今日的重要性。更重要的是,这一章能让你拨开大数据的迷雾(过去几年里日益弥散的炒作),让你明白数据科学的重要性。
大数据是当今商业的基础资产。大数据以及大数据相关的技术能够得到这么广泛地利用绝不是巧合,现今的诸多行业要么正用着大数据,要么准备要去用大数据。尽管关于大数据的各种炒作甚嚣尘上,但大数据并不是昙花一现。对这些资源善加利用会带来诸多优势,而目前这种资源的日益丰富也是值得关注的信号,不仅要用,而且要快!也许在某些行业里,大数据还不能带来价值,因为这些行业的数据非常混乱,甚至不存在数据。而那些拥有数据并对数据善加利用的人,会在当今竞争激烈的经济环境下占得先机并立于不败之地。
大数据含有与我们身边的业务难题息息相关的丰富信息。举例来说,如果你是一个电商公司的经理,你就可以在你公司网站上收集到关于你客户和访客的丰富信息,若能对此善加利用,你就能够增加公司的销售额、提升网站设计并改善客户服务,它还能为你提供市场策略和提升公司的整体策略的建议。这些都是由居住在你的服务器中的0和1实现的。你只需要从你的资源中分出一小部分,并从这些数据中间提炼出信息。这当然不是一桩赔本买卖,我们稍后会再回到这个例子。尽管有些网络数据披着大数据的外衣,但并不是每一种数据融合都可以叫做大数据。这主要是因为大数据的4个V特性。[1]
图1.1 大数据的4个V特性
如我们之前所看到的,它们有如下几个特性。
在过去的几年里,半结构化数据和结构化数据成为了大数据的主体数据类型。
在我们最开始的案例中,一个你会面临的典型数据集可能会有以下性质。
数据量会非常大,并伴随着更快的增长趋势,特别是如果你的网站在监控访问者的各方面行为时。这些数据会很轻易地在一年之内达到几个TB。
由于访问者来来去去以及不断有新的访问者加入,数据会持续流动。这会变成在你服务器上连续的网络活动,也就是从网站中涌入你的服务器日志的数据流。
这些从访问者身上收集来的数据会有很大的不同,从简单的网站统计数据(例如在每一页上所花费的时间、访问总时间、访问了哪些页面,等等)到在网站中输入的文字(假设你有一些评论系统,例如大多电商网站)以及其他类型的数据(例如,消费者对各类商品的评分以及交易记录, 等等)
很自然地,并不是你在服务器上所观察到的一切都是值得信任的。有一些访问可能来自于黑客的机器人或者是来自于一些用户的不良目的,而有部分访问者可能是你的竞争者,正在暗中观察你!一些访问者会在他们的评论中写错别字,或是因为一些原因留下一些随意的或是无用的信息。即使你有一些过滤系统,你的网站上不时地收到一些无效数据也是不可避免的。
基于以上所有的观察,你还认为你在公司处理着大数据吗?为什么?如果你理解了上面说的这些概念,你应该自信并正面回答这些问题。每一个描述这个公司的数据情形的要点都与这几个V中的某一个有关。
很自然地,并不是所有的行业都会被大数据运动施以相同的影响。基于这些公司在多大程度上依赖他们的数据以及数据会给予他们多大程度上的回报,他们可能视大数据为一座金矿,或者一项可有可无的投资。根据最近的统计,下面一些行业已经从中受益,或资产中的大部分即将受益于大数据:
注意,收益并不总是直接与盈损有关,但绝对具有不可忽略的商业价值。例如,通过在健康护理行业部署大数据技术,医生可以调取过往资料以更好地了解病人的情况,从而做出更好的诊断,并提供更好的护理服务。这最终可以产生更有效率的医疗体系,并通过智慧地使用由数据导出的有价值的信息来降低医疗成本。
另一个案例来自于客户关怀,在这里大数据可以帮助改善糟糕的用户体验。通过有效地利用大数据技术,公司可以接近实时地得到用户喜好以更好地了解客户。这可以帮助调整从业者对待这些客户的策略,并给予他们一个提升未来服务的更佳的视角。
注意,仍有大量的行业具有从大数据中获得价值的潜力,但是基于他们现在的状态,这也许并不是一个值得他们投资的选项。例如说,艺术产业是一个难以在大数据中做大的行业,这源于他们所具有的数据只限于艺术品描述以及一些艺术品的数字化形式。但是,这也很可能在未来会改变,这取决于艺术家们如何采取下一步行动。举例来说,如果某一个画廊开始使用传感器来观察某一件画作前的人数,并且与其他的数据合并在一起(例如,有多少人也买了同样展出这件作品的其他展览的票),他们可以慢慢地建立起一个大数据库,包含传感器信息、票务销售信息,甚至是顾客们对画廊博客中对各种画作的评论。
所有这些都是隐晦地告诉人们哪些艺术品更有人气,从而产生了许多有用的信息。同样这些信息,对于画廊来说,也可以提供最合适的画展的票价。这些都很棒,但哪些会真正对你产生价值呢?你看,更高的利润空间以及更显著的生产力提高并不会自己发生。那种认为安装一个大数据包然后再分配一些任务给员工(即使是受过训练的员工)就可以获得显著收益的想法是很幼稚的。为了利用大数据,公司需要雇用那些可以成功地把表面上看起来混乱的数据变成有效(可操作)信息的员工。所有的数据科学家都会被要求去解决这样的问题,同时,这也是推动数据科学领域发展的众多驱动力中的一个。
数据科学领域起源于揭示大数据中潜在的价值,以及克服之前提及的4个V的挑战。这在过去是可以通过组合先进的现代计算设备达到的。特别地,并行计算、复杂数据分析流程(主要是通过机器学习)以及低成本的强劲计算能力使这种需求变成可能。此外,在不远的将来,不断加快的IT基础架构以及技术进步将使我们可以产生、收集以及处理更多的数据。通过这些,数据科学可以凭借智能化应用以及发展和使用这些技术的创新能力在技术层面上处理大数据难题。这也就是说,大数据在一定程度上是可以被管理并至少能够提供一些有价值的信息,而这则是大数据是值得花时间精力投入进去的原因。
认识到数据科学并不是一种时尚是很重要的,而是在未来会得到迅速发展的领域。如果你曾是互联网时代的一个IT专家,你可能会觉得大数据仅仅是一个风潮或是一个奢侈品,但那些真正发现大数据的真实和潜在价值的人是可以从中发现其盈利的可能的。
想象一下成为第一批学习HTML、CSS和JavaScript的人,或者是第一个制作数字图像用于网站设计的人。这就像拿着一张得奖的彩券,尤其是如果你对自己的工作非常在行的话。这就是今天的数据科学。如果没有那么多人分享大数据的收益,它现在也不会这么出名。当然,大多数从业者和众多学生并没有注意到数据科学到底意味着什么。
如果你理解了前文所述及的大数据的各种事实,你就应该能理解数据科学是用来应对日趋严峻的问题的解法。如我早前所说的那样,这个问题反映了大数据的4个V属性,使传统方法陷入困境的属性。由于技术发展,在未来10年,数据科学也必然会变得更加健壮完善、更加多样。已有一些研究项目在全球出现[2],也同时有许多业内知名的研究者发表关于数据科学主题的论文。这并不是巧合,它表明了基础架构知识以及如何操作的发展趋势,而这些也会滋养这个领域的发展。至于数据科学的诞生时间已经不可考了(有一些人在这个领域的研究已经超过好几十年了),但第一次在正式会议中吸引关注是1996年在IFCS发表的《数据科学、分类以及相关方法》(Data Science,Classification and Related Methods)。直到2005年,“数据科学家”这个名称才第一次出现在文章中。特别是,在文章发表的那 年[3],数据科学家被定义为“信息和数据科学家、数据库及软件工程师以及程序员、学科专家、博物馆馆长和专业注解者、图书馆管理员、档案管理员以及其他一些对成功管理数字化数据集的关键人物”。在2009年6月,数据科学家这一职务的重要性变得更加明显,正如Nathan Yau在FlowingData发表的文章《数据科学家的崛起》(Rise of the Data Scientist)一文中说的那样[4]。自此,在数据科学方面的文章和引用得以快速增长。看看现在有多少会议是以这个名义组织的,这不只发生在学术界,同样也发生在工业界。不仅如此,由于许多在各自领域处于领导者的大公司(如亚马逊)都在各自的工作流程中使用了数据科学,这个趋势很可能会持续下去。同样,由于数据科学家这个职位适合于千变万化的数据世界需求,它也正变得包含许多新特征(如前沿数据分析技术的应用),而不再是一些原始需求了。
[1] 事实上,有些人还会提及另外两个V:多变性(variability)和可见性(visibility),这说的是大数据通常会随着时间变化,而且对于用户来说,很难洞察其中的变化。
[2] 其中一个项目在伯克利大学,花费了大约60美元,而它的价值则远超你在其他地方看到的高学费的MBA课程,这很显然表明不管是业界还是学术界,大数据都不容忽视了。
[3] Long-lived Digital Data Collections: Enabling Research and Education in the 21stCentury),原文详见http://www.nsf.gov/pubs/2005/nsb0540。
[4] 该文章在作者写作本书时,仍可以在线访问,原文详见http://flowingdata.com/2009/06/04/rise-of-the-data-scientist。
[5] Davenport、Thomas H.以及 D J Pattil. 于2012年10月在《哈佛商业评论》上发表的《数据科学家:21世纪最迷人的职业》。
在上一章中,我们对数据科学的来历和它与大数据的关系有一个粗浅的了解。我们同样介绍了这个领域的重要里程碑以及为什么这些年它会变得这么流行。然而,这仅仅是轻轻地掠过了表面,因为数据科学仍有很多的内容等待我们揭开。为了能更好地理解数据科学,我们即将翻开历史,检视它所包含的新规则,以及它所带来的新思维,同样,还有它所带来的新变化。
“数据科学”这一术语的流行要早于“大数据”的出现(就像“数据”一词要早于“计算机(computer)”400年出现)。1962年,当John W. Tukey[1]写了《数据分析的未来》(The Future of Data Analysis)[2],他预见了数据分析的新方法的崛起相比于方法论来说更像是一门科学。1974年,Peter Naur在瑞典和美国出版了《计算机方法的简明调查》(Concise Survey of Computer Methods)[3]。尽管这仅仅是对当时的数据分析方法的综述,但这本书却第一次定义了数据科学是“一门研究数据处理的科学,在创立之初,数据与它所表示的事物之间的关系属于其他学科领域的范畴”。所以,在那时,任何有熟练计算机知识同时有理解数据语义的人都在一定程度上算是一名数据科学家。因为没有精致的工具,没有神奇的范式,也没有新科学做它的支撑,所以这个词过了这么久才流行起来也一点儿都不奇怪了。
由于在之后的10年里,计算机技术与统计学开始交汇,Tukey的观点开始显现出来,尽管这种变化显得十分细小。直到20世纪80年代,它才开始通过一项在数据科学界十分出名的方法得到发展,而这个方法就是数据挖掘。随着时间脚步的行进,数据的科学化处理达到了新的高度,而数据科学则在1996年叩响了学术界的大门。1996年,在日本的神户,分类学社团国际联合会(International Federation of Classification Societies)举行了一个大会,大会的名称叫“数据科学、分类学以及相关方法”(Data Science, Classification and Related Methods)。它使得数据科学在学术圈内声名鹊起,同时也使得它与其他的数据分析术语(例如分类学)区别开来。显然,数据科学的涵盖范围要大得多,这使得数据科学渐渐成为了一支独立学科。
在之后的1997年,《数据挖掘与知识发现杂志》创刊了,定义了数据挖掘是“从大数据集中抽取信息”的概念,这是第一次数据科学方法在科学界得到了与工业界内一样的流行与认可。这个方法我们会在第11章“数据科学的处理流程”中再次遇到。
随着数据库变得更大,数据科学的角色在20世纪90年代后期的出镜率也变得更高。这种观点也随着 Jacob Zahavi在他1999年的文章“为知识中的金矿而挖掘数据”[4]中得到放大。他写道“传统统计方法在小数据集中可以运行得很好。然而,今天的数据集可能会涉及上百万行以及上百列的数据。扩展性是数据挖掘中的一个巨大问题,另一个技术挑战在于开发出更适于分析数据,发现非线性关系以及元素间相互作用的模型,以及专用的数据挖掘工具来帮助网站进行决策”。这非常清晰地勾画了数据分析的新框架,而数据科学则是在将来帮助解决这个需求的领域。
进入2000年后,关于数据科学的出版物开始呈现增长态势,尽管主要在学术范围内。关于数据科学的报刊杂志以及书籍变得越来越多,同时吸引了大量研究者的关注。在2005年9月,如我们在上一章节内提到的,“数据科学家”一词在一篇政府报告中被第一次定义了(尽管只是一般的表述)。之后,在2007年,数据科学重点实验室在中国上海成立了。
2009年对数据科学来说是重要的一年。朱扬勇与熊赟,两位是之前提到的重点实验室的研究员,在他们的“数据学导论”[5]中提到,数据科学是一门新的科学,明显地不同于自然科学与社会科学。此外,在2009年1月,Hal Varian(谷歌首席经济学家)提出,在接下来的10年里,统计学家[6](当别人并不非常熟悉数据学时,也会被用来指称数据科学家)将会是一个迷人的职业。最终,在2009年6月,Nathan Yau的文章《数据科学家的崛起》[7]被刊载于《Flowing Data》,使得数据科学家这一角色对于非学术世界的人们变得熟悉起来。
在现在这个10年(2010~2020年)中,关于数据科学的出版物变得丰富,尽管除了你正在读的这本书之外,还没有权威的信息途径论述如何有效地成为数据科学家。“数据科学”一词得到了具体地定义,其精华则被总结在Drew Conway 在2010年9月的韦恩图中(见图2.1)
图2.1 关于数据科学的韦恩图
图2.1所示为Conway关于数据科学的韦恩图,图例展示了数据科学的主要组成部分以及它与机器学习和传统研究的差别。通过“Danger Zone”(危险区域),他大致是指“黑客/解密者”对计算机系统的安全危害(图片源: DrewConway)。
他的话提供了对成为数据科学家更深刻的理解,“一个人需要学习许多知识去变成他所渴望成为的全能数据科学家。但不幸的是,仅仅通过读书和辅导练习并不能解开这些扭结。因此为了简化讨论,同时也把我的思考放到已经拥挤不堪的创意市场里去,我将数据科学的韦恩图呈上……黑客技术、数学和统计学知识,还有专业知识。[8]
最终,在2012年9月,Hal Varian的这10年里迷人的职业的表述竟演变成一篇文章,并刊登于哈佛商业评论(“数据科学家:21世纪里最性感的职业” [9]),这篇文章更是引爆了大众对数据科学家这一角色重要性的认知。
值得注意的是,与这些出版物和大会同时发生的,还有许多在线的关于数据科学的社会活动。第一个官方的数据科学小组是于 2009年6月在LinkedIn上成立的(以数据科学家小组而知名[10]),而且他们还有自己的独立网站(现网址datascientists.net以及原网址datascientists.com)。其他的数据科学小组也已在2008年上线,然而自从2010年以来,他们的数量就以燎原之势增加,同样增加的还有数据科学家的在线招聘的帖子,这会在第13章展开叙述。同样值得注意的还有在过去的几年里,还有很多关于数据科学的非学术会议。这些会议以研讨会的形式进行,针对数据领域的专家、项目经理和执行层开展。
数据科学带来了许多新规则的繁荣,这些新规则由一些很棒的工具组成,主要有如下几种。
MapReduce是一个并行、分布式的算法,用来把负责的任务分割成一系列简化的任务,之后用一种非常有效率的手段解决它们,基于此可以增加处理复杂任务的性能以及降低计算资源的成本。尽管这个算法之前就存在,但它在数据科学中的广泛应用仍增加了它的知名度。
Hadoop分布式文件系统(HDFS)是一个旨在充分利用并行计算技术的开源平台,它基本上是通过把大数据分拆成小块然后分发给在网络上计算机来实现管理。
高级文本分析常常是指自然语言处理(NLP),这是一个数据信息领域,包含许多从非结构化文本数据提取有效信息和商业智能的技术。在数据科学之前,这个领域并不存在。
大规模数据程序语言(例如Pig、R、ECL等)是可以有效地处理大数据集的编程语言。它们在数据科学出现前处于开发状态或完全不存在。
替代性的数据库结构(例如,Hbase、Cassandra、MongoDB,等等)是一些用并行计算技术来处理大数据的归档、查询以及编辑的数据库。
你可能对在现代Windows操作系统内使用的新技术文件系统(New Technology File System,NTFS)有所了解,这是一个在大多数个人电脑上不太出问题的文件系统,相当令人满意。但它对于在互联的计算机网络内处理大量数据并不适用。另外,NTFS有一个256 TB的文件大小限制,而这对于许多大数据应用来说是远远不够的。基于UNIX的文件系统面临类似的挑战,而这也是为什么当Hadoop被开发出来之后,必须创建一个新的文件系统的原因,一个适用于计算机集群的文件系统。HDFS允许用户去浏览计算机集群上的所有文件而且可以运行一些基本的操作就像在一台独立的计算机上操作一样(尽管大多数文件可能是散布在整个网络上的)。
Hadoop的灵魂是MapReduce,这是一个使计算机网络可以用低风险来高效分拆数据的规则。所有的数据都会被复制,以预防集群内的计算机(通常称为节点)发生崩溃。还有一些用来负责任务的时序安排和管理数据流的管理节点。首先,所有数据会通过一组称为Mapper(映射器)的集群节点执行映射操作。一旦执行结束,另一组节点会接受归约(Reduce)任务,当之前处理过的数据处理成有用的输出,这一组节点称为Reducer(归约器),也可能任务最后还会经过Mapper。所有的事情都是通过管理节点来协调的,管理节点可以保证所有阶段的输出在集群上都是被安全存储的(以多个副本的形式)。一旦整个处理流程结束,用户就会得到最后的输出结果。MapReduce规则包含了许多相当单调的程序。它的巨大优势在于它能确保该流程会完成地比较快,而且高效地利用所有可用资源,同时降低因为硬件故障而导致数据丢失的风险(这对于大型集群来说非常常见)。
文本分析已经存在一段时间了,但数据科学引入了一些高级的技术使得之前的技术显得相形见绌。现代(高级)文本分析使用户可以处理大量的文本数据,在允许诸如拼写错误、句内的多词分割以及其他问题的前提下,能够精确快速地找到文本模式。高级文本分析能够在社交媒体的帖子上确定情绪表达,识别出是否某人的评论是直述或是嘲讽,而这些在没有利用这些高级文本分析方法前对于机器来说是极难处理的,这种进步使通过在Hadoop环境内部署人工智能算法应用成为可能。
大规模数据程序语言,例如Pig、R和ECL的开发就是为了解决大数据问题,同时它们与Hadoop环境可以很好地融合(事实上,Pig就是Hadoop生态系统的一环)。R在大数据出现前就存在,经历了一系列大的改变,现在可以与Hadoop连接,同时可以处理HDFS里的文件。由于编程语言在现代并不是非常难于开发,很有可能在您读这本书的时候,这个行列里又会出现新的编程语言,所以把眼睛睁大总没有什么坏处。到这个10年结束的时候,很可能现有的这些语言并不会成为数据科学家的首选语言(尽管另一种可能是R语言仍会广泛流传,基于现在它有非常巨大的用户群)。
多亏了数据科学,新的替代性数据库结构才会到来。这些结构包括哈希表(例如,JBoss数据网格、Riak),B-树(例如,MongoDB、CouchDB),以及日志结构的合并树(例如,HBase、Cassandra)。不同于传统的数据库,这些模式类型旨在服务于大数据,因此它们在数据库内读写数据的方式是比较灵活弹性的。每一种类型都有它们适用与不适用的范畴,由于传统数据库在记录超过一定的级别后会崩溃,所以相比于传统数据库,它们要好用一些。举例来说,如果你有一个由上百万行列记录的大型数据库(如大型的数据仓库),要在这样的数据库中找到某一列中的最大值可能会超过很多人愿意等待的时间。同样的查询在列式数据库中(如HBase)用不了1秒。
所有这些规则是基于一组计算机的概念之上的,也就是一个计算机集群,它们的运行远远好于任何一台独立的(甚至是超级的)计算机,只要集群足够大。这种创意是基于智能和定制策略来规划基本的任务,好让它们能够被计算机集群高效地处理,主要是优化处理问题的流程。自从诞生以来,这些新规则的人气不断增加,而且得以迅速的发展进化。有大量的关注度(和钱)投入到这些科技中去。学习他们在不久的将来一定会获得回报。
到现在为止,你大概能认识到数据科学不仅仅是一些聪明的工具、方法论和运用方法了。这是一种对数据的全新的整体认知。很自然地,这种规则转变带来了人们在处理相关项目时的方式,如何参与亟待解决的问题,以及如何以从业者的身份使自己成长。
数据科学需要我们更系统地思考,将对问题的创见性方法与实际情况结合在一起。这就好像是以一个优秀的建筑师一样的思维方式,将艺术的角度(通过设计)与工程本身,以及时间的管理一起结合起来。规划对于使用大数据来说是至关重要的,尽管是同一件任务,但不同的执行方式会涉及对资源极大差异的需求,而最后产生的结果却可能不会有多大不同。
由数据科学家带来的这种新思维带变化是显而易见的。数据科学家通常工作于由数据建模师、商务人员以及其他专业人士(视不同行业)组成的不同团队中。而相应地,他们几乎不会像经历传统瀑布模型的程序员一样,独自一人工作很久。
此外,数据科学家通过查阅现有文献,并与熟悉亟待解决问题的不同领域的人士建立联系,把问题分解成可以被处理的小问题来逐渐解决。
数据科学家成功的必备技巧并不少见。一个数据科学家应该能够轻易地学习新知。随着大数据技术的快速发展的脚步,数据科学家必须具备敏锐的头脑来快速掌握新的方法以及熟悉新的工具。
数据科学家需要弹性灵活,轻易地适应新商业领域、新团队成员以及新的工具(例如他刚开始工作所用的工具和工作结束时所用的工具有很大的不同)。他需要擅长建立联系,并认识到他所缺乏的技能并开始设法学习它们。总之,数据科学家所需的几乎所有技能是需要能够被快速转变,并且运用于广阔而且不同的场景中。最后,他应该是一个能被任何团队,特别是IT团队所接纳的强力人物。
我们会在第4章详细介绍如何转变思维以及所需的技能,并将它们付诸于实践。
数据科学的历史比人们通常想象得要悠久,然而,直到上一个10年(2000~2010年)才得以落地。
Drew Conway在2010年9月创作的著名的韦恩图,有效地总结了数据科学的本质。
数据科学带来了许多新规则,它们改变了我们传统处理数据的方式,主要有如下几个。
MapReduce。
Hadoop分布式文件系统(HDFS)。
高级文本分析。
大规模数据编程语言(如Pig、R、ECL等等)。
替代性数据库结构(如HBase、Cassandra、MongoDB等等)。
数据科学的规则转变了我们处理数据的手段,而这对我们的生活产生了巨大的影响。正如它带来对处理大数据有至关重要价值的新思维一样。
数据科学的提升带来的新思维,同样带来了数据科学家的职业生活和他与人相处的新变化。
[1] Tukey 是一位了不起的统计学家,他创造了图克显著性检测方法,该方法现在常常与著名的方差分析(ANOVA)方法一起使用,关于图克方法详见 http://www.itl.nist.gov/div898/handbook/prc/section4/prc471.htm)
[2] John W. Tukey: _The Future of Data Analysis, _Ann. Math. Statist. Volume 33, Number 1, 1962.
[3] Peter Naur: 计算机方法的简明调查, 397 页. 学生文学,隆德,瑞典, ISBN 91-44-07881-1, 1974.
[4] http://knowledge.wharton.upenn.edu/article/mining-data-for-nuggets-of-knowledge
[5] 朱扬勇,熊赟. 数据学导论. 2009. 文章可以在以下网站内获得(译者注:该链接已无法访问,有兴趣的读者可以访问http://dataology.fudan.edu.cn/_upload/article/58/b5/cba7d7a9429f9f2da662a9c337ac/0e17782c-3dd6-486d-b699-1456abc4ab39.ppt获取PPT):http://www.dataology.fudan.edu.cn/s/98/t/316/51/0d/info20749.htm。
[6] http://www.mckinsey.com/insights/innovation/hal_varian_on_how_the_web_challenges_managers
[7] http://flowingdata.com/2009/06/04/rise-of-the-data-scientist/#comment-30739
[8] http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram
[9] http://hbr.org/2012/10/data-scientist-the-sexiest-job-of-the-21st-century
[10] http://www.linkedin.com/groups?home=&gid=2013423 &trk=anet_ug_hm