|
数据科学家被《财富》杂志誉为21世纪最性感的职业,但遗憾的是大多数企业里都没有真正的数据科学家人才。根据麦肯锡报告,仅仅在美国市场,2018年大数据人才和高级分析专家的人才缺口将高达19万。此外美国企业还需要150万位能够提出正确问题、运用大数据分析结果的大数据相关管理人才。
那么,对于不同职业经历和专业背景的IT人士来说,如何才能尽快转型,加入数据科学家的钻石王老五的行列呢?
Ofer Mendelevitch近日在Hortonworks官方博客发表文章给出了自己的观点。
Mendelevitch认为无论是Java程序员还是业务分析师都有机会成为数据科学家,以下是他对不同人群给出的具体建议:
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通常是建模前大规模数据清理和预处理的工具选择。
总结
通向数据科学殿堂之路不可能一帆风顺,你必须学习很多新规则、编程语言,更重要的是还要积累实战经验。这些都需要时间、精力和投入,但最终你会发现一切都物超所值。
|
|