数据科学家的自我修养 | 哪些技能是必不可少的?
市场上对数据科学家的要求特别多:需要掌握机器学习、计算机科学、统计学、数学、数据可视化,深度学习等知识。要想全部掌握这些方面的知识,科学家需要学习数十种语言、框架和技术。那么,为此数据科学家应该如何合理地分配时间,该掌握哪些技能呢?
在本文中,我对求职网站进行搜索,找出对数据科学家的技能要求。我分别分析了通常的数据科学技能和特定语言以及工具。我具体搜索了2018年10月10日LinkedIn、Indeed、SimplyHired、Monster、以及AngelList这些求职网站。以下图表显示了在每个网站中发布了多少数据分析师工作。
我分析了许多工作列表和调查,想列出当中最常见的技能要求。“管理”这类词没有包含在内,因为许多求职发布中都会包含这个词。
全部搜索都是针对美国地区,关键词中带有“数据科学家”的职位发布,并使用精确匹配搜索减少了结果数量。但是,这种方法确保结果与数据科学家职位相关,并且影响所有搜索项。
AngelList中提供的是招聘数据科学家的公司数量,而不是职位数量。我将AngelList排除在这两种分析之外,因为它的搜索算法是OR的逻辑搜索,而且无法将其修改为AND。如果你搜索"数据科学家""TensorFlow"这类关键词,AngelList表现还不错,但如果你搜索"数据科学家""react.js"也会返回不招聘数据科学家的公司。
Glassdoor也被我排除在外。网站上表示美国目前发布了26,263个"数据科学家"的职位,然而实际只显示了不到900个的职位。此外,Glassdoor发布的数据科学家职位也不可能比起其他主流平台的三倍要多。
最终分析采用了在LinkedIn上400多个职位信息分析通用技能,针对200多个职位信息分析特定技能。当中有一些重复,结果记录在Google Sheet中。
https://docs.google.com/spreadsheets/d/1df7QTgdAOItQJadLoMHlIZH3AsQ2j2_yoyvHOpsy9qU/edit?usp=sharing
我下载了.csv文件并将其导入JupyterLab。然后,我计算出每个百分比,并对招聘网站上的数量进行平均。
此外,我将结果与Glassdoor 在2017年上半年发布的数据科学家职位研究进行比较,并且结合KDNuggets的调查信息。从中可以发现,对于数据科学家而言,有些技能变得越来越重要,而其他技能则逐渐不再重要。之后我们将具体看到。
Glassdoor
https://www.glassdoor.com/research/data-scientist-personas/
KDNuggets
https://www.kdnuggets.com/2018/05/poll-tools-analytics-data-science-machine-learning-results.html/2
可以在我的Kaggle Kernel 中看到交互式图表和分析。我使用Plotly进行可视化,在写本文时,使用Plotly和JupyterLab有一些难点,具体说明在 Kaggle Kernel 最后的Plotly文档中
Kaggle
https://www.kaggle.com/discdiver/the-most-in-demand-skills-for-data-scientists/
Plotly 文档
https://github.com/plotly/plotly.py
1. 通用技能
以下是雇主最希望数据科学家具备的通用技能。
结果表明,通用技能中数据分析和机器学习是数据科学家工作的核心。从数据中收集分析见解是数据科学的主要功能。机器学习是关于开发创建预测性能的系统,这也是十分受欢迎的技能。
数据科学家需要统计学和计算机科学技能,这并不惊讶。统计学、计算机科学和数学也是大学专业,这也可能提高了这些技能出现的频率。
有趣的是,近一半的职位要求中都提到了沟通能力。数据科学家需要能够传达自己的见解,并与他人合作。
人工智能和深度学习并不像其他术语那样经常出现。它们是机器学习的子集,深度学习被用于越来越多的机器学习任务中,之前主要是使用其他算法。如今,大多数用于自然语言处理问题的最佳机器学习算法是深度学习算法。我预计将来在职位信息中,深度学习技能将被越来越明确,而且机器学习将与深度学习越来越类似。
那么雇主希望数据科学家使用哪些特定软件工具?接下来,让我们看到这个问题。
2. 技术技能
以下是雇主最希望数据科学家掌握的前20种特定语言,库和科技工具。
让我们简要介绍一下最常见的技术技能。
Python是最受欢迎的语言。这种开源语言已经非常普及。对初学者而言,这种语言很好上手,有许多支持的资源。绝大多数数据科学工具都与之兼容。Python是数据科学家主要的使用语言。
R语言与Python相差不远。它曾经是数据科学的主要语言,R语言的需求仍然很大。这种开源语言的根源在于统计数据,它非常受统计学家的欢迎。
Python或R语言是从事数据科学工作的必备条件。
SQL的需求也很高。SQL指的是Structured Query Language(结构化查询语言),是与数据库交互的主要方式。在数据科学领域,SQL有时会被忽视,但如果想找数据科学方面的工作,这项技能是很重要的。
接下来是Hadoop和Spark,它们都是Apache的大数据开源工具。
Apache Hadoop是一个开源软件平台,用于分布式存储和分布式处理大型数据集,这些数据集是由商用硬件构建的计算机集群。
Apache Spark是快速的内存数据处理引擎,具有强大且富有表现力的开发API,能够让数据工作者有效地执行流、机器学习或SQL,这些情况需要对数据集进行快速迭代访问。
与Python,R和SQL相比,很少有求职者具备这些技能。如果你会Hadoop和Spark的经验,那么你更有可能在求职中成功。
接下来是Java和SAS。我惊讶地发现在职位描述中,这两种语言出现的频率也很高。通常,Java和SAS在数据科学界的关注度都不高。
接下来是Tableau。这个分析平台和可视化工具功能强大,易于使用且越来越受欢迎。它有一个免费的公共版本,但如果你想保持数据私密就需要花钱。如果你不熟悉Tableau,那么强烈推荐Udemy的 Tableau 10 A-Z 。
下图技能列表显示的语言、框架和其他数据科学软件工具更多。
GlassDoor 曾在网站上发布了2017年1月至2017年7月期间,数据科学家的10种最常见的软件技能。这里将GlassDoor的数据与LinkedIn,Indeed,SimplyHired和Monster在2018年10月的平均值进行比较。
结果非常相似。根据我的分析和GlassDoor的调查,Python、R和SQL都是是最受欢迎的技能。而且前九个技能排名稍微有些不同。
结果表明,与2017年上半年相比,R语言、Hadoop、Java、SAS和MatLab的需求量减少,而Tableau的需求量增加。根据局KDnuggets开发人员调查等分析,这也并不意外。在这份调查中显示,R语言、Hadoop、Java和SAS在近年来使用量呈都下降趋势,Tableau呈明显的上升趋势。
4. 建议
根据这些分析的结果,以下是对数据科学家的一些建议。
● 证明自己的数据分析能力,并专注熟练掌握机器学习。● 提高你的沟通技巧。推荐阅读《Made to Stick》这本书,帮助你提升自己观点的影响力。还可以试试Hemmingway Editor这款app,提高写作的逻辑性。
● 掌握深度学习框架。精通深度学习框架在机器学习方面越来越重要。
● 如果你在犹豫选择Python还是R语言之间做出选择,请选择Python。如果你数量掌握Python,那么可以也考虑学习R语言,这会让你在行业中更占优势。
当雇主在寻找具有Python技能的数据科学家时,他们也期望求职者掌握常见的Python数据科学库:numpy、pandas、scikit-learn和matplotlib。如果你在学习这些工具,建议你使用以下资源:
● DataCamp,DataQuest两者都是价格合理的在线SaaS数据科学教育产品,你可以在编程时学习,当中都教授了许多技术工具。
● Data School
拥有各种资源,还包括一系列很赞的YouTube视频,解释各种数据科学概念。
● McKinney,《Python for Data Analysis 》
本书注重pandas,还讨论了基础的numpy和scikit-learn等知识。
● Müller,Guido《Introduction to Machine Leaning with Python》
Müller是scikit-learn的主要维护者。这是一本关于用scikit-learn学习机器学习的好书。
如果你想学习深度学习,我建议先学习Keras或FastAI,然后在学习TensorFlow或PyTorch。Chollet的《Deep Learning with Python》这本书是学习Keras的绝佳资源。
除此之外,我建议你了解你感兴趣的内容,尽管这里需要考虑到时间分配等因素。
如果你想通过招聘网站找数据科学家工作,我建议试试LinkedIn,这上面可找到的工作信息是最多的。
在招聘网站找公司时,关键词很重要。关键词方面“ 数据科学 ”得到的结果会是“ 数据科学家 ”的3倍。但是,如果你想准确地找数据科学家的工作,那么最好还是搜索“ 数据科学家 ”。
我建议你制作一个在线作品集,能够很好地展示你的数据科学技能。还建议在你的LinkedIn个人资料中注明自己的技能。
如果你想查看本文中交互式图表及当中使用的代码,请查看我的Kaggle Kernel。
https://www.kaggle.com/discdiver/the-most-in-demand-skills-for-data-scientists/
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开源大数据周刊-第104期
资讯 谷歌、亚马逊、阿里纷纷入局,边缘计算的潜力如何? 从智能手机到可穿戴设备,从医疗到汽车以及工业制造,边缘计算正在上演一个又一个行业传奇,它的落脚点是要让终端成为更智慧的存在——能够实时处理数据、能够低延时做出反馈——这不就是我们期待中的智能设备吗? 如此多的深度学习框架,为什么我选择PyTorch? 不久前,Facebook 在首届 PyTorch 开发者大会发布了 PyTorch1.0 预览版,标志着这一框架更为稳定可用。从去年年初发布以来,PyTorch 已经成为明星框架,发展速度甚至有力压 TensorFlow 的趋势。据网友统计,在最新的 ICLR 2019 提交论文中,提及 TensorFlow 的论文数量从 228 升到了 266,而提及 PyTorch 的论文数量从 2018 年的 87 激增到了 252,这是否也是
- 下一篇
ElasticSearch Tune for search speed Translation
1.给文件系统缓存提供更多的内存 es严重依赖文件系统缓存来提高搜索速度。通常,为了使es将搜索保持在物理内存的热区域中,需要确保至少一般的可用内存提供给文件系统缓存 2.使用更快的硬件 如果索引速度受到I/O制约,你需要提供为文件系统缓存提供更多的内存或者升级更快的硬件设备。一般固态比机械硬盘性能更好。始终使用本地文件系统,远程文件系统像NFS以及SMB都应该避免。对例如亚马逊的EBS(elastic block storage)也要留意,es在虚拟存储上表现更好,由于更快以及易于安装使得它变得越来越受欢迎。但是不幸的是相比于本地存储虚拟存储还是有一些差距。如果你要使用EBS请注意要使用提供的IOPS否则会被限流。 如果索引速度受到CPU制约,你需要购买更快的CPU 3.文档建模 文档需要建模这样能够使得索引操作变得更快。 尤其是joins操作应该尽量避免,而嵌套(nested)会降低几倍查询速度,而父子关系(parent-child relations)查询更会使得查询以数百倍的速度下降。所以如果可以使用不规范的文档而不是使用joins也能达到同样的效果,尽量使用这些来提高速度 4...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题