张琪
Chief Engineer
9 个月前
大约需要 14 分钟阅读
数据科学
聊聊数据科学家和数据科学工具
乔纳森·戈德曼(Jonathan Goldman)2006年加入的时候,LinkedIn还是一家初创企业。当时的用户注册量不到800万,由于用户不断介绍他们的朋友和同事加入,这个数字持续在增长。美中不足,用户并没有像公司管理层期望的那样在网站上建立彼此之间的联系。这就像你参加一个热闹的学术会议,到场了才发觉全场没人认识,只好站在角落里小酌几杯,悻悻然提早离场。
戈德曼拥有斯坦福大学物理学博士学位,在分析了用户档案之后他隐约看到了可能性。他开始提出假设、验证预感、寻找模式,逐步能够预测某个用户可能加入哪些社交网络。他认为,推荐好友可能会为用户带来新的价值。
可是,当时LinkedIn的工程团队正忙着对付日益增长的流量,对戈德曼的主意不屑一顾:用户不是已经有一键导入好友列表的功能了,为什么还需要LinkedIn为他们推荐呢?
幸运的是,当时LinkedIn的联合创始人兼首席执行官雷德·霍夫曼(Reid Hoffman)很看好戈德曼的想法,戈德曼最终获得了一个展示广告位做实验。
为了测试向用户推荐他们尚未与之建立联系但可能认识的人——比如在同一时期在某个学校或者公司任职——会发生什么,他在广告位中展示了算法根据用户背景资料计算出来的三个最佳候选人名字。没过几天,神奇的事情发生了:这个特殊的广告的点击率是有史以来最高的!戈德曼进一步改进了算法,结合了诸如格奥尔格·齐美尔(Georg Simmel)的「三元闭包」理论,即如果你认识拉里和苏,那么拉里和苏很有可能彼此认识。
很快,LinkedIn的管理层就认识到这是一个好主意并将其开发成为标准特性,取名「People You May Know」,比其他展示广告的点击率要高30%以上,产生了数百万的访问量。
戈德曼是现代企业新一代关键人物的典型:数据科学家(Data Scientist)。这是一个高阶的职位,凭借专业能力和好奇心,发挥同理心、想象力、创造力和领导力,结合博雅艺术与科学技术,从而在数据的汪洋大海中探索并发现新大陆。
「数据科学家」这次词最早是由帕蒂尔(DJ Patil)和哈默巴赫(Jeff Hammerbacher)于2006年提出,他们当时正忙着在LinkedIn和Facebook组建数据团队。虽然工作进展挺顺利,但是有一件事情却难住了他们:不知道应该如何称呼自己和团队。
如果叫自己分析师,那就很华尔街;研究科学家或者统计学家,又显得太学术。帕蒂尔利用在LinkedIn的职务之便,在职位招聘中使用了各种可以想到的职位描述以便测试哪个对求职者最具吸引力,居然发觉每个人都想成为数据科学家!
究其原因,是因为这个称呼听起来颇具内涵但是又足够含糊不清,这样不仅方便跨领域,还容易让陌生人肃然起敬。在管理层会议中,如果你声称自己是数据分析师,肯定有人会认为你不够资格参加这个会议;但是,如果你声称自己是数据科学家,大多数人会感谢上帝因为终于有个聪明人在场能一起解决问题😊
对了,帕蒂尔后来成为奥巴马政府的白宫首席数据科学家,而哈默巴赫联合创办了著名的大数据公司Cloudera。现如今,LinkedIn展示的数据科学家(Data Scientist)的职位数量已经远超金融分析师(Financial Analyst)了。
谷歌趋势关于数据科学家关键词搜索的报告
那么,数据科学家究竟需要拥有什么样的技能呢?
数据科学家的核心能力是边探索边发现,在数字王国中去芜存菁并逐步找到规律。当他们有所发现时,他们会向管理层或者产品经理传达了所学到的知识并建议新业务的发展方向。他们往往还会创造性地借助可视化使得他们的发现引人入胜且具有说服力。
由此可见,很难用一句话来定义数据科学家,因为他们是既是数据黑客、分析师、布道者,也是值得信赖的良师益友。拥有这样技能组合的人更是万里挑一,难怪《哈佛商业评论》称数据科学家是「二十一世纪最性感的职业」。
孵化器
这个世界充满了悬而未决的问题,但是,大多数决策往往只能在信息不充分的情况下做出的。摸着石头过河固然是一种方法,然而,通过访问大型数据集并且进行有效分析,有可能大大降低决策的不确定性。
但是,只依赖少数专家做出重要的推理分析是不现实的。数据科学可以让每个人将这些技术应用于他们的工作、研究和个人决策。批判性思维长期以来一直是教育的目标,无论商业还是社会,虽然都涉及归纳推理,但是结论往往很少能被直接证明,而在数据支持下的评判往往是最有效的,因为数据科学提供了进行精确可靠的定量论证的方法。
数据驱动的决策已经深刻改变了金融、广告、制造和房地产等行业。同时,学术界也正在迅速将大规模数据分析纳入其理论体系和科学实践中。
曾几何时,软件工程师和量化工程师是商界的热门职业。如今,数据科学家是公司竞相招聘的人才。随着公司与前所未有的信息量和类型作斗争,对这些专家的需求远远超过供应。因为,数据科学家是实现大数据带来的机遇的关键。他们为大数据定义结构、在大数据中找到模式,并就对产品、流程和决策的影响向高管提供建议。他们发现埋藏在数据中的故事并传播出去。他们不只是提供报告,而是抓住问题的核心问题,并设计创新方法。
某些科技公司索性尝试培养自己的数据科学家。EMC认为数据科学家对自身和客户开展数据分析的关键因素,其教育服务部门启动了数据科学和大数据分析培训和认证计划,通过训练的员工可以转岗到内部的大数据项目。巴克莱银行也开始提供在线教程和博客,教授股票交易员如何编写Python程序做盘后分析,毕竟没法给每个人配给足够的量化交易员。
而在学术界,不少大学在现有的商业分析课程中增加大数据课程和作业,或者推出数据科学院系和课程。比如,加州大学伯克利分校的「数据科学基础」是一门向所有专业的低年级学生介绍统计学、计算机科学和数据分析的开创性课程:
在讲座期间,学生可以在他们的笔记本电脑上实时编写和编辑代码,使用教授在课堂上讨论的相同数据集和代码。课堂学习是主动的和互动的:触手可及的大型数据集,学生可以自己尝试处理,并进一步向教授提出问题。
笔记本
伯克利分校的「数据科学基础」课程大屏幕上的应用看起来是不是很眼熟?没错,这个就是Jupyter笔记本(Jupyter Notebook),一个免费开源的交互式计算笔记本,方便数据科学家把软件代码、计算输出、注释文本和多媒体等资源组合在同一个文档中。这个单词是编程语言Julia(Ju)、Python(Py)和R的合成,带着浓浓的统计味道。
计算笔记本最早是用于科学计算的实验室笔记本,研究人员在其中嵌入代码、数据和文本来记录他们的计算方法,结果便得到一个「计算故事」——一份允许研究人员通过分析、假设和猜想来辅助他们的代码和数据的文件。
对于数据科学家来说,这种方式极其适合探索。笔记本使用了交互式计算,用户在其中进行操作,立即便能查看发生了什么,然后修改并在研究人员和数据之间重复迭代,以便在场景、理论、数据和结果之间建立清晰的联系。
计算笔记本带来的优势包括:
- 探索性数据分析:Jupyter允许用户立即查看代码的结果,而无需依赖代码的其他部分,这点于传统的集成开发环境很不一样。立即输出对于探索性数据分析至关重要。
- 支持多种语言:Jupyter本身可以使用多种语言内核来处理数据。另一方面,由于笔记本文件以JSON格式保存,使得笔记本应用可以跨平台和语言。
- 数据可视化:Jupyter笔记本支持可视化,可以借助Matplotlib或Plotly等模块把计算结果用图形和图表展示出来。
- 与代码的实时交互:Jupyter笔记本通过小组件(Widgets)为探索代码和数据交互性提供了标准的用户界面。因此,用户可以通过图形用户界面与数据互动,拉近与数据的距离。
- 保存计算结果:维护每个单元的执行状态很困难,但是对计算笔记本而言,这项工作毫无难度,因为无论是训练机器学习模型还是从远程服务器下载大量数据的代码输出,都作为计算单元的结果为被缓存。
研究人员还可以使用笔记本创建教程或交互式手册,以课堂讲座无法比拟的互动方式参与课程并从中吸收知识,是科学和工程计算教学的杀手级应用。
Jupyter笔记本主要组件之一就是前端网页,提供编辑代码或文本的矩形单元。然后,浏览器将该代码传递给后端的内核(Kernel),该内核运行代码并返回结果。目前已经支持了几十种编程语言的内核。
每个笔记本只能运行一个内核,但是,内核不一定运行在用户的计算机上。当数据科学家使用Jupyter笔记本来分析他们的数据时,代码可能运行在某个数据中心的超级计算机上运行,提供笔记本电脑无法比拟的计算能力。
计算笔记本这样的工具虽然非常受到数据科学家欢迎,但是用户仍然需要知道如何正确使用笔记本。
乔尔·格鲁斯(Joel Grus)在一次Jupyter开发者大会上发表了题为「我不喜欢笔记本」的演讲,这种反客为主的行为也显示了社区的宽容。他说,当笔记本没有按预期运行而感到沮丧的时候,可能并不是他们写错了代码,而只是无意中将代码单元运行先后顺序弄乱。他还认为Jupyter笔记本鼓励了糟糕的编码实践,因为它使代码组织变得困难。所以,数据科学家不得不定期重新启动内核并从上到下运行笔记本。
计算笔记本就像锤子:你不会用错锤子,但是锤子并不是万能的。毫无疑问,在数据探索和沟通领域,计算笔记本独孤求败。但是在企业应用中,要把Jupyter笔记本与企业应用结合的时候往往有很多问题。另一个挑战是,数据科学家与市场和销售部门交互和共享数据的时候,也有太多的复制和粘贴以及手动操作。
为了克服这些挑战,不少初创公司正在探索超越Jupyter笔记本的人们与数据协作的最佳方式,希望通过提供一种简单优雅的方式在整个公司分析数据的方式来改变这种状况,比如Deep Note、Hex、Noteable,以及我们 😎
记事本服务初创企业融资情况
如果说文艺复兴是驱使欧洲走出黑暗中世纪进入现代的原动力,那么数据科学已经向公众展示出了通过数据的能力进一步推进文明的可能性。究竟机器和数据能为我们做什么,都将由我们来决定。
祝近安。
张琪
Chief Engineer
求学多年于北京大学数学系,身为产品经理设计过大数据和人工智能服务,转职开发工程师也撸得了微服务和前端;待过外企也混过民企,做过个人贡献者也当过研发部总经理;英语说得流利普通话也有京腔;享受过朝九晚五也体验过有福报的日子。经历比较复杂,阅历还算丰富。最喜欢的就是跟家人旅游,读万卷书、行万里路。