在Google、Amazon、Facebook、Uber、Airbnb等公司成功的背后,有这样一批人:他们可以将大量的数据变为有价值的金矿,例如,搜索结果、定向广告、准确的商品推荐、可能认识的好友列表等。没错,他们就是被誉为「今后10年IT行业最重要的人才」—— Data Scientist(数据科学家)。
现在的互联网行业,越来越多的企业对数据科学家求贤若渴。
虽然数据科学家的需求一直在快速增长,但事实是在业内还没有对数据科学家的准确定义。有人开玩笑说,「数据科学家就是住在硅谷的数据分析师」,甚至有人画了这样的漫画:
没错,找到一位优秀的数据科学家和找到一个理解数据科学家是做什么的人一样难。
要理解数据科学家是做什么,首先要理解人尽皆知却总被误读的大数据:大数据不是大量的数据,而是复杂的数据。
《大数据时代》联席作者Kenneth Cukier在Ted上的热门演讲:《Big data is better data》,告诉你大数据驱动技术和设计的未来,以及大数据的「好」与「坏」。
这些解决复杂数据带来的问题的人,就是数据科学家。
那么,数据科学家在工作中是怎样解决问题的呢?
分享两个共享经济的典范:Airbnb和Uber——在运用大数据方面的经验。
1、Airbnb
在Airbnb,工程师要解决这样一个问题:如何让用户了解一个自己从来没去过的地方?如何知道哪个地方最适合自己的旅行?
Airbnb拥有海量的独有数据,包括旅游地、用户评论、房源描述、社区信息等,Airbnb还有一支队伍去各地和当地人交流,搜集所有的相关历史数据。Airbnb的数据科学家是这样运用数据的:
(Airbnb accommodations (red) and traditional accommodations (blue) in San Francisco)
- 当用户在搜寻一个住宿的地方时,Airbnb的「location relevance model」会通过Airbnb社区告诉未来的客人哪里是更好的住宿地。
- 当用户在寻找想体验的新地方时,「Airbnb Neighborhoods」会将当地的内容编辑亲手整理的必备资料和专业的照片呈献给用户。
- Airbnb的「discovery team」通过自然语言处理和机器学习来为用户搜索关键词提供更准确的推荐。
- Airbnb甚至造了一个叫做「AT-AT」的复杂工具,帮助用户更深入地了解某个地点,包括地理信息无法描述的文化或宗教上的区分。
2、Uber
缩短开着空车去接下一位乘客的时间和乘客等待的时间是Uber的车主和乘客的共同需求,他们希望这些时间越短越好。为此,Uber的数据科学家建立了「Location-based demand models」。
(Uber heatmap in San Francisco)
每天实时更新的热点地图(Heatmaps)可以有效帮助车主缩短空载时间,同时帮乘客减少等待时长。下一步,这张图甚至可以预测,这样车主会知道提前去哪里等待可以载到更多的乘客。
数据科学家的由来和定义
虽然数据科学三十年前就诞生了,但是数据科学家却是几年前刚出现的一个新词。在《数据之美》一书中,我们可以看到Facebook的数据科学家的起源:
在Facebook,我们发现传统的头衔如商业分析师、统计学家、工程师和研究科学家都不能确切地定义我们团队的角色。该角色的工作是变化多样的:在任意给定的一天,团队的一个成员可以用Python实现一个多阶段的处理管道流、设计假设检验、用工具R在数据样本上执行回归测试、在Hadoop上为数据密集型产品或服务设计和实现算法,或者把我们分析的结果以清晰简洁的方式展示给企业的其他成员。为了掌握完成这多方面任务需要的技术,我们创造了「数据科学家」这种角色。
所以,用一句话总结「数据科学家」的定义:
运用统计分析、机器学习、分布式处理等技术,从大量数据中提取出对业务有意义的信息,以易懂的形式传达给决策者,并创造出新的数据运用服务的人才。
数据科学家有哪几种类别?
为了更好地阐释数据科学家,我们将它分为三类:
- 理论数据科学家致力于数据科学的理论研究,为其他的数据科学家创造框架和工具。本质上是将统计数据、数据存储和计算机科学在理论层面应用于大数据的学者。
- 应用数据科学家对于如何运用大数据有更好的理解。科学需要严谨,我认为数据应用植根于学术严谨,但是在应用层面工作。应用数据科学家的工作是先进行架设,再用大数据进行验证。每个人都会受惠于他们的研究发现和工具。
- 行业数据科学家用应用数据科学地解决某个具体的市场问题、行业、生意,实现利益最大化的单一目的。行业数据科学家得擅长沟通,能够让他们的发现应用于商业。将工商、经济和会计方面的经验应用在商业领域是他的价值所在。与商业分析师和商业顾问的角色有点相似。
要成为一名数据科学家,需要掌握哪些核心技能?
作为一名数据科学家,一般需要编程和数据库、数学&统计、交流和可视化、领导力和软技能:四个方面的技能。
1、编程和数据库
一般来说,数据科学家大多要求具备编程、计算机科学相关的专业背景,掌握对处理大数据所必需的Hadoop、Mahout等大规模并行处理技术与机器学习相关的技能。一般能利用python熟练的获取数据,整理数据,并会使用matplotlib展现数据。
2、数学、统计和数据挖掘
除了数学、统计方面的素养之外,还需要具备使用SPSS、SAS等主流统计分析软件的技能。其中,面向统计分析的开源编程语言及其运行环境「R」最近备受瞩目。R的强项不仅在于其包含了丰富的统计分析库,而且具备将结果进行可视化的高品质图表生成功能,并可以通过简单的命令来运行。此外,它还具备称为CRAN(The Comprehensive R Archive Network)的包扩展机制,通过导入扩展包就可以使用标准状态下所不支持的函数和数据集。
3、数据可视化
信息的质量很大程度上依赖于其表达方式。对数字罗列所组成的数据中所包含的意义进行分析,开发Web原型,使用外部API将图表、地图、Dashboard等其他服务统一起来,从而使分析结果可视化,这是对于数据科学家来说十分重要的技能之一。
4、领导力和软技能
数据科学家不仅要具有黑客的头脑,对数据有好奇心,还要对商业有热情,是有影响力、有创造力,能解决问题的人。
总之,数据科学家之所以被称为「科学家」,而区别于「数据工程师」和「数据分析师」,其根本在于对数据有极端敏锐的直觉和本质的认知,对问题和业务有深入的洞察和理解,因而能够解决复杂数据带来的问题。