具有十年从业经验的亚马逊资深数据分析师 Karolis Urbonas,经常被人请教这一问题。这促使他回顾自己的职业生涯——“我是怎么一步步走到现在的?”“我是怎么成为数据科学家的?”以及,从自我定位和自省的角度反思:“我是一名数据科学家吗?”自我反思的答案,被他总结成了这篇文章。献给想要入门数据科学的童鞋们。
Karolis Urbonas:我的职业生涯从投资公司的证券分析师起步,那时候主要用的还是 Excel;之后转到银行业做商务智能(BI,即 business inelligence);再之后去做咨询;最后才来搞所谓的“数据科学”——开发预测模型,摆弄大数据,写代码来做数据分析和机器学习。那时大多数人把这工作称之为数据挖掘。
当数据科学变成一股热潮,我开始试着思索,它和我一直在做的工作有什么不同。也许我应该学习一些新技能,成为真正的“数据科学家”,而不是一个“搞分析”的人?
和所有人一样,我开始修习多门课程,读很多书,修习数据科学专业(和大多数人一样,没有一样是最终做到底的),写了一堆代码。我当时的目标并不只是成为数据科学家,而是成为下面这副数据科学韦恩图中间的“那个”数据科学家。
这幅图在数据科学圈子里称得上是大名鼎鼎。三个大色块分别是:绿色—数学、统计学知识,紫色—资深专家水平,粉色—黑客技术。
中间的小色块是三大领域的重合区域,分别代表:中上黄绿色块—机器学习,右下墨绿色块—传统研究,左下紫色块—危险地带,中央灰色块—数据科学家。
但我后来了解到,图中央的那一撮“独角兽”(中间“数据科学家”色块里的这帮人在圈内被称为独角兽)在现实中极其稀少。即便真存在这种人,也大概会是对各个领域都有涉猎、但没有一门精通的“通才”,而非专家。
如今,我在亚马逊带领一支极富才华的数据科学团队,每天搞所谓的大数据。因此我已把自己看做是一名数据科学家。但我认为,这行的水太浑(指的信息方面)、尤其对于新人来说很多问题不够清楚明白。
当然,数据科学有很多高深复杂的分支,比如 AI 、机器人学、计算机视觉、语音识别等等(雷锋网注:AI 出身的学者恐怕会把这些全都看做是 AI 的分支,学科视角不同)。钻研这些领域全都需要相当高的技术、数学造诣,经常还需要一两个 PhD 学位。
但如果你只是想要进入几年前被称为商业/数据分析师的数据科学角色,并在企业工作,这是四条帮助你在这个行当生存下去的建议:
01
明确你的优先目标和动机,客观评估所掌握的技能,并据此设立现实的目标。
数据科学中有各种职业角色,清楚你现在的知识技能储备,以给自己一个合理的定位十分重要。假设你是一个想要改变职业轨迹的 HR,或许你应该学习 HR 数据分析。假设你是律师,则可钻研法学界的数据应用。事实上,现在所有的行业和商务职能都迫切需要更深层次的洞察力,数据科学技术正在被普遍地采用。
如果你已经有一份工作,可以想办法理解工作中哪些环节可用数据优化,哪些问题可利用数据解决,然后去学习怎么做。这会是一个逐步推进、相对漫长的过程。但你能保住饭碗,并且能从现实任务中学习。
如果你是应届生或者在校生,你学习数据科学的时机堪称完美:你有大把机会找出自己最喜欢、最感兴趣的领域——电影?音乐?汽车?普通人想象不出来这些行业雇佣了多少数据科学家。但最重要的,这些人都对所处领域心怀大爱。
02
打基础
数据科学的各个细分领域之间差异很大,但底层技能都是差不多的。有三个领域你必须学好,并打下牢固基础:数据分析,统计学和写代码。你并不需要在每个学科都成为大师,但要牢固掌握这三个领域的基础知识和技巧。
(a)关于数据分析
你需要理解基本的分析技巧,并进行大量练习——比如数据表是什么;怎么合并数据表;对于按照特定方式而组织的数据,主流分析技巧是什么;怎么创建数据集的摘要视图(summary views),怎么从中得出初步结论;探索性数据分析是什么;哪种可视化方法能帮你理解数据并从中学习。这些都很基础,但相信我——掌握了这些之后,你就有了任何数据科学工作所必须的基本技能。
(b)关于统计学
要掌握统计学入门知识——比如,什么时候用平均数,而什么时候要选择中位数;什么情况下用标准差,什么情况下用它完全没意义;为什么平均值会“骗人”,但仍然是最常用的总计价值。
我说“入门知识”的时候,我真的指的是入门。除非你是个数学家,有志成为计量经济学家——那么,请尽情学习高级统计学。如果你没有数学专业 PhD,你只需要花一些时间,保持耐心,直到对基础统计学和概率论有一个不错的掌握。
(c)写代码
学编程是最老套的建议,但的确很靠谱
你应该从学习用 SQL 查询数据库开始——不管你信不信,数据科学团队的大部分工作时间,是花费在数据的“ pulling”和准备上,而这需要通过 SQL 完成。
你还需要学一门数据分析语言(从一门语言开始),R 或 Python 都很合适——对其中一门语言的掌握,会给你的职业选择带来很大不同,许多职位的招聘要求会有这两门语言,虽然不是全部。一开始,你可以聚焦于学习语言的基础,然后再专注钻研如何用它来搞数据分析。另外,在这行立足并不需要你成为一个程序猿——你只需要知道怎么用程序语言来对数据进行分析和可视化。
03
数据科学是一门解决实际问题的学问——你需要找到问题并解决它。
职业生涯中我逐渐体会到,成为一名合格数据科学家的最基本要求,是要不停问问题,不停寻找需要解决的问题。我不建议你每时每刻都去寻找问题——这或许会对心理健康造成负面影响。但若下决定干这一行,你就要做好准备成为一个“问题解决专业户”,并且像福尔摩斯或者柯南一样锲而不舍。
我建议从小问题开始,找出你的生命中能受益于数据分析的东西——你会为生活中的各种数据之丰富感到惊讶(即便是难以启齿的数据)。或许你会开始分析你的购物习惯,找出你 email 中的情感流露模式,或者创建漂亮的图表追踪家乡城市的财政状况。
数据科学家的责任是“质疑一切,不断发问”:比如,这个市场营销项目是否有效?有没有值得注意的行业趋势?公司产品是否表现不佳需要下马?合作伙伴给的折扣是否合理?这些问题会成为数据科学家眼中的假设,需要用数据分析进行证实或者证伪。
假设( hypotheses)是数据科学工作的原材料,你能解决、解释的假设越多,你的能力越高。
04
开始实干,而不是把时间精力浪费在计划“做什么”和“怎么做”上面
这适用于任何学习活动,但对数据科学来说尤其贴切。新人们,请确保从学习的第一天开始你就在“做”。在这一行,把真正的学习晾在一边,而只是“读关于数据科学的东西”,“读应该怎么做”,是个非常普遍、非常容易犯的错误(我自己一开始也是这样)。
很多人复制粘贴书里的数据分析代码,然后在非常简单的数据集上运行,把这作为练习。相信我,现实世界里你永远不会遇到这么简单的数据集。
对于你所掌握的知识和技能,确保把它们用于你所感兴趣的领域,然后,你会体会到数据科学的奇妙之处:写下你的第一行代码,看到它如何失败,陷入僵局,不知道下一步怎么做,寻找解决方法,找了很多却没有一个管用,艰难地自己摸索,结果突然间闯到了下一阶段……这一刻,你大叫一声泪流满面。
这才是真正的学习过程
“ Learning by doing”,即从实践中学习,是掌握数据科学的唯一方法。你学骑自行车的时候,并不是靠研读《教你怎么骑自行车》,而是直接上去骑,是吧?差不多的道理在这里也适用。不管你学的是什么,要确保你立刻去用它,用真实数据解决真实问题。
“如果你花费过多时间思考一件事,你永远也无法将它完成。”这是李小龙的一句名言。雷锋网按:虽然我们不鼓励数据科学家读鸡汤,但是——你明白我的意思。
CIO之家 www.ciozj.com 公众号:imciow