一份关于数据科学家应该具备的技能清单
云栖君导读:一份关于数据科学职业应该具备的技能清单,包含技术技能与非技术技能,相关的读者可以按照该清单逐步完善自己,点击“阅读原文”有学习资源链接哦!
大数据时代,什么职业比较吃香?答案可以从今年的校招薪资列表上知道——算法工程师、人工智能研究员、数据分析等职位。其实这几个职位有一定的交集,那就是需要处理大量的数据,尤其是作为一名数据科学家,主要的工作在处理数据和分析数据上面,也有部分工作与算法工程师和人工智能研究员相重叠,其所占的优势在于对数据更加敏感。那么作为一名数据科学家,应该具备的技能有哪些呢?本文将一窥究竟。
一、学历
数据科学家一般都具有高学历——88%的数据科学家至少是硕士学位,46%的数据科学家是博士学位,这表明想要成为一名数据科学家需要非常好的教育背景(知识了解深入)。常见的专业是计算机科学、社会科学、物理科学和统计学。最常见的研究领域是数学和统计(32%),其次是计算机科学(19%)和工程应用(16%)。在攻读上述学位中学习到的专业知识都将为您提供处理和分析大数据所需的技能。
在取得学位后就可以高枕无忧了吗?答案是否定的,现在是终生学习的时代。事实上,大多数数据科学家在拥有硕士学位或博士学位后,还不断通过在线训练以学习如何使用Hadoop或大数据查询等特殊技能。
二、R编程语言
对于数据科学家而言,R语言通常是首选编程语言。R语言是专门为数据科学需求而设计的,可以使用R语言来解决在数据科学中遇到的任何问题。事实上,43%的数据科学家正在使用R语言来解决统计问题。
但是学习R语言时有一个障碍,那就是如果你已经掌握了一门其它编程语言,那学起来是很痛苦的。尽管如此,互联网上有很多R语言学习资源,例如Simplilearn的数据科学训练和R编程语言。
技术类技能:计算机科学
三、Python编程
Python语言近来很火,随着人工智能以及深度学习的发展,Python已经超越Java语言成为编程中最常用的语言。Python也是在数据科学中常见的编码语言,据调查,40%的受访者使用Python作为其主要编程语言。
由于Python的多功能性,可以将其用于所有涉及数据科学过程的步骤。比如,Python可以采用各种格式的数据,并且可以轻松地将SQL表导入到代码中。此外,还允许创建数据集。
四、Hadoop平台
CrowdFlower对3490 名领英上注册的数据科学家进行了一次调查,发现49%的数据科学家将Apache Hadoop列为第二项重要技能。
作为一名数据科学家,可能会遇到拥有的数据量超出了系统的内存,或者需要将数据发送到不同的服务器的问题,这些问题都可以通过Hadoop解决——使用Hadoop对数据进行分布式处理。此外,还可以使用Hadoop进行数据挖掘、数据过滤、数据采样和汇总。
五、SQL数据库/编程
尽管NoSQL和Hadoop已经成为数据科学的一个重要组成部分,但有些人仍然可以在SQL中编写和执行复杂的查询。SQL(结构化查询语言)是一种编程语言,可以执行诸如添加、删除和从数据库提取数据等操作,还可以执行分析功能并转换数据库结构。
作为一名数据科学家,需要精通SQL。这是因为SQL专门设计用于访问、通信和处理数据。当使用它来查询数据库时,它会提供见解。此外,由于其简洁的命令,可以节省时间并减少执行困难查询时所需的编程量。
六、Apache Spark
Apache Spark正成为全球最受欢迎的大数据技术。它类似于Hadoop,是一个大数据计算框架。唯一的区别是Spark比Hadoop更快。这是因为Hadoop需要读取和写入磁盘,而Spark将其计算缓存在内存中,这类似于机械硬盘与SSD的区别。
Apache Spark专为数据科学而设计,能更快地运行复杂的算法。当处理大量数据时,它有助于传播数据处理,从而节省时间。此外,还能处理复杂的非结构化数据集。
Apache Spark的优势在于其速度,利用该平台使得开展数据科学项目变得非常容易。借助Apache Spark,可以执行从数据采集到分布式计算的分析。
七、机器学习和人工智能
许多数据科学家并没有精通机器学习领域相关知识和技术,比如神经网络、强化学习、对抗学习等。如果想从数据科学家中脱颖而出的话,需要了解机器学习技术,如监督学习、决策树、逻辑回归等,这些技术将帮助你解决基于已有的数据和结果来预测不同数据科学问题。
数据科学需要在机器学习的不同领域应用技能,Kaggle在其调查中发现,一小部分数据专业人员掌握了高级机器学习技能,如监督学习、无监督学习、时间序列、自然语言处理、异常检测、计算机视觉、推荐引擎、生存分析、强化学习和对抗学习等。
八、数据可视化
大数据时代,数据很多很乱,有些原始数据需要翻译成易于理解的格式。人们自然而然地以图表的形式展示数据所要表达的意思,“一张图片胜过千言万语”。
作为一名数据科学家,必须能够借助数据可视化工具(如ggplot、d3.js和Matplottlib以及Tableau)来可视化数据,这些工具能将项目的复杂结果转换为易于理解的格式。
数据可视化为组织提供了直接处理数据的机会,可以迅速掌握见解,帮助他们抓住新的商业机会并保持领先地位。
九、非结构化数据
数据科学家能够处理非结构化数据至关重要,非结构化数据是不适合定义为数据库的形式,比如视频、博客文章、客户评论、社交媒体文章、视频文件、音频等,对这些类型的数据进行排序很困难。
由于非结构化数据的复杂性,大多数人将非结构化数据称为“黑暗分析(dark analytics)”。使用非结构化数据有助于揭示对决策制定有用的见解。作为数据科学家,必须有能力理解和操纵非结构化数据。
非技术类技能
十、好奇心
我没有特殊的才能,我只是充满了好奇心——爱因斯坦。
好奇心可以被定义为渴望获得更多的知识,作为一名数据科学家,需要能够提出有关数据的问题,因为数据科学家将大约80%的时间用于发现和准备数据。由于数据科学领域是一个发展非常迅速的领域,必须学习更多知识以保持不落伍。
通过在线阅读内容并阅读关于数据科学趋势的相关书籍来定期更新知识,不要被互联网上的大量数据所淹没,必须能够知道如何理解这一切。好奇心是作为数据科学家取得成功所需的技能之一。例如,第一次看到收集到的数据时,不知道这些数据有什么意义。但好奇心将帮助你筛选数据以找到答案和更多见解。这就像两个人相亲一样,只有当你对另一方感到好奇时,才会深入的了解下去。
十一、商业头脑
要成为一名数据科学家,需要对所从事的行业有深入的了解,并了解公司正在努力解决的业务问题。在数据科学方面,除了找出业务应该利用其数据的新方式之外,能够辨别哪些问题对于解决业务问题至关重要。
为了做到这一点,必须了解要解决的问题会如何影响业务,这就是为什么需要了解企业的运作方式,以便能够朝正确的方向努力。
十二、沟通能力
一些公司正在寻找具有很好沟通能力的数据科学家,他们能够清晰流利地将技术发现传递给非技术团队的人员,比如市场营销部门或销售部门。数据科学家除了理解非技术同事的需求以便适当地调整数据外,还必须做出相关的决定。
除了说同一种语言外,还需要使用数据以讲故事的方式交流。作为一名数据科学家,必须知道如何创建一个围绕数据的故事情节,以方便任何人都能理解。例如,呈现数据表格不如以故事形式分享这些数据的见解。讲故事可以帮助你将你的发现与雇主正确沟通。
沟通时,请注意分析数据的结果,大多数企业主并不想知道你分析的具体内容,而是对如何积极影响其业务感兴趣。学会专注于提供价值并通过沟通建立持久的关系。
十三、团队合作
数据科学家不可能单打独斗,而是不得不与公司高管合作制定策略、与产品经理和设计师合作创造更好的产品、与营销人员一起推出更好的转换活动、与客户端和服务器软件开发人员共同创建数据管道并改善工作流程。数据科学家必须与组织中的每个人一起工作,包括客户。
从本质上讲,数据科学家将与团队成员合作开发用例,以了解解决问题所需的业务目标和数据。需要知道解决用例的正确方法、解决问题所需的数据以及如何将结果呈现为所涉及的每个人都可以轻松理解的内容。
资源
Advance Degree:更多的数据科学计划正在涌现,以满足当前的需求,大多数是数学、统计学和计算机科学课程;
MOOCs:Coursera、Udacity和codeacademy等公开课网站是不错的起点;
Certifications:KDnuggets编制的一份清单列表;
Bootcamps:有关如何将这种方法与学位课程或MOOC进行比较的更多信息,请查看Datascope Analytics的数据科学家的博客;
Kaggle:Kaggle是举办数据科学竞赛的平台,可以在上面练手提升自己的技能,并解决实际的业务问题;
LinkedIn群组:加入相关群组,并与数据科学社区的其他成员进行交流;
Data Science Central和KDnuggets:Data Science Central和KDnuggets是保持数据科学行业趋势最前沿的优秀资源;
Burtch工作研究(数据科学家的薪水):如果想了解更多有关当前数据科学家的薪水和人口统计信息,请务必下载数据科学家薪水调查。
作者信息:
Simplilearn,在线职业教育网站
本文由阿里云云栖社区组织翻译。
文章原标题《9 Must-have skills you need to become a Data Scientist, updated》,译者:海棠,审校:Uncle_LLD。
end
更多精彩
点此查看相关学习资源链接!