Jeff Hale作者冯羽校对陈之炎翻译

一文详解数据科学家的必备技能(附学习资源)

本文为你详细分析数据科学家最需要掌握的普通技能以及特定语言和工具的特殊技能。

数据科学家需要涉猎的知识面很广,包括:机器学习、计算机科学、统计学、数学、数据可视化、沟通和深度学习,那么数据科学家应如何制定他们的学习预算,才能最大限度地满足雇主的需要?

我浏览了一些求职网站,想找出哪些技能是数据科学家最需要掌握的技能,并对普通数据科学技能以及特定的语言和工具的特殊技能分别做了一些研究。2018年10月10日,我在LinkedIn,Indeed,SimplyHired,Monster上搜索了求职名单,下面这个图表,显示了每个网站列出的数据科学家职位的数目。

通过阅读这些职位清单,经过一番调查研究,我找出了数据科学家最常用的技能。像“管理”这样的术语没有进行比较,因为它们在职位清单中被太多的上下文所引用。 

所有搜索都是用数据科学家”这个关键字在美国本土进行的,采用精确匹配搜索的话,会使得搜索结果的数量大为减少。精确匹配搜索确保了搜索结果均与数据科学家的职位相关,并受到类似搜索条件的影响。 

AngelList列出了需要数据科学家的上市公司的数量,而不是列出了数据科学家职位数量。我将AngelList从这两种分析中排除,因为它的搜索算法似乎是一种OR(或)类型的逻辑搜索,没有将其转换为AND(与)逻辑

如果你搜索的关键字是 “数据科学家”“ TensorFlow,那么只会列出需要数据科学家的公司,AngelList的搜索效果不错。但是如果你的关键词是数据科学家” “react.js”,它会返回许多需要非数据科学家公司的列表。 

Glassdoor 也被排除在我的分析之外。该网站声称,它在美国有26263个“数据科学家”职位,但能让我看到的职位不超过900个。此外,数据科学家的职位数量不可能超过其他主要平台的三倍以上。最后的分析中包括了在LinkedIn上列出400多个普通技能和200多个特殊技能,当然这其中会有一些交叉。

结果记录在下面链接的Google Sheet表格中。我下载了.csv文件并将它们导入JupyterLab中。然后,计算出了百分比,并在职位列表网站上对它们进行了平均计算。

Google Sheet表格链接:

https://docs.google.com/spreadsheets/d/1df7QTgdAOItQJadLoMHlIZH3AsQ2j2_yoyvHOpsy9qU/edit?usp=sharing

我还将软件的计算结果与JupyterLab针对2017年上半年数据科学家职位列表进行了比较。结合KDNuggets’ usage survey的信息,似乎有些技能变得越来越重要,而另一些则变得越来越不重要。我们一会儿再谈。

KDNuggets’ usage survey

https://www.kdnuggets.com/2018/05/poll-tools-analytics-data-science-machine-learning-results.html/2

请参阅我的Kaggle Kernel以获得交互式图表和其他的分析。我用Plotly对数据进行可视化。在编写这篇文章时,对使用JupyterLab的Ploly出现了一些争论-指令在我的Kaggle Kernel的结尾的Plotly’s docs之中。

Plotly’s docs

https://github.com/plotly/plotly.py

普通技能

以下是雇主最常搜索的数据科学家技能图表。

结果表明,分析和机器学习数据科学家工作的核心。从数据中收集有用信息是数据科学的主要功能。机器学习的全部内容是创建系统来预测性能,这个需求非常大。

数据科学需要统计学和计算机科学技能——这一点也不奇怪。统计学、计算机科学和数学也都是大学的专业,可能有助于加大它们出现的频度。

有趣的是,在近一半的职位列表中提到了沟通,数据科学家需要能够交流见解并与他人密切合作。

人工智能深度学习不像其他术语那样频繁出现。然而,它们是机器学习的子集。深度学习正被越来越多的机器学习任务所使用,而这些任务以前是由其他算法完成的。例如,对于大多数自然语言处理问题,最好的机器学习算法都是当前的深度学习算法。我预计,在未来,人们将更加明确地寻求深度学习技能,而机器学习将成为深度学习的代名词。

雇主们都在寻找掌握哪些特定的软件工具的数据科学家?接下来我们来解决这个问题。

技术技能

雇主们正在寻找的具备以下技能的数据科学家,其中名列前20位的特定语言、库和技术工具如下。

我们来简要地看看最常见的技术技能。

 1. Python

Python是最受欢迎的语言。这种开源语言的受欢迎程度已广为所知。初学者容易接受,而且有很多支持资源。绝大多数新的数据科学工具都与它兼容。Python是数据科学家的主要语言。

2. R 

R不逊于 Python,它曾经是数据科学的主要语言。我惊讶地看到它目前仍然很受欢迎。这种开源语言的根源在于统计学,它目前仍然很受统计学家的欢迎。Python或R对于几乎每一个数据科学家职位来说都是必须的。

2. SQL

SQL也很受欢迎。SQL是结构化查询语言,是与关系型数据库交互的主要方式。在数据科学领域,SQL有时会被忽视,但是如果您打算进入就业市场,这是一项值得展示的技能。

3. Hadoop和Spark

接下来是Hadoop和Spark,它们都是Apache提供的用于大数据的开源工具。Apache Hadoop是一个开源的软件平台,用于分布式存储和分布式处理由商业硬件构建的计算机集群上的大型数据集。

Apache Spark是一个快速、内存数据处理引擎,它具有优雅的、有表现力的开发API,使数据工作者能够高效地执行需要快速迭代访问数据集的流、机器学习或SQL工作负载。

与许多其他工具相比,这些工具在媒体和教程中,关于它们的文章要少得多。我预计具备这些技能的求职者比具备Python、R和SQL技能的求职者要少得多。如果你有或可以获得Hadoop和Spark的经验,会为你的竞争优势助一臂之力。

4. Java和SAS

然后是Java和SAS。看到这两种语言位列如此之高,我感到十分惊讶。这两种语言的背后都有大公司支持,至少有一些免费产品。Java和SAS通常在数据科学社区中很少受到关注。

5. Tableau

接下来是Tableau。这个分析平台和可视化工具功能强大,易于使用,并且越来越受欢迎。它有一个免费的公开版本,但如果想要保持数据私密性,则需要付费。

如果你不熟悉Tableau,那么肯定值得在Udemy上一门快速课程,比如Tableau 10A-Z。我参加了这门课,发现它物超所值。

下图显示了这些语言、框架和其他数据科学软件工具的列表。

历史比对

GlassDoor分析了2017年1月至2017年7月期间在其网站上的数据科学家最常见的10种软件技能。以下是与2018年10月LinkedIn, Indeed, SimplyHired, 和Monster平均水平相比,它们在网站上出现频率的比较。

结果非常相似。我的分析和GlassDoor’s都发现Python、R和SQL是最受欢迎的。我们还发现了同样的前九位技术技能,只是顺序略有不同。

结果表明,与2017年上半年相比,目前对R、Hadoop、Java、SAS和MATLAB需求较少,Tableau需求则更大。这就是我所期望的,对 KDnuggets developer survey等来源的结果的补充。在那里,R、Hadoop、Java和SAS都显示出明显的多年下降趋势,Tableau显示出明显的上升趋势。

建议

根据以上分析结果,为当前和有抱负的数据科学家,提出一些一般性的建议,以使自己在职场上更受欢迎:

1. 证明你可以进行数据分析,并专注于成为真正擅长机器学习的人。

2. 投资于自己的沟通技巧。我建议阅读《Made to Stick》这本书,它对你的想法会有更大的影响。还可以查看名称为 Hemmingway Editor的APP(应用程序),以提高写作的清晰度。

《Made to Stick》:

https://www.amazon.com/Made-Stick-Ideas-Survive-Others/dp/1400064287

Hemmingway Editor:

http://www.hemingwayapp.com/

3. 掌握一个深度学习的框架。深度学习框架的熟练程度是精通机器学习的重要组成部分。有关深度学习框架在用法、兴趣和流行程度方面的比较,请参阅下方链接中的文章:

https://towardsdatascience.com/deep-learning-framework-power-scores-2018-23607ddf297a

4. 如果在学习Python和R之间进行选择,请选择Python。如果对Python不感冒,考虑学习R。如果你会使用Python的同时也知道R,你肯定会更有市场。

当雇主正在寻找一位具备Python技能的数据科学家时,他们也期望应聘者能了解常见的Python数据科学库,如:numpy、pandas、scikit-learn和matplotlib。如果想学习这组工具,我建议提供以下资源:

1. DataCamp和 DataQuest:它们都是定价合理的在线SaaS数据科学教育产品,在这些产品中,您可以一边编写代码一边学习,二者都教授一些技术工具。

DataCamp

https://www.datacamp.com/

DataQuest

https://www.dataquest.io/

2. Data School拥有多种资源,包括一套很好的视频,解释数据科学的概念。

Data School

https://www.dataschool.io/start/

视频资源:

https://www.youtube.com/dataschool

3. 麦金尼(McKinney)的《用于数据分析的Python》。这本书由pandas库的主要作者撰写,重点关注pandas,还讨论了基本的python,numpy和scikit-learn等数据科学的知识。

Python for Data Analysis

https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython/dp/1491957662

4. Müller&Guido的《用Python进行机器学习简介》。米勒是scikit-learn的主要维护者。这是一本用于学习机器学习scikit-learn的很好的书。

Introduction to Machine Leaning with Python 

https://www.amazon.com/Introduction-Machine-Learning-Python-Scientists-ebook/dp/B01M0LNE8C

如果你想探究深度学习,我建议在进入TensorFlow或PyTorch之前先从Keras或FastAI开始。Chollet的《用Python进行的深度学习》一书是学习Keras的很好的资源。除了这些建议之外,我建议你了解自己感兴趣的内容,尽管在决定如何分配学习时间时有很多因素需要考虑。

如果你想通过网络门户寻找一份数据科学家的工作,我建议你从LinkedIn开始——它的结果总是最多的。 

如果你在网上求职或者在求职网站上发布职位,关键词非常重要。“数据科学”返回的结果是“数据科学家”返回结果数的近3倍。但是,如果你在严格地寻找数据科学家的工作,你最好还是输入 “数据科学家”这个关键字。 

无论你在哪个网站找工作,我建议你建立一个在线组合列表,列出你对所需求技能领域的熟练程度。我还建议用LinkedIn个人资料展示你的技能。

作为这个项目的一部分,我收集了其他数据,可能也会写成文章。跟我来,不要错过哦。

如果您希望看到交互式图表和它们背后的代码,请查看我的Kaggle Kernel:

Kaggle Kernel:

https://www.kaggle.com/discdiver/the-most-in-demand-skills-for-data-scientists/

作者简介:

 Jeff Hale是一位经验丰富的企业家,曾为多家公司管理过技术、运营和财务。专注于机器学习领域的数据科学家,子商务公司的共同创始人和首席运营官。目前,杰夫正将他对数据驱动决策的热情转化为以数据科学家为职业期盼。他对机器学习、交流和数据分析很感兴趣。 

原文标题:

The Most in Demand Skills for Data Scientists 

原文链接:

https://www.kdnuggets.com/2018/11/most-demand-skills-data-scientists.html

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

入门TableauSASJavaSparkHadoopSQLR语言Python深度学习机器学习数据科学
5
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

Apache Spark技术

Apache Spark是一款快速、灵活且对开发者友好的工具,也是大型SQL、批处理、流处理和机器学习的领先平台。它是一个围绕速度、易用性和复杂分析构建的大数据处理框架,提供了一个全面、统一的框架用于管理各种不同性质(文本数据、图表数据等)数据集和数据源(批量数据或实时的流数据)的大数据处理的需求。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

查询语言技术

查询语言泛指向数据库或信息系统查询的各种编程语言。 查询语言必须要能表达所有关系代数所能表达的查询,这样才被称为关系完整的。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

Apache Hadoop技术

Apache Hadoop是一套用于在大型集群上(由通用硬件构建)运行应用程序的框架。它实现了Map/Reduce编程范型,计算任务会被分割成小块(多次)运行在不同的节点上。除此之外,它还提供了一款分布式文件系统(HDFS),数据被存储在计算节点上以提供极高的跨数据中心聚合带宽。

暂无评论
暂无评论~