新闻中心

大数据分析师的招聘条件?

2023-05-11
浏览次数:
返回列表

大数据时代,做大数据分析人员有了一个更性感的名字,叫做数据科学家。

先说一个段子:一个有意思的笑话,我一哥们,以前是做数据分析的,每天很苦逼的做各种分析,拿几千块钱,前途渺茫。后来这哥们换了份工作,立马高大上了,车有了,挣得也多了……究其原因,因为他转行大数据了

要成为数据科学家,需要掌握以下条件:参考:

数据科学家&数据工程师与数据分析师的不同细分职能-36大数据

通常情况下,数据科学家有数学或物理方面的高等学位。有博士学位的情况并不少见,硕士学位仅是一个前提条件。数据科学家精通统计建模以及如何构建与定制高级数学算法。这既在他们专业范围内,也是他们所擅长的地方。我听到过有人这样形容一个数据科学家“软件工程技能牛过多数人的酷炫统计学家”。但是,当你问这些数据科学家怎么会从事这个职业时,途径是多种多样的。这是一个相对较新的职位,因而我们也无法根据时间历史来追踪一个数据科学家专业技能是如何进步的。数据科学家和数据工程师的定义有点相互重叠。

除了研究先进算法,数据科学家对AB测试亲力亲为并且拥有博学的多变量测试和实验设计知识。一个专业能力非常强的数据科学家能在模型建成后对其进行改进和改制,而能力鹤立鸡群的数据科学家则能根据你的商业问题定制合适模型。

要有独立从各种各样的地方把数据化为己用的能力。可能会用到的:参考:性感之外,数据科学家需要的三大核心技能-36大数据

SQL:用来存储和查询structured数据Programming:比如用Python for parsing/scraping data。如果既会一门scripting language,又会一门compiled/object oriented language,会是优势。主要是用来处理unstructured数据Hadoop/parallel processing:你处理的数据可能太大(比如超市过去半年的购物记录、信用卡公司两年内的刷卡记录)无法一次性装入内存,而你需要对数据进行快速的分析,这就需要MapReduce等技术。这其中,SQL和Programming是最基本的,你必须会用sql查询数据、会快速写程序分析数据。当然,你的编程技术也不需要达到软件工程师的水平,因为你写的code大多数只是一次性的、不会被复用,而且也只会被你或者个同事使用,并非放在网上让无数人点击,因此对程序质量要求不高。

要想更深入的分析问题,你可能还会用到:

Exploratory analysis skills,可以使用python、R、matlab等各种工具,IT公司用SAS和SPSS相对较少,尽管有些job ads/descriptions里提到了,当然也不是完全不可以。但是如果你只会SAS,那么选择无疑要少很多。Optimization、Simulation:有些职位需要研究顾客需求变化,调整产品或者服务价格,来帮助公司最大化盈利Machine Learning、Data Mining:比如有人用数据挖掘技术,发现很多人在超市里买尿布的同时,也买了啤酒 – 现在还没理解为啥,但是也许尿布和啤酒应该放一起卖;另外比如手机广告的精准投放。Modeling:你需要理解不同的统计模型有什么应用范围、有什么限制和特长,我在第一部分里提到的descriptive、predictive、prescriptive三个场景也是浅显的例子

《二》Problem Solving:

你不光要理解what users say they want,你还需要真正的理解what they actually mean、转化定义出一个可以用数据解决的问题,然后选择正确的分析工具,量化分析和解决问题。

《三》Communication

数据科学家会跟公司的很多不同部门的人打交道,会比码农跟更有机会见到高层或者是 business领域的人。如果你希望接触像市场营销这样的部门,希望跟上级领导多多打交道,那你需要有较强的交流能力。你需要知道区分什么是问题本质、什么是技术细节,要有能力给上层领导讲high level的分析和推荐,有能力给同事讲解和defend你的技术细节,也就是”见什么人说什么话”,这不是说要你油滑,而是说要知道什么时候需要隐藏技术细节,而只展现跟听众最相关的信息。

你很可能要经常做presentation,需要很强的visualization的能力,熟悉Edward Tufte和Nathan Yau的东西,会很有帮助。另外,也许你很喜欢高深的方法,觉得你懂你NB,但是一切的解决方案,都要从产生business revenue的角度来考虑是否合理。

你也可能需要跟software development team合作,需要讲清楚需要他们实现什么、需要告诉他们什么地方需要改进。

至于你所从事行业的domain knowledge ,懂最好,不懂也不必强求,某知名公司的VP 曾经跟我说,他这个行业的特有知识,3个月内可以学会,但是数据分析能力,可不是三个月就能学出来的,并且不同行业背后的数据分析能力是普适的。

数据科学家所需的技能 参考:

人才需求量非常大——数据科学家所需的技能和素质-36大数据

数据科学家这一职业并没有固定的定义,但大体上指的是这样的人才:

“所谓数据科学家,是指运用统计分析、机器学习、分布式处理等技术,从大量数据中提取出对业务有意义的信息,以易懂的形式传达给决策者,并创造出新的数据运用服务的人才。”

数据科学家所需的技能如下。

(1)计算机科学

一般来说,数据科学家大多要求具备编程、计算机科学相关的专业背景。简单来说,就是对处理大数据所必需的Hadoop、Mahout等大规模并行处理技术与机器学习相关的技能。

(2)数学、统计、数据挖掘等

除了数学、统计方面的素养之外,还需要具备使用SPSS、SAS等主流统计分析软件的技能。其中,面向统计分析的开源编程语言及其运行环境R最近备受瞩目。R的强项不仅在于其包含了丰富的统计分析库,而且具备将结果进行可视化的高品质图表生成功能,并可以通过简单的命令来运行。此外,它还具备称为CRAN(TheComprehensiveRArchiveNetwork)的包扩展机制,通过导入扩展包就可以使用标准状态下所不支持的函数和数据集。

(3)数据可视化(Visualization)

信息的质量很大程度上依赖于其表达方式。对数字罗列所组成的数据中所包含的意义进行分析,开发Web原型,使用外部API将图表、地图、Dashboard等其他服务统一起来,从而使分析结果可视化,这是对于数据科学家来说十分重要的技能之一。

将数据与设计相结合,让晦涩难懂的信息以易懂的形式进行图形化展现的信息图(Infographics)最近正受到越来越多的关注,这也是数据可视化的手法之一。

作为参考,下面节选了Facebook和Twitter的数据科学家招聘启事。对于现实中的企业需要怎样的技能,这则启事应该可以为大家提供一些更实际的体会。

数据科学家所需的素质

(1)沟通能力

即便从大数据中得到了有用的信息,但如果无法将其在业务上实现的话,其价值就会大打折扣。为此,面对缺乏数据分析知识的业务部门员工以及经营管理层,将数据分析的结果有效传达给他们的能力是非常重要的。

(2)创业精神(entrepreneuership)

以世界上尚不存在的数据为中心创造新型服务的创业精神,也是数据科学家所必需的一个重要素质。Google、Amazon、Facebook等通过数据催生出新型服务的企业,都是通过对庞大的数据到底能创造出怎样的服务进行艰苦的探索才获得成功的。

(3)好奇心

庞大的数据背后到底隐藏着什么,要找出答案需要很强的好奇心。除此之外,成功的数据科学家都有一个共同点,即并非局限于艺术、技术、医疗、自然科学等特定领域,而是对各个领域都拥有旺盛的好奇心。通过对不同领域数据的整合和分析,就有可能发现以前从未发现过的有价值的观点。

美国的数据科学家大多拥有丰富的从业经历,如实验物理学家、计算机化学家、海洋学家,甚至是神经外科医生等。也许有人认为这是人才流动性高的美国所特有的现象,但其实正如我们在第4章中所介绍的GREE一样,在日本也出现了一些积极招募不同职业背景人才的企业,这样的局面距离我们已经不再遥远。

那么,如果我只是一名IT屌丝,如何成为数据科学家呢? 参考:励志篇:IT屌丝如何成为数据科学家?-36大数据

根据麦肯锡报告,仅仅在美国市场,2018年大数据人才和高级分析专家的人才缺口将高达19万。此外美国企业还需要150万位能够提出正确问题、运用大数据分析结果的大数据相关管理人才。

Java程序员

作为Java开发者,你对软件工程的规则已经了然于心,能够设计软件系统执行复杂任务。数据科学正是关于开发“数据产品”的一门科学,主要是基于数据和算法的软件系统。

对于Java程序员来说,第一步需要了解机器学习的各种算法:现在有哪些算法,都能解决哪些问题以及如何实现。另外还需要学习使用R和Matlab等建模工具,此外WEKA、Vowpal Wabbit和OpenNLP等库也为大多数常见算法提供了经过验证的实现方法。如果你还不太熟悉Hadoop,学习map-reduce、Pig、Hive和Mahout将很有帮助。

Python程序员

如果你是Python程序员,对软件开发和脚本编写一定很熟悉,也许已经在使用很多数据科学中常见的库例如NumPy和SciPy。

Python对数据科学应用的支持很好,尤其是NumPy/Scipy, Pandas, Scikit-learn, IPython 等用于探索性分析的库,以及可视化方面的Matplotlib。

在处理大型数据集方面,多学些Hadoop及其与Python的流式集成。

统计学家与应用科学家

如果你有统计学或者机器学习的背景,那么你很可能很多年前就开始使用诸如R, Matlab 或 SAS进行回归分析、聚类分析等机器学习相关任务。

R、Matlab和SAS是很强大的统计分析和可视化工具,对于很多机器学习算法都有很成熟的实现方法。

但是,这些工具通常被用于做数据勘探和模型开发,很少单独用来开发产品级的数据产品。在开发端到端的数据产品时,大多数情况下,你需要需要同时用到其他软件模块如Java、Python等,并与Hadoop等数据平台整合。

显然,熟悉一门或者多门现代编程语言,例如Python或Java是你的首要任务。此外,与有经验的数据工程师紧密合作将有助于更好地理解他们开发生产级数据产品所用到的工具和方法。

业务分析师

如果你的背景是SQL,那么说明你已经跟数据打交道很多年了,你很清楚如何通过数据获取业务分析结果。Hive能让你以你熟悉的SQL语言访问Hadoop上的大数据集,因此是你步入大数据殿堂的首选。

数据产品通常需要使用SQL无法胜任的高级机器学习和统计,因此对于业务分析师来说,进入数据科学领域的第二个重要步骤就是在理论层面深入了解此类算法(例如推荐引擎、决策树、NLP),并熟悉目前的实现工具如Mahout, WEKA,或Python的 Scikit-learn。

Hadoop开发者

作为Hadoop开发者,你一定已经了解了大数据集和集群计算的复杂性。你还可能熟悉Pig、Hive、HBase并有丰富的Java经验。

第一步,你需要深入了解机器学习和统计,以及这些算法面向大数据集的高效实现方法。Mahout是个不错的开始,可以在Hadoop上实现上述很多算法。

另外一个需要关注的领域是数据清理(data cleanup),很多算法在建模前都会为数据分配基本结构。但不幸的是,现实中数据大多很“脏”,清理这些数据是数据科学中一项很繁重的工作。Hadoop通常是建模前大规模数据清理和预处理的工具选择。

总结

通向数据科学殿堂之路不可能一帆风顺,你必须学习很多新规则、编程语言,更重要的是还要积累实战经验。这些都需要时间、精力和投入,但最终你会发现一切都物超所值。

搜索