数据科学 怎样进行大数据的入门级学习

中国领先的IT技术网站
51CTO旗下网站
数据科学 怎样进行大数据的入门级学习?
数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。
作者:来源:36大数据| 10:06
数据科学并没有一个独立的学科体系,统计学,机器学习,数据挖掘,数据库,分布式计算,云计算,信息可视化等技术或方法来对付数据。
但从狭义上来看,我认为数据科学就是解决三个问题:
1. data pre-(数据预处理)
2. data interpretation;(数据解读)
3.data modeling and analysis.(数据建模与分析)
这也就是我们做数据工作的三个大步骤:
1、原始数据要经过一连串收集、提取、清洗、整理等等的预处理过程,才能形成高质量的数据;
2、我们想看看数据&长什么样&,有什么特点和规律;
3、按照自己的需要,比如要对数据贴标签分类,或者预测,或者想要从大量复杂的数据中提取有价值的且不易发现的信息,都要对数据建模,得到output。
这三个步骤未必严谨,每个大步骤下面可能依问题的不同也会有不同的小步骤,但按我这几年的经验来看,按照这个大思路走,数据一般不会做跑偏。
这样看来,数据科学其实就是门复合型的技术,既然是技术就从编程语言谈起吧,为了简练,只说说R和Python。但既然是荐数据科学方面的书,我这里就不提R/Python编程基础之类的书了,直接上跟数据科学相关的。
R programming
如果只是想初步了解一下R语言已经R在数据分析方面的应用,那不妨就看看这两本:
R in action:我的R语言大数据101。其实对于一个没有任何编程基础的人来说,一开始就学这本书,学习曲线可能会比较陡峭。但如果配合上一些辅助材料,如官方发布的R basics(),stackoverflow上有tag-R的问题集(),遇到复杂的问题可在上面搜索,总会找到解决方案的。这样一来,用这本书拿来入门学习也问题不大。而且这本书作者写得也比较轻松,紧贴实战。
Data analysis and graphics using R:使用R语言做数据分析的入门书。这本书的特点也是紧贴实战,没有过多地讲解统计学理论,所以喜欢通过情境应用来学习的人应该会喜欢这本入门书。而且这本书可读性比较强,也就是说哪怕你手头没电脑写不了代码,有事没事拿出这本书翻一翻,也能读得进去。
但如果你先用R来从事实实在在的数据工作,那么上面两本恐怕不够,还需要这些:
Modern applied statistics with S:这本书里统计学的理论就讲得比较多了,好处就是你可以用一本书既复习了统计学,又学了R语言。(S/Splus和R的关系就类似于Unix和Linux,所以用S教程学习R,一点问题都没有)
Data manipulation with R:这本书实务性很强,它教给你怎么从不同格式的原始数据文件里读取、清洗、转换、整合成高质量的数据。当然和任何一本注重实战的书一样,本书也有丰富的真实数据或模拟数据供你练习。对于真正从事数据处理工作的人来说,这本书的内容非常重要,因为对于任何研究,一项熟练的数据预处理技能可以帮你节省大量的时间和精力。否则,你的研究总是要等待你的数据。
R Graphics Cookbook:想用R做可视化,就用这本书吧。150多个recipes,足以帮你应付绝大多数类型的数据。以我现在极业余的可视化操作水平来看,R是最容易做出最漂亮的图表的工具了。
An introduction to statistical learning with application in R:这本书算是著名的the element of statistical learning的姊妹篇,后者更注重统计(机器)学习的模型和算法,而前者所涉及的模型和算法原没有后者全面或深入,但却是用R来学习和应用机器学习的很好的入口。
A handbook of statistical analysis using R:这本书内容同样非常扎实,很多统计学的学生就是用这本书来学习用R来进行统计建模的。
Think Python,Think Stats,Think Bayes:这是Allen B. Downey写的著名的Think X series三大卷。其实是三本精致的小册子,如果想快速地掌握Python在统计方面的操作,好好阅读这三本书,认真做习题,答案链接在书里有。这三本书学通了,就可以上手用Python进行基本的统计建模了。
Python For Data Analysis:&作者是pandas的主要开发者,也正是Pandas使Python能够像R一样拥有dataframe的功能,能够处理结构比较复杂的数据。这本书其实analysis讲得不多,说成数据处理应该更合适。掌握了这本书,处理各种糟心的数据就问题不大了。
Introduction to Python for Econometrics, Statistics and Data Analysis:这本书第一章就告诉你要安装Numpy, Scipy, Matplotlib, Pandas, IPython等等。然后接下来的十好几章就是逐一介绍这几个库该怎么用。很全面,但读起来比较枯燥,可以用来当工具书。
Practical Data Analysis:&这本书挺奇葩,貌似很畅销,但作者把内容安排得东一榔头西一棒子,什么都讲一点,但一个都没讲透。这本书可以作为我们学习数据分析的一个索引,看到哪块内容有意思,就顺着它这个藤去摸更多的瓜。
Python Data Visualization Cookbook:&用Python做可视化的教材肯定不少,我看过的也就这一本,觉得还不错。其实这类书差别都不会很大,咬住一本啃下来就是王道。
Exploratory Data Analysis 和 Data Visualization
Exploratory Data Analysis:John Tukey写于1977年的经典老教材,是这一领域的开山之作。如今EDA已经是统计学里的重要一支,但当时还是有很多人对他的工作不屑一顾。可他爱数据,坚信数据可以以一种出人意料的方式呈现出来。正是他的努力,让数据可视化成为一门无比迷人的技术。但这本书不推荐阅读了,内容略过时。要想完整地了解EDA,推荐下一本:
Exploratory Data Analysis with MATLAB:这本书虽然标题带了个MATLAB,但实际上内容几乎没怎么讲MATLAB,只是每讲一个方法的时候就列出对应的MATALB函数。这本书的重要之处在于,这是我读过的讲EDA最系统的一本书,除了对visualization有不输于John Tucky的讲解外,对于高维的数据集,通过怎样的方法才能让我们从中找到潜在的pattern,这本书也做了详尽的讲解。全书所以案例都有对应的MATALB代码,而且还提供了GUI(图形用户界面)。所以这本书学起来还是相当轻松愉悦的。
Visualize This:中译本叫&鲜活的数据&,作者是个&超级数据迷&,建立了一个叫的网页展示他的数据可视化作品,这本书告诉你该选择什么样的可视化工具,然后告诉你怎样visualize关系型数据、时间序列、空间数据等,最后你就可以用数据讲故事了。如果你只想感受一下数据可视化是个什么,可以直接点开下面这个链接感受下吧!A tour through the visualization zoo()
Machine Learning & Data Mining
这一块就不多说了,不是因为它不重要,而是因为它太太太重要。所以这一部分就推两本书,都是&世界名著&,都比较难读,需要一点点地啃。这两本书拿下,基本就算是登堂入室了。其实作为机器学习的延伸和深化,概率图模型(PGM)和深度学习(deep learning)同样值得研究,特别是后者现在简直火得不得了。但PGM偏难,啃K.Daphne那本大作实在太烧脑,也没必要,而且在数据领域的应用也不算很广。deep learning目前工业界的步子迈得比学术界的大,各个domain的应用如火如荼,但要有公认的好教材问世则还需时日,所以PGM和deep learning这两块就不荐书了。
The Element of Statistical Learning:要学机器学习,如果让我只推荐一本书,我就推荐这本巨著。Hastie、Tibshirani、Friedman这三位大牛写书写得太用心了,大厦建得够高够大,结构也非常严谨,而且很有前瞻性,纳入了很多前沿的内容,而不仅仅是一部综述性的教材。(图表也做得非常漂亮,应该是用R语言的ggplot2做的。)这本书注重讲解模型和算法本身,所以需要具备比较扎实的数理基础,啃起这本书来才不会太吃力。事实上掌握模型和算法的原理非常重要。机器学习(统计学习)的库现在已经非常丰富,即使你没有完全搞懂某个模型或算法的原理和过程,只要会用那几个库,机器学习也能做得下去。但你会发现你把数据代进去,效果永远都不好。但是,当你透彻地理解了模型和算法本身,你再调用那几个库的时候,心情是完全不一样的,效果也不一样。
Data Mining: Concepts and Techniques, by Jiawei Han and Micheline Kamber 数据挖掘的教材汗牛充栋,之所以推荐这本韩家炜爷爷的,是因为虽然他这本书的出发点是应用,但原理上的内容也一点没有落下,内容非常完整。而且紧跟时代,更新的很快,我看过的是第二版,就已经加进去了social network analysis这种当时的前沿内容。现在已经有第三版了,我还没看过,但应该也加入了不少新内容。其实这本书并不难读,只是篇幅较长,啃起来比较耗时。
其实这两本书里单拎出来一块内容可能又是几本书的节奏,比如bayesian方法,再拿出两三本书来讲也不为过,我个人用到的比较多,而且也确实有不少好书。但并非是所有data scientist都要用到,所以这一块就不再细说。
还有一些印象比较深刻的书:
Big Data Glossary:&主要讲解大数据处理技术及工具,内容涵盖了NoSQL,MapReduce,Storage,Servers,NLP库与工具包,机器学习工具包,数据可视化工具包,数据清洗,序列化指南等等。总之,是一本辞典式的大数据入门指导。
Mining of Massive Datasets:这本书是斯坦福大学Web Mining的讲义,里面很多内容与韩家炜的Data Mining那本书重合,但这本书里详细地讲了MapReduce的设计原理,PageRank(Google创业时期的核心排序算法,现在也在不断优化更新)讲解得也比较详细。
Developing Analytic Talent:&作者是个从事了十几年数据工作的geek,技术博客写得很有个人风格,写的内容都比较偏门,通常只有具备相关数据处理经验的人能体会出来,丝毫不照顾初学者的感受。比如他会谈到当数据流更新太快时该怎么办,或者MapReduce在什么时候不好用的问题,才不管你懂不懂相关基础原理。所以这本书不太适合初学者阅读。这本书其实是作者的博客文章的集结,用how to become a data scientist的逻辑把他近几年的博客文章串联了起来。
Past, Present and Future of Statistical Science:这本书是由COPSS(统计学社主席委员会,由国际各大统计学会的带头人组成)在50周年出版的一本纪念册,里面有50位统计学家每人分别贡献出的一两篇文章,有的回忆了自己当年如何走上统计学这条路,有的探讨了一些统计学的根本问题,有的谈了谈自己在从事的前沿研究,有的则给年轻一代写下了寄语。非常有爱的一本书。
Harvard Data Science:这是H大的Data science在线课,我没有修过,但口碑很好。这门课需要费用8千刀左右,比起华盛顿大学的4千刀的Data science在线课虽贵一倍,但比斯坦福的14千刀要便宜将近一半(而且斯坦福的更偏计算机)。如果想自学,早有好心人分享了slides: ()和homeworks and solutions: ()
PyData:PyData是来自各个domain的用Python做数据的人每年举行一次的聚会,期间会有各路牛人举行一些规模不大的seminar或workshop,有好心人已经把video上传到github,有兴趣的去认领吧()
R/Python/MATLAB(必备):如果是做数据分析和模型开发,以我的观察来看,使用这三种工具的最多。R生来就是一个统计学家开发的软件,所做的事也自然围绕统计学展开。MATLAB虽然算不上是个专业的数据分析工具,但因为很多人不是专业做数据的,做数据还是为了自己的domain expertise(特别是科学计算、信号处理等),而MATLAB又是个强大无比的Domain expertise工具,所以很多人也就顺带让MATLAB也承担了数据处理的工作,虽然它有时候显得效率不高。Python虽然不是做数据分析的专业软件,但作为一个面向对象的高级动态语言,其开源的生态使Python拥有无比丰富的库,Numpy, Scipy 实现了矩阵运算/科学计算,相当于实现了MATLAB的功能,Pandas又使Python能够像R一样处理dataframe,scikit-learn又实现了机器学习。
SQL(必备):虽然现在人们都说传统的关系型数据库如Oracle、MySQL越来越无法适应大数据的发展,但对于很多人来说,他们每天都有处理数据的需要,但可能一辈子都没机会接触TB级的数据。不管怎么说,不论是用关系型还是非关系型数据库,SQL语言是必须要掌握的技能,用什么数据库视具体情况而定。
MongoDB(可选):目前最受欢迎的非关系型数据库NoSQL之一,不少人认为MongoDB完全可以取代mySQL。确实MongoDB方便易用,扩展性强,Web2.0时代的必需品。
Hadoop/Spark/Storm(可选): MapReduce是当前最著名也是运用最广泛的分布式计算框架,由Google建立。Hadoop/Spark/storm都是基于MapReduce的框架建立起来的分布式计算系统,要说他们之间的区别就是,Hadoop用硬盘存储数据,Spark用内存存储数据,Storm只接受实时数据流而不存储数据。一言以蔽之,如果数据是离线的,如果数据比较复杂且对处理速度要求一般,就Hadoop,如果要速度,就Spark,如果数据是在线的实时的流数据,就Storm。
OpenRefine(可选):Google开发的一个易于操作的数据清洗工具,可以实现一些基本的清洗功能。
Tableau(可选):一个可交互的数据可视化工具,操作简单,开箱即用。而且图表都设计得非常漂亮。专业版1999美刀,终身使用。媒体和公关方面用得比较多。
Gephi(可选):跟Tableau类似,都是那种可交互的可视化工具,不需要编程基础,生成的图表在美学和设计上也是花了心血的。更擅长复杂网络的可视化。
【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
原创外电外电头条专题
24H热文一周话题本月最赞
讲师:5人学习过
讲师:36人学习过
讲师:5人学习过
精选博文论坛热帖下载排行
本书将介绍如何创建可交互的Web站点,包括从最简单的订单表单到复杂的安全电子商务站点。而且,读者还将了解如何使用开放源代码技术来实现...
订阅51CTO邮刊与其他一些相关工程职位一样,数据科学家的影响力与互联网同进同退。数据工程师和数据分析师与数据科学家携手共同完成这幅&大数据时代&巨作。他们共同努力拟定数据平台要求,基础和高级算法,提供数据分析和展示所需的可视化工具,并将价值创造以易于理解,富于见解的方式反馈给其他部门。
三者之间的定义又是如何界定的呢?
数据科学家是什么样一个存在呢?
通常情况下,数据科学家有数学或物理方面的高等学位。有博士学位的情况并不少见,硕士学位仅是一个前提条件。数据科学家精通统计建模以及如何构建与定制高级数学算法。这既在他们专业范围内,也是他们所擅长的地方。我听到过有人这样形容一个数据科学家&软件工程技能牛过多数人的酷炫统计学家&。但是,当你问这些数据科学家怎么会从事这个职业时,途径是多种多样的。这是一个相对较新的职位,因而我们也无法根据时间历史来追踪一个数据科学家专业技能是如何进步的。数据科学家和数据工程师的定义有点相互重叠。
除了研究先进算法,数据科学家对AB测试亲力亲为并且拥有博学的多变量测试和实验设计知识。一个专业能力非常强的数据科学家能在模型建成后对其进行改进和改制,而能力鹤立鸡群的数据科学家则能根据你的商业问题定制合适模型。
我结合加工的说:所谓数据科学家,是指运用统计分析、机器学习、分布式处理等技术,从大量数据中提取出对业务有意义的信息,以易懂的形式传达给决策者,并创造出新的数据运用服务的人才。
数据工程师如何定义呢?
数据工程师一般被定义成&深刻理解统计学科的明星软件工程师&。如果你正为一个商业问题烦恼,那么你需要一个数据工程师。这些伙计就是那些能提供可建模数据所需平台的人。他们的核心价值在于他们借由清晰数据创建数据管道的能力。充分了解文件系统,分布式计算与数据库是成为一位优秀数据工程师的必要技能。
数据工程师对演算法有相当好的理解。因此,数据工程师理应能运行基本数据模型。商业需求的高端化催生了演算高度复杂化的需求。很多时候,这些需求超过了数据工程师掌握知识范围,这个时候你就需要打电话寻求数据科学家的帮助。
数据分析师如何理解呢?
数据分析师能洞悉一个方程式的商业意义。他们知道如何提出正确的问题,非常善于数据分析,数据可视化和数据呈现。不管是给另一个数据分析师还是C级执行做演讲,数据分析师都是数据提取,模式识别以及从大量数据中洞察问题方面的能手。
如果你或者你的公司正考虑顺应这股大数据浪潮的发展,你应该从明确你想利用大数据解决所面临的商业问题处下手。接着找出你真正的需求:是数据采集,检索,仓储还是数据分析?然后编写相应的职位描述并做好准备,为了在这场大数据游戏中脱颖而出,你可能需要雇佣不止一个人。
从事这三者都要具备哪些技能呢?
数据科学家所需的技能如下:   计算机科学   一般来说,数据科学家大多要求具备编程、计算机科学相关的专业背景。简单来说,就是对处理大数据所必需的Hadoop、Mahout等大规模并行处理技术与机器学习相关的技能。  数学、统计、数据挖掘等   除了数学、统计方面的素养之外,还需要具备使用SPSS、SAS等主流统计分析软件的技能。其中,面向统计分析的开源编程语言及其运行环境&R&最近备受瞩目。R的强项不仅在于其包含了丰富的统计分析库,而且具备将结果进行可视化的高品质图表生成功能,并可以通过简单的命令来运行。此外,它还具备称为CRAN(The Comprehensive R Archive Network)的包扩展机制,通过导入扩展包就可以使用标准状态下所不支持的函数和数据集。   数据可视化(Visualization)   信息的质量很大程度上依赖于其表达方式。对数字罗列所组成的数据中所包含的意义进行分析,开发Web原型,使用外部API将图表、地图、Dashboard等其他服务统一起来,从而使分析结果可视化,这是对于数据科学家来说十分重要的技能之一。
数据工程师需具备的技能
数学及统计学相关的背景
对于大多数互联网大公司来说,对于数据工程师的要求都是希望是统计学和数学背景的硕士或博士学历,只有具备一定的理论知识,才能理解模型、复用模型甚至创新模型,来解决实际问题。
计算机编码能力
实际开发能力和大规模的数据处理能力是作为大数据工程师的一些必备要素,因为许多数据的价值来自于挖掘的过程,你必须亲自动手才能发现金子的价值。
举例来说,现在人们在社交网络上所产生的许多记录都是非结构化的数据,如何从这些毫无头绪的文字、语音、图像甚至视频中攫取有意义的信息就需要大数据工程师亲自挖掘。即使在某些团队中,大数据工程师的职责以商业分析为主,但也要熟悉计算机处理大数据的方式。
对特定应用领域或行业的知识
数据工程师这个角色很重要的一点是,不能脱离市场,因为大数据只有和特定领域的应用结合起来才能产生价值。所以,在某个或多个垂直行业的经历能为应聘者积累对行业的认知,对于之后成为数据工程师有很大帮助,因此这也是应聘这个岗位时较有说服力的加分项。
数据分析具备的技能
从事数据分析工作的前提就会需要懂业务,即熟悉行业知识、公司业务及流程,最好有自己独到的见解,若脱离行业认知和公司业务背景,分析的结果只会是脱了线的风筝,没有太大的使用价值。
一方面是搭建数据分析框架的要求,比如确定分析思路就需要用到营销、管理等理论知识来指导,如果不熟悉管理理论,就很难搭建数据分析的框架,后续的数据分析也很难进行。另一方面的作用是针对数据分析结论提出有指导意义的分析建议。
指掌握数据分析基本原理与一些有效的数据分析方法,并能灵活运用到实践工作中,以便有效的开展数据分析。基本的分析方法有:对比分析法、分组分析法、交叉分析法、结构分析法、漏斗图分析法、综合评价分析法、因素分析法、矩阵关联分析法等。高级的分析方法有:相关分析法、回归分析法、聚类分析法、判别分析法、主成分分析法、因子分析法、对应分析法、时间序列等。
指掌握数据分析相关的常用工具。数据分析方法是理论,而数据分析工具就是实现数据分析方法理论的工具,面对越来越庞大的数据,我们不能依靠计算器进行分析,必须依靠强大的数据分析工具帮我们完成数据分析工作。
懂设计是指运用图表有效表达数据分析师的分析观点,使分析结果一目了然。图表的设计是门大学问,如图形的选择、版式的设计、颜色的搭配等等,都需要掌握一定的设计原则。
阅读(...) 评论()第 1 章 简介:什么是数据科学
过去几年,“数据科学”和“大数据”的概念被媒体炒得热火朝天。对于这种现象,人们一开始难免疑惑,甚至怀疑。事实上,这就是Cathy和我当时的反应。
对于这些概念,Cathy和我在很长一段时间里都感到迷茫,直到我们俩相识。我们一般会在星期三共进早餐,每当谈起这种现象,都有一种不安的感觉,总觉得在这喧嚣背后确然有一股新潮流在涌现,这股潮流或许是意义深远的,代表着我们整个文化范式在数据的影响下都会产生深刻的改变。Cathy和我都是干这行的,觉得应该发挥我们的强项,去探索这些现象背后的原因,而不是置之不理。
在深入探索之前,我们有必要先介绍一下媒体所炒作的大数据时代,也许你和我们一样,也认为那些概念难以理解、语焉不详。然后,本章会进一步讲解我们是如何拨开迷雾发现背后的真相,以至于Rachel决定在哥伦比亚大学开设数据科学导论课程,而Cathy则在她的博客上同步记录该课程的内容,乃至上述所有内容终于结集成书送到你手中。
1.1 大数据和数据科学的喧嚣
让我们抛开炒作,因为很多人可能和我们一样,都对数据科学心存怀疑。之所以一上来就讲这些,是想让你知道:我们也和你一样!假如你也心存疑虑,说明你也很可能会贡献一份力量,推动数据科学的健康发展,使其对社会产生积极的影响,也使数据科学这门学科趋于正统,在众多学科中能占有一席之地。
让我们先来细数大数据和数据科学之所以这样让人如坠云里雾里的原因。
1. 大多数基本的术语都缺乏严格定义。究竟什么是大数据?数据科学又是什么意思?大数据和数据科学之间有什么关系?数据科学就是关于大数据的科学吗?只有像谷歌和Facebook这样的高科技企业才用得到数据科学吗?为什么有人认为大数据是一个交叉学科(比如天文学、金融学、科技等),但数据科学却只是科技界的事儿?大数据,多大才是大?这些术语及概念如此含混不清,简直毫无意义。
2. 对于数据科学领域的研究者,不管是在学术界还是工业界,公众都缺乏敬意。事实上,他们在这一领域内辛勤工作了很多年,而这些工作是继承了各个领域的前辈们数十年甚至数百年的工作成果,这些领域包括统计学、计算机科学、数学、工程学以及其他学科。而媒体传播给公众的信息却是这样的:机器学习算法是上个礼拜才发明出来的,谷歌出现之前都不存在所谓的大数据。这简直荒谬,很多正在使用的方法和技术,还有我们面临的挑战,都不过是在过去已有的方法、技术和挑战上演变而来的。我们并不否认新事物和新技术的出现,只是觉得应该对历史和前人的研究成果保持必要的敬意。
3. 媒体疯了。人们将各种各样的桂冠加诸数据科学家的头上,人们形容他们是掌握了宇宙奥秘的魔法师,其疯狂程度堪比金融危机之前。天花乱坠的宣传很容易掩盖真相、歪曲事实。这些宣传的噪声越多,真正有效的信息就越少。因此,若“大数据”被媒体吹得越久,公众越容易被误导,越难获知这一概念背后真正有益于社会的一面(如果有的话)。
4. 统计学家觉得他们正在干的事就是数据科学。换句话说,这本来就是他们的饭碗。亲爱的读者们,请设身处地替统计学家们想想,有人抢自己的饭碗是什么感受。媒体也常常将数据科学轻描淡写为统计学和机器学习在科技界的简单应用。我们会在书中阐明,不是说将统计学和机器学习这些“旧酒”装进新瓶里,就叫作数据科学。它绝对有资格作为一个独立的学科存在。
5. 所有自称为科学的都不是真正的科学。这句话或许有些道理,但不代表数据科学这一术语毫无意义,它代表的可能不是科学,而是某种技术。
1.2 冲出迷雾
Rachel取得统计学博士学位到她在谷歌工作的这段经历,或许能帮我们解答一些疑惑,她说:
进入谷歌之后,我很快就意识到工作中用到的东西和我读统计学博士学位时学到的东西差别很大。并不是说我的统计学知识毫无用武之地,相反,我在学校学到的东西为我思考问题提供了一个框架,统计学的很多知识都为我的日常工作提供了坚实的理论和实践基础。
在谷歌工作期间,我发现必须掌握很多在学校没学到的东西,比如计算、编程、数据可视化技能和许多领域知识。这种经验既特殊又普遍,我拥有统计背景,因此需要补充前面提到过的那些知识,而若换作一位计算机、社会学或者物理学背景的人,他们也需要根据自己的知识缺陷去补充相应的知识。每个人都拥有自己独特的知识结构,重要的是大家能够紧密合作,取长补短,组成一个团队去解决数据问题。
一般人对上述故事肯定会有这样一种想法:你走上工作岗位后就会发现,在学校学到的知识,远远不能满足实际工作的需要。因此,本书中教授的统计学知识与业界所应用的统计学方法,肯定也是不尽相同的。对此,我们有一些自己的看法。
为什么学校里的统计要和工业界的统计如此不同?为什么很多学校的课程要和现实如此脱节?
这种差异不仅存在于学校里的统计和工业界的统计之间。很多数据科学家的一个共同感受是,工作时他们需要接触更多的知识、方法论和工序(详见第2章),而这些东西都是以统计学和计算机科学为基础的。
抛却这些媒体给予数据科学的光环,只有一件事是实在的:数据科学是一个新生事物。它刚刚诞生,却被赋予了太多荣耀,使人们对其充满了很多不切实际的幻想,而幻想最终是会破灭的。我们要保护数据科学,过分吹捧可能会让这个新兴领域过早夭折。
Rachel决定去研究数据科学这一文化现象,她想了解其他人对数据科学的感受。她开始和谷歌的人接触,和很多创业公司和高科技公司的人接触,和大学(特别是统计系)里的老师们接触。
从这些接触中,Rachel觉得数据科学的轮廓渐渐清晰起来,她进一步深入,决定在哥伦比亚大学开设一门数据科学导论课程,与此同时Cathy在博客上连载了该课程的讲义。我们期望在这门课程结束时,我们和学生们能对数据科学的本质有一个清晰的理解。现在我们把课程的内容集结成书,也是希望帮助更多的人去了解数据科学。
1.3 为什么是现在
现在,数据充斥在我们生活的方方面面。网络购物、网上通信、浏览新闻、收听在线音乐、搜索信息,或在网上表达观点,这些行为都会被记录。同时,我们拥有充足且廉价的计算能力。有数据,有计算能力,这为从事数据科学提供了良好的环境。
大家都知道,线上数据的收集正在经历一场革命(稍后会详细介绍),但他们所不知道的是,离线数据的采集同样也在革新。人们的日常行为也被“数据化”了。将二者结合起来,我们可以深入研究人类的行为,甚至从更高的物种角度,来研究人类行为区别于其他物种的特殊性。
数据也不局限于互联网产生的数据,金融、医疗、制药、生物信息、公共福利、政府、教育、零售等行业都会产生大量的数据,数据在各行各业的影响力在与日俱增。部分行业所储存的信息达到了“大数据”的程度(详见第2章),而另一些行业的信息量则没有那么多。
数据科学这一课题变得日益有趣(或提出了新的挑战),这不仅仅是因为数据的体量增大,更多的是因为数据本身(很多时候是实时数据)成了构建数据产品的关键要素。在互联网上,有亚马逊的推荐系统、Facebook的朋友推荐系统,还有其他的图书、电影、音乐等推荐系统;在金融业,有信用评级系统、交易算法和模型;在教育领域,可以实现教育对学生的量身定制,比如现在的网络培训公司Knewton和网络大学Khan Academy;在政府机构中,这意味着以数据为基础去制定公共政策。
我们正在见证一个时代的开始,这个时代是一个巨大的、充斥着人文特色的反馈环:我们的行为会改变产品,产品又反过来影响我们的行为。技术使这一切成为可能,我们拥有处理大数据的基础架构、更大的内存和更快的网络,而且社会公众也日渐认同技术是生活中必不可少的组成部分。在十年前,这一切我们还不敢想象。
由于这种基于反馈的循环对社会变革将产生不可小觑的影响力,我们认为,有必要认真考虑如何确保这种循环的良性运行,尤其是直接参与这一过程的人员,在实践中应保持哪些道德准则、应负何种责任。本书的目的之一就是针对这些话题开展一些抛砖引玉的探讨。
Foreign Affairs杂志在月期刊上发表了一篇由库克耶和迈尔-舍恩伯格共同撰写的文章“The Rise of Big Data”(大数据的崛起)。该文谈到了数据化的概念,以朋友之间的关系为例,他们将对朋友的喜欢程度转化为数值,这些数据被存储起来,用于日后研究,或者出售。将问题数据化,这是我们人类处理问题时经常采用的一种方式,不管是线上还是线下。
在文章中,数据化被定义为一种处理流程,它将生活的方方面面转化为数据。比如,谷歌眼镜将其所视范围内的景象转化成数据,Twitter将人们偶尔产生的想法转化成数据,LinkedIn将职业社交网络转化成数据。
数据化是一个很有趣的概念,我们在重视它的同时,必须尊重他人的意愿——是否自愿与人们分享自己的数据。比如,在网上为某个人或某件东西“点赞”时,人们要么是故意让自己的行为“被数据化”,要么最低限度上也清楚自己的行为会被记录下来。但有时却不然,我们只是随意浏览一些网站,我们的行为却被网站上的cookie记录下来;我们走进商店,或者只是走在大街上,会被各种传感器、摄像头监测,或者被谷歌眼镜拍摄,我们的行为被作为数据存储下来,而这种数据化并非出于我们的意愿。
数据化无所不在,从作为实验对象参与到社交媒体实验中,到接受全面调查,再到被人秘密跟踪,这些都是被数据化的典型案例,它们代表了数据化过程中个人意愿从高到低的各种情形,但其产生的结果却远不能如此简单地划分概括。
在文章中他们又说:
“一旦我们可将问题数据化,就能改变人们的意图,并在这些信息基础上产生新价值。”
本书会不时提出这样一个问题:究竟谁才算“我们”?“新的价值”是什么?在他们的文章中,“我们”显然指那些模型和企业,他们引导用户购买更多的产品,赚取更多的钱,“新价值”则指那些能提高效率的方法,比如通过自动化等。
如果将视野放得更大,将这里的“我们”指代更广泛的人类,那就有点逆潮流而行的意思了。在面对数据化的大潮时,我们或许会有所保留。
1.4 数据科学的现状和历史
那么,到底什么是数据科学?它是一门新生事物,还是统计学的旧瓶子里装了新酒?它是纯粹的炒作,还是确有其事?如果它是一门实实在在的新兴学科,它的意义何在?
让我们先上网看看业界关于这一问题的讨论,这不一定能直接回答我们的问题,但听听别人怎么说总是有益的。2010年,Quora网站有一个关于“什么是数据科学”的提问,Metamarket公司的CEO Mike Driscoll的回答如下。
研究数据科学,一方面需要如极客那般刻苦钻研,一方面需要像统计学家那样拥有完美的理论。
数据科学家不仅仅是极客——极客只关心如何调试一行Bash脚本或Pig脚本,没人会在意非欧氏距离矩阵。
数据科学家也不仅仅是统计学家——后者只关注如何完成一个理论的证明或构建出一个完美的模型,很少有人会使用R语言将数据文件读入系统,从而进行后续的分析。
数据科学是一门关于数据的工程,它需要同时具备理论基础和工程经验,需要掌握各种工具的用法。
Driscoll随后引用了2010年Drew Conway的韦恩图来说明研究数据科学需要的技能,如图1-1所示:
图1-1:Drew Conway的数据科学韦恩图
Driscoll还引用了Nathan Yau 2009年的一个关于“数据科学家正在涌现”的帖子,其中介绍了数据科学家们应该具备的各种技能:
统计学(做传统分析时需要的技能)
数据处理(解析、提取和格式化数据)
可视化(图表、工具等)
但是先别忙,如此说来,数据科学就是这些技术的一个简单的组合吗?抑或是诸如统计学、机器学习等学科的一个逻辑上的扩展?
Cosma Shalizi1和Cathy2分别就统计学家和数据科学家的区别这一问题发表了很多看法。Cosma认为,任何一个够格的统计部门都在从事数据科学的工作,数据科学只不过是统计学换了个新说法。
持此观点的还有ASA主席Nancy Geller,她在2011年发表的一篇文章“Don't shun the 'S' word”中说:
我们要告诉人们:是统计学家揭示出数据的含义。在21世纪,各行各业都涌现出了海量的数据,无论是科学、工程还是医学,从文学史到动物学,人们在处理这些数据时都应用了统计学技术。这种数据大爆炸,为统计学者提出了源源不断的研究课题,因此在这个时代从事统计学工作是一件相当令人兴奋的事。
Nancy以为用“从文学史(Art history)到动物学(Zoology)”这种说法,就可以巧妙地暗喻“从头到尾”2的概念,代表了数据科学的应用无处不在。但她这种说法却是搬起石头砸了自己的脚,因为她所罗列的全是学术界的例子,恰恰不包含高新技术企业,而业界才是数据爆炸式增长最迅猛的地方,数据科学也是在这些高新技术企业里得到了长足的发展。在企业中,会有数据科学家的职位,但这一称号在学术界还很少见到(或许这点会慢慢改变)。
2from a to z,意即“完全、彻底”。——编者注
不久前DJ Patil和Jeff Hammerbacher讲述了2008年,他们是如何分别在LinkedIn和Facebook上定义了“数据科学家”这一称谓的。2008年,“数据科学家”成为一个职位,出现在这两家公司的招聘信息里(维基百科于2012年增加了数据科学的相关词条)。
当一组技术在谷歌得到追捧,而且这种势头蔓延到硅谷的其他高科技公司时,一个新的职位就会出现,而当这成为常态,人们就需要给它一个全新的名字,比如数据科学家。当这个新名字声名远播,所有人都希望自己成为一名数据科学家。《哈佛商业评论》( Harvard Business Review)把数据科学家誉为“21世纪最性感的工作”,这无疑是火上浇油。
社会学家在数据科学中的角色
LinkedIn和Facebook都是做社交网络的公司,他们所谓的数据科学家经常是对统计学家、软件工程师和社会学家的统称。这很好理解,因为他们的产品就是社交工具,主要处理的内容是个人(用户)行为。但是根据Drew Conway的韦恩图,数据科学所研究的问题经常是跨领域的,也就是需要大量的“实务知识”(见图1-1)。
也就是说,数据科学家要用到哪些“实务知识”,就要具体问题具体分析了。如果你要解决的是跟社交网络相关的问题,比如说“好友推荐”“可能认识的人”以及“用户分类”等,那一定要把社会学家拉进来。社会学家大多都擅于提问,他们也热爱调查研究,如果他们再会定量分析和编程,肯定会成为优秀的数据科学家。
由于“历史”的原因(其实不过是2008年的事),人们认为数据科学家的工作只是负责分析在线用户的行为数据。而现在兴起了一个全新研究领域,它被称作“计算社会科学”,我们可以将其视作数据科学的一个子集。
让我们回到更早的2001年,当时William Cleveland写了一篇关于数据科学的文章“Data Science:An action plan to expand the field of statistics”。
那么,是先有的数据科学还是先有的数据科学家?
这就引出了一系列问题:我们能通过数据科学家的工作来定义数据科学吗?谁有资格定义这个全新的学科?媒体制造了很多关于数据科学的时髦用语,但他们有资格定义吗?我们需要依赖于这些自诩的数据科学家吗?到底有没有这样一个权威机构?我们暂且不予回答。
数据科学的职位
在布隆伯格的帮助下,哥伦比亚大学决定成立一个新的研究所用于数据科学和工程方面的研究。据我们上一次统计,仅在纽约就有465个数据科学的就业机会。即使数据科学还算不上一个真正的领域,但它已经在产生实实在在的工作职位了。
在这些招聘职位的描述中我们发现,数据科学家被要求具备计算机科学、统计学、传播学、数据可视化等领域的知识,还要是一个“通才”。但事实上,没有人能如此面面俱到,因此组建一个具备多种技能的团队更为可行。通过组建团队让不同领域的专家通力合作,这基本上就可以达到数据科学家的“通才”的要求了。我们先来看看现今的数据科学家需要具备哪些素质。
1.5 数据科学的知识结构
在数据科学导论的课堂上,Rachel发给每个学生一张卡片,让他们根据在如下领域的技能水平填写自己的知识结构:
计算机科学
某一领域的专业知识
沟通和演讲的技巧
数据可视化
图1-2显示了Rachel在数据科学方面的知识结构。
图1-2:Rachel的数据科学知识结构,她试图以此图描绘一个数据科学家应该具备的技能。她希望学生们和客座讲师们都能绘制自己的图谱,并且通过这样的自我检视来发现知识结构中存在的不足
我们把这些卡片钉在黑板上审视一番,发现个体之间技能上的差异还是很大的,这点让我们很满意。比如说,学生中很多都拥有社会学的教育背景。
你在数据科学方面的知识结构是什么样子的呢?你想它在几个月后变成什么样呢?几年后呢?
像我们早先提到的那样,最佳选择可能就是让拥有不同技能的人组成团队进行数据科学方面的工作,因为没人可以掌握所有的知识。于是,我们开始思考,相较于定义“数据科学家”,是否定义“数据科学团队”更有意义?图1-3定义了一个数据科学团队:
图1-3:数据科学团队的知识结构由每个成员的知识结构叠加而来,在组建团队时,要让团队技能与所解决的问题大致匹配
1.6 思维实验: 元定义
每一节课上都会有一个“思维实验”的环节,我们把学生分成小组来讨论问题。很多问题都是开放性的,我们只想借此引发学生就数据科学的相关问题展开更广泛的讨论。在第一节课上,我们的思维实验是:可以通过数据科学的手段来定义数据科学吗?
通过分组讨论,同学们提出了一些有意思的想法。
使用文本挖据模型首先在谷歌上搜索“data science”(数据科学),对搜索结果进行文本挖掘。但在语言的选用上,使用者和从业者的原则是截然不同的。作为使用者,我们会采用大众的定义(所谓大众的定义,即通过谷歌搜索得来的结果)。而对于从业者而言,若能引用权威渠道(比如《牛津英语词典》)的说法来定义数据科学会更严谨一些,但可惜的是这些词汇恐怕尚未收入其中,而且我们也没有耐心去等待了。所以,我们不得不承认,数据科学的定义包罗万象,但目前没有一种定义能让各方都满意。
使用聚类算法何不考虑数据科学的从业者,看看他们是怎么形容自己的工作的(也许最开始是“单词云”的形式)?然后,我们再看看其他行业的从业者,比如统计学家、物理学家、经济学家,看看他们又是怎么形容自己的工作的。然后,我们使用聚类算法(将在第3章用到)或者其他模型,看看根据对工作内容的描述,是否可以预测出其从事的行业。
作为对比,让我们来看看Harlan Harris是如何进行调查,使用聚类算法定义数据科学的子领域的,如图1-4所示:
图1-4:此图使用聚类算法描述了数据科学的子领域,源自Harlan Harris、Sean Murphy和Marck Vaisman基于2012年年中对数百名数据科学从业者的调查所著的Analyzing the Analyzers(O'Reilly)
1.7 什么是数据科学家
也许定义数据科学最具体的方式是看它如何被使用,比如雇主们都花钱让数据科学家去做哪些工作。以此为目的,我们将会具体说说数据科学家究竟都在干什么,不过我们先来看看学术界。
1.7.1 学术界对数据科学家的定义
在学术界,现在还没人称自己是数据科学家,除非他们工作于某大学的“数据科学研究所”,或者在申请数据科学研究的经费,这时,他们才勉强将数据科学家作为自己的第二称谓。
不如我们问另外一个问题:在学术界,哪些人打算成为数据科学家?在哥伦比亚大学的数据科学导论课学习的有60名学生,Rachel打算开设此课时,估计这门课的学生主要来自统计学系、应用数学系和计算机科学系。事实上,后来学生背景的多样化大大超出了她的预想:除过上述三个领域之外,她的学生还有来自社会学、新闻学、政治学、生物医学信息学、建筑学、环境工程、纯数学和商业学院的,此外还有来自纽约市政府机构以及关注社会福利的非盈利性机构人员。其中不乏一些已经在从事数据科学工作的人。他们都很希望能使用数据去解决一些重要的问题,通常这些重要问题具有重要的社会价值。
想要使“数据科学”在学术界立得住脚,其所要研究的领域应该有更规范的定义。值得一提的是,现在数据科学领域已经有很多可以转化成博士论文的研究课题。
让我们试着定义数据科学家:一个学术界的数据科学家首先是个科学家,他接受了任何其他学科的训练(从社会学到生物学等各种学科),还要同大量的数据打交道,不管这些数据的结构、规模以及复杂程度如何,他都能挖掘出数据背后的意义,从而解决现实世界中的问题。
上述例子说明,在不同的学术领域人们面临的计算和深度数据问题都存在较大的共性。若不同机构的研究者通力合作,他们就可以解决各个领域的现实问题。
1.7.2 工业界对数据科学家的定义
那么工业界的数据科学家又在做些什么?这取决于数据科学家的资深程度以及是否将数据科学特别限定在互联网领域。数据科学家这个职位也不是只有科技界才有,但是数据科学这个词的确源自科技界,为了避免混淆,我们就将业界特指为科技界。
首席数据科学家将为公司设定数据策略,这包括筹建用于收集数据和记录日志的基础架构,确定如何在收集数据的同时保护隐私、哪些数据是面向用户的、如何使用数据做决策,又如何把这些数据反过来应用于产品设计,提升产品质量。他要管理一个由工程师、科学家和分析师组成的团队,还要负责和公司的管理层(如CEO、CTO等)进行沟通。他还负责为创新性的成果申请专利和设定研究目标。
更广泛地看,数据科学家是这样一种人,他懂得如何从数据中抽取信息并且解释数据背后的意义,这需要掌握统计学和机器学习中的工具和方法,还要具备人文主义精神。他要花费大量时间来采集、清理和处理数据,因为数据永远都不会是整齐规范到让人一眼可以读懂的。在这个过程中,他需要坚持不懈,需要统计学和软件工程的技巧,而这些也是理解数据的偏差、调试程序时所必备的技能。
当数据被整理成型后,他需要结合可视化和数据的意义对数据进行探索分析。他会找出模式,构建模型,设计算法——有些是为了了解产品的使用情况和整体质量,有些是为了搭建原型,将在这些原型上经过验证的东西重新揉入产品中,从而提升产品品质。他会设计实验,他是基于数据做出决策这一过程中的关键一环。他要使用明白无误的语言和图形同组内成员、工程师、领导层交流,即使有人对数据不是很敏感,也可以通过他知道这些数据背后的意义。
这就是对数据科学的一个概览,本书将帮助你了解其中大多数内容。接下来,让我们停止空谈,开始进入数据科学的实战阶段!}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信