神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者注:在科技快速发展的大背景下,现代社会每时每分每秒都在产生大量的数据。数据量的增大以及种类的多样性在很大程度上影响着一个企业的发展。如今,不同行业内的不同公司都在吸纳数据科学家(Data Scientist)。那么成为一名出色的数据科学家需要具备什么样的技能呢?又有哪些技能可以让你从众多同行中脱颖而出呢?本文编译自Medium平台上原文名为《Top 13 Skills To Become a Rockstar Data Scientist》的文章。
一周前,我在领英上提出了这样一个问题:
“钻石段位与王者段位的数据科学家之间的区别是什么?”
让人诧异的是,这个提问得到了大量的回复。不同行业内的一些顶尖数据科学家们都分享了他们的想法和建议——这些建议都非常有趣且实用。
为了明确钻石段位与王者段位的数据科学家之间的主要区别,我在网上不断搜索相关信息...直到我发现了KDnuggets上的一篇文章。
我从中提取出了所有的关键信息,并罗列出了王者段位的数据科学家需要具备的技能。
实际上,对于任何一个数据科学家而言,要掌握下述所有技能都是天方夜谭的事。但在我看来,恰恰是这些技能决定了谁是钻石段位,谁又是最强王者。
希望大家都能从中受益匪浅,成为更加优秀的数据科学家。
那就开始我们的“上分之旅”吧!
成为王者段位数据科学家需要的13项技能
数据科学家的学历背景都不弱——88%至少拥有硕士学位,46%拥有博士学位。虽然也有一些个例,但是要想成为一个数据科学家,那么专业知识是必备的。相应地,你也需要具备出色的学历背景。你可以去攻读计算机科学、社会科学、自然科学以及统计学的学士学位。最常见的专业领域就是数学和统计学(32%),其次分别是计算机科学(19%)和工程学(16%)。这些专业的相应学位能够让你具备处理和分析大数据的技能。
攻读完学士学位之后,你还要接着深造。事实上,大多数的数据科学家都拥有硕士学位或博士学位,此外他们还会参与一些线上培训,来学习特定技能,比如说如何使用Hadoop或Big Data查找。你还可以选择攻读数据科学、数学、天体物理学或相关领域的硕士学位。硕士阶段学习到的技能能够帮助你轻松过渡到数据科学。
除了校园课程学习之外,你还要学以致用,开发一款应用、创建博客或是进行数据分析,进而收获更多知识。
在我看来,如果你能胜任好这份工作,那么攻读硕士或博士学位并非是强制性的。就大多数行业内的岗位要求来看,倘若你可以解决好业务问题,那么你也不必去做研究或是利用尖端、新颖的机器学习模型。
利用好免费的电子书资源:成为专业数据科学家的74个秘密
深入了解至少一种分析工具。对于数据科学家来说,R语言通常是大家的优选。R语言也是专门适用于数学科学领域的。你可以利用R语言来解决数据科学中遇到的任何问题。事实上,有43%的数据科学家都会借助R语言来处理数据问题。不过,R语言的学习曲线较为陡峭。
如果你已经掌握了一种编程语言,那么R语言的学习就尤为难以进行。好在,网上有不少资源可以帮助你学习R语言,比如说Simplilearn的《Data Science Training with R Programming》课程。对于渴望从事数据科学的人来说,这一课程还是非常不错的。
在数据科学家的岗位要求中,Python是最常见的一种编程语言要求,此外还有Java、Perl、C/C++。Python是非常适合数据科学家使用的一种编程语言。在O’Reilly的调查中,有40%的受访者都表示Python是他们主要使用的编程语言。
由于Python的灵活性,数据科学中的所有步骤几乎都可以使用它。它适用于不同类型的数据,你也可以轻松将SQL表格导入至代码中并创建数据集。谷歌上能找到几乎所有类型的数据集。
以下几本书可以帮助你了解更多有关Python的基本信息以及如何在数据科学中使用这种语言:
Python Data Science Handbook
Python for Data Analysis
Learning Python
尽管这一条技能不是必备项,不过在很多情况下都属于加分项。有Hive或Pig相关经验也是一个不错的“亮点”。熟悉Amazon S3等云计算工具也是有益的。CrowdFlower调查了领英上的3490份数据科学家岗位,然后将Apache Hadoop列为第二重要的技能。
作为一个数据科学家,你也许会碰到数据量超过系统内存的情况抑或是你需要将数据发送到不同的服务器。此时,Hadoop就能派上用场啦。你可以利用Hadoop快速将数据转移到系统内运行的多个节点上。不单如此,你还能利用Hadoop进行数据探索、数据过滤、数据取样以及汇总。
即便数据科学中的大头是NoSQL及Hadoop,但是求职者最好还是能够利用SQL编写或执行复杂的查询语言。SQL(结构化查询语言)是一种可以帮助你执行添加、删除或是从数据库中提取数据等操作的编程语言。它还可以帮你执行分析功能或改变数据库结构。
作为数据科学家,你需要熟练使用SQL。原因在于,SQL是专门用来处理数据的。在你使用SQL来查询数据库时,它能够带给你不一样的思考角度。SQL有一些简洁的命令,可以帮你节省时间、减轻执行复杂查询命令时所需的编程工作量。学习SQL还将让你更好地理解关系数据库,让你的简历更加出彩。
Apache Spark已经成为全球最热门的大数据技术了。它的大数据计算框架和Hadoop差不多。两者的区别在于,Spark要快于Hadoop。这是因为Hadoop是读写到磁盘,速度就会变慢,而Spark则是基于内存计算。
Apache Spark能够以更快的速度运行复杂的算法。数据科学家可以借助Apache Spark处理复杂的非结构化数据集。一台机器或是机器集群均可使用。
Apache Spark还能预防数据丢失。它的优势就在于速度与平台,基于此轻松执行数据科学项目。有了Apache Spark,你就可以完成数据输入、分布式计算等各类分析任务。
大部分数据科学家都不擅长机器学习领域及相关技术。这就包括神经网络、强化学习、对抗学习等。如果你想要从众多数据科学家中脱颖而出,那你需要知道机器学习的相关技术,例如监督学习、决策树、逻辑回归等。这些技能可以帮助你解决不少数据科学难题。
数据科学需要应用到机器学习中不同领域的技能。在Kaggle的一次调查中,它表示一小部分数据专业人士能掌握高阶机器学习技能,例如监督学习、非监督学习、时间序列、自然语言处理、离群点检测、计算机视觉、推荐引擎、生存分析、强化学习以及对抗学习。
数据科学需要处理大量的数据集。你也许想要多了解一些关于机器学习方面的知识(Machine Learning)。
商界会经常生成大量的数据。这些数据需要转化为某种便于理解的形式。相比原始数据,人们往往更善于理解图表形式的图片数据。俗话说得好,一张图片胜过千言万语。
作为一名数据科学家,你必须能够借助于一些工具来实现数据的可视化,例如ggplot、d3.js、Matplotlib以及Tableau。这些工具可以帮助你将复杂的结果转化为一种便于理解的形式。要知道,很多人是无法理解序列相关性或假定值的。你需要以一种生动的方式向他们呈现这些术语在你得到的结果中意味着什么。
数据可视化还能让企业直接利用好数据,帮助其快速发现其中蕴含的信息,从而基于新出现的商机采取行动,领先于其竞争对手。
我还曾写过一篇文章论述数据可视化的重要性以及如何利用数据进行更好地描述。
一个数据科学家处理非结构化数据的能力是非常重要的。非结构化数据指的是数据结构不适用于数据库二维逻辑表、没有预定义的数据模型。视频、博文、消费者评论、社交媒体帖子、视频信息、音频等均属于非结构化数据。它们是由大量的文本合并而成,整理这类数据往往非常困难。
正是因为它的复杂性,大多数人都会将非结构化数据称之为是“暗黑分析”(dark analytics)。处理非结构化数据可以帮助你理清思路,以便后续的决策制定。作为数据科学家,你必须能够理解并处理好不同平台的非结构化数据。
我没有特殊的才能,我只是具有强烈的好奇心。
——阿尔伯特·爱因斯坦(Albert Einstein)
无疑,大家肯定都看到过这句话,尤其是在数据科学领域。Frank Lo也曾讨论过这句话的含义。
求知欲被定义为是一种获取更多知识的渴望。数据科学家应具备针对数据提出问题的能力。对于他们来说,80%的时间都会用于发现数据并做好准备。这是源于数据科学是一个变化非常快速的领域,你需要不断学习才能跟上它变化的步伐。
你需要阅读互联网上的信息或是数据科学方面的相关书籍,经常更新自己的知识储备。不要因为互联网上的海量数据就感到手足无措,你应当知道该如何分析理解这些数据。求知欲则是数据科学家取得成功的其中一项技能要求。比如说,起初对于收集到的数据,你也许无法看穿其中的联系。但是求知欲却能让你筛选数据,找到答案和思考问题的角度。
要想成为一名数据科学家,你还需要准确了解所在的行业并且清楚公司正在解决的业务难题是什么。就数据科学而言,发现关键问题的能力是至关重要的。此外,你还要明确企业利用数据的新方式。
为此,你必须弄清楚自己解决的问题将如何影响公司。因此,你需要了解企业的运作方式,这样才可以有的放矢。
那些需要优秀数据科学家的企业,他们希望找到的人才能将其技术分析结果清晰传达给非技术型团队,例如营销或销售部门。数据科学家为企业提供量化的信息,洞悉非技术型同事的需求,从而帮助企业作出决策安排。
除了要以通俗易懂的语言传达信息之外,你还要借助用数据讲故事的方法来进行沟通。数据科学家应当了解如何基于数据设计故事情节,便于大家理解。比如说,展示数据表肯定不如以讲故事的形式分享数据信息来得有效。讲故事的方法能够有助于你将数据结果传达给同事。
在沟通过程中,重点关注分析数据中嵌入的结果和值。大多数企业老板并不想知道你分析的是什么,他们感兴趣的是这些结果将如何帮助企业取得发展。
数据科学家是不可能单打独斗的。你需要和自己的同事合作设计策略,与产品经理、设计师一同交付更加出色的产品,与营销人员合作推出转换率更高的活动,与客户和服务器软件开发人员一起优化数据管道和工作流程。从理论上来说,你也是要和单位内的所有人一同共事的。
为了明确业务目标和解决问题所需要的数据,你得与团队成员一同合作设计用例。你需要明确处理用例的合适方法、解决问题所需要的数据类型、如何以简单易懂的方式将结果呈现给团队成员。
感谢阅读。
如果你对上述这些技能感到些许手足无措,那没关系的。
要成为数据科学家,这些技能并非是必备项,但绝对可以让你直接变身成为“最强王者”。
谁都想变得更加优秀。
译者:Vivian Wang