编译/Ling
原作/Karolis Urbonas

原文/kdnuggets
很多标题党都喜欢这样描述数据科学家:“数据科学家”是当下最火的职业,业内人才紧缺,薪资也极高。这样的吹捧于是乎催生出大量的数据科学课程。许多大学为了抓住这个风口,也开始大量设立相关项目。我上回发博后,有许多人来向我请教如何成为一名数据科学家。他们都是问我哪门课最好、要做哪些准备才能快速斩获一份数据科学的职位。
于是我结合了一下我个人经历,回想了一下我是如何走到这一步的?我是如何成为数据科学家的?或者说,我是数据科学家吗?我从事过多种职业,我一开始在一家投资公司做证券分析师,工作内容以使用Excel为主。后来我慢慢地转向银行业的战略分析(Business Intelligence)和多个咨询项目,最后着手开始接触了实际意义上的“数据科学”,比如建立预测模型,和大数据打交道,处理大量的数字,以写代码来实现数据分析和机器学习,这在早期就是所谓的“数据挖掘”(data mining)。
当数据科学热潮开始后,我试着去探究它和我一直以来的工作到底有何不同。 如果要成为所谓的数据科学家,我是不是应该去学习新的技能,而不是只做着分析的工作?
于是乎像很多人一样,我也开始上课,读有关的书(然而并没有读完..)和不停写代码,因为我想成为图中心交集部分。但我所了解到的情况是,这些“数据科学”独角兽(在图中心交集部分的传奇人物)是很少存在的,即使存在,他们也是典型的通才而很少精通于某一领域。
目前我在Amazon带领着一支非常优秀的数据科学团队,我们的工作是建立机器学习模型和分析大数据。虽然现在我自认为我是个数据科学家,但还是觉得数据科学的缺乏严格的定义,特别是对考虑转行进来的人来说更是如此了。当然了,数据科学还有很多非常复杂的分支,比如像人工智能、机器人技术、计算机视觉、语音识别等。这都是需要非常深入的技术和数学的专家或者博士。但是如果你有兴趣进入数据科学领域(在几年前这就是所谓的业务/数据分析师), 在这里我想分享四则带我进入数据科学的生存之道。
明确你的首要目的和动机
要清楚地认识到自己现有技能,和你想要到达的目的地。在数据科学里有很多不同类型的角色,重要的是要了解和评估你目前的知识基础。 假设你在人力资源部工作,想改变职业生涯,那就先去了解人力资源分析!如果你是律师,那就先去了解法律行业的数据应用。如今几乎所有行业和商业职能都开始使用数据科学来获取业内观察。如果你已经有了一份工作,那么想想什么是可以通过数据去优化或解决的,然后学会自己去做。这是个长期逐渐转变的过程,但你仍然需要有一份工作,并通过现实工作的案例去学习。如果你是刚毕业或是在读学生,那么你现在有一个很好的机会去了解你对什么感兴趣,也许是电影,音乐,又或许是汽车。你无法想象这些行业雇用的数据科学家的数量,而且他们都对自己所处在的行业非常热衷。
打下良好的基础
虽然每个数据科学领域的是非常不同的,但是基础知识都是类似的。你需要在三个方面打下结实的基础:基本数据分析,基础统计学和编写代码
在数据分析这方面,你需要了解和大量运用数据分析的技术和理论,比如一张数据表格包含了什么,如何把两张数据表联系合并起来,在基于现有的数据结构上进行分析的技术有哪些,如何建立你的数据集的观点总结以及得出初步的结论,探索性数据分析是什么,它的可视化可以帮助你从数据中了解和学习。掌握这些是数据科学家的必需基本技能。
在统计学这方面,你需要掌握统计学的基础理论知识,比如什么是平均值(mean)和中位数(median),要分别在什么情况下使用; 什么是标准差(standard deviation),什么情况下使用它是完全没有意义的;为什么平均值“不靠谱”但仍然是最常用的总值。而你需要掌握的真的只是基础“入门”水平。除非你是一个数学家和计划成为一个计量经济学家,并且要运用进阶的统计和计量经济模型来解释复杂的现象,如此是需要深入学习进阶统计学。但如果你并没有数学博士学位,那么就花点时间耐心地学习和掌握基本的统计学和概率学。
关于写代码方面,就是要学习如何编写代码。这句话听起来可能陈词滥调但实际上是最实在的。你应该从学习如何使用SQL查询数据库开始。说出来你可能不信,大部分时间数据科学团队花费在数据提取和准备上,而这些很多都是需要用SQL完成的。所以先做好准备工作,建立自己的小型数据库,写一些类似“Select * from my_table”之类简单的代码,掌握好SQL语言基础。另外,你也应该学一个数据分析语言,无论是R或Python。这两者都不相上下,拥有这项技能是会提高你的竞争力,因为现在很多的职位都有这个要求。首先了解你要学的数据分析语言(小提示–先从使用带着ggplot2扩展包的dplyr学习R或者用 Seaborn扩展包的pandas学 Python)还有学习如何用它来做数据分析。如果你想在这个领域取得成功是不需要成为一个大神级的程序员或者黑客的,因为它们只是服务于你数据分析工作。
数据科学是关于发现和解决问题
多年来我学到的一点是,成为一个数据科学家的基本要求是不断问问题和寻找问题。当然我并不是建议每天24小时去这样做,因为你一定会崩溃,但你需要时刻准备好不停地寻找问题和解决问题。然后你会惊讶的发现其实身边有很多可用的数据:也许你想分析你的消费模式,识别你电子邮件的情感模式(sentiment patterns),或者只是建个图表来追踪你城市的财政状况。数据科学家负责质疑一切,他们会问这事是有效的吗,有没有任何有关趋势,也许有些产品表现不佳应关闭市场,这些商品折扣是有意义的吗。这些问题成为假设,然后由数据科学家验证或否决。这些原始数据和材料都是你是成功的关键,当你解决的问题越多,你的工作就会越好
马上开始行动,而不是计划你准备何时去做
这条建议适用于任何学习,尤其对于数据科学。从学习的第一天开始,就要养成这个习惯。如果你只是通过阅读书籍大概的了解,然后复制粘贴书上的代码,再去运行现实中不会出现的这些简单数据集,那这很容易就会拖延你实际学习的进度。
对于目前你所学到的一切,确保你开始把它应用到你热衷的领域。 当你第一次写下代码,看到它失败,被卡住原地感到无所适从,找到的方案都失败后挣扎出属于自己的解决方案,于是乎就造就出了一个里程碑。实践是学习数据科学的唯一途径,这就好像你不会通过阅读来学骑自行车。同样的事情也适用于这里,无论你学习什么,确保你立即上手用实际的数据来解决实际问题。
“如果你花太多时间思考一件事,你永远也做不完。”李小龙的这句话可谓是抓住了这篇文章的本质。所以你必须把所学的东西付诸实践,确保自己能从失败中成长。
继续阅读
阅读原文