如何打造数据科学作品集

2018 年 7 月 31 日 论智
来源:Medium
编译:weakish

编者按:斯克里普斯研究所数据科学家Michael Galarnyk讨论了数据科学作品集应该包括哪些内容,如何提高作品集的吸引力等问题。

作品集是表明你是一头数据科学独角兽的方式

如何找到一份数据科学的工作?了解足够多的统计学、机器学习、编程等知识,仍然不容易找到工作。我发现不少人可能具备了得到工作所需的技能,但没有作品集。尽管简历很重要,作品集(你的数据科学技能的公开证明)对找工作帮助极大。即使你有推荐人,能够向潜在雇主表明你能做什么,而不是仅仅告诉他们你可以做什么,仍然是很重要的。本文包含一些链接,其中许多数据科学的职业人士(数据科学管理者、数据科学家、社区大拿)及其他一些人谈论作品集应该包括什么,如何吸引注意力。让我们开始吧。

作品集的重要性

准备作品集的过程本身可以让你学到东西,同时作品集还能帮你找到工作。从本文的主题出发,让我们将作品集定义为你的数据科学技能的公开证据。这一定义来自于Mode Analytics blog的Marissa Gemma对DataCamp首席数据科学家David Robinson的访谈。David提到他是如何找到第一份工作的:

对我而言,最有效的策略是公开作品。我博士后期写了一些博客,做了许多开源项目的开发,这些有助于为我提供数据科学技能的公开证明。但我得到我在业界的第一份工作是一个特别明显的公开作品的例子。在我的博士期间,我在StackExchange系列网站很活跃,然后StackExchange的一个工程师搜到我的一个回答(一个解释贝塔分布背后直觉的回答)。他对这一回答印象非常深刻,通过Twitter联系了我,经过几轮面试,我最终入职StackExchange.

你也许觉得这不过是一个孤例,但是你可能常常发现,你越活跃,碰到类似这样的事情的概率就越大。正如David在自己的博客上所写:

你做的公开工作越多,这样的异常事件出现的概率就越大:有人注意到你的工作并向你推荐工作机会,或者正在面试你的某人听说过你做的工作。

人们经常忘记软件工程师和数据科学家同样会google他们的问题。如果某些人通过查看你的公开作品解决了他们的问题,他们可能对你评价更高,并联系你。

作品集可以满足对经验的要求

即使是初级职位,大部分公司也想要招至少有一点实际经验的人。你可能看过类似下面的meme:

(译文:初级职位开放招聘: 面向毕业生。要求: 5年经验,6块奥林匹克金牌,具有超能力。)

问题在于,如果你需要经验获得第一份工作,你如何获得经验?如果这个问题有答案的话,那么答案是项目。项目也许是工作经验的最佳替代品,正如Will Stanton所说:

如果你没有任何数据科学家的经验,那么你绝对需要进行独立项目。

事实上,当Jonathan Nolis面试候选人的时候,他想要听应聘者描述最近的问题/项目:

我想要听听他最近做的一个项目。我会问他项目是怎么开始的,他如何确定值得为这个项目付出时间和精力,过程,结果。我也会问他从项目中学到了什么。我从这个问题的答案中获取了很多信息:他是否可以讲好一个故事,谈谈这一问题与大局的关系,说说他是如何处理其中碰到的难点的。

如果你没有数据科学的相关工作经验,最好的选择是谈谈你最近做的一个数据科学项目。

列入作品集的项目类型

数据科学是如此广阔的一个领域,很难知道招聘人员想看到什么样的项目。Quora的数据科学管理者,William Chen在Kaggle的CareerCon 2018上发表了他的意见(youtu.be/xrhPjE7wHas):

我喜欢那些以超出家庭作业水准的方法,体现了对数据的兴趣的项目。任何课程的大作业,你探索了一个有趣的数据集,找到了有趣的结果……在写作部分用点心……我真的很喜欢看到找到有趣、新颖的东西的好文章……包括用一些可视化方法分享他们的工作。

很多人意识到了创建项目的价值,但很多人碰到的问题是从哪里得到有趣的数据集,得到之后做什么。Airbnb的数据科学家Jason Goodman,在他的博客文章Advice on Building Data Portfolio Projects(创建数据科学作品集项目的建议)中谈论了许多不同的项目创意,并且给出了应该使用哪类数据集的良好建议。他的观点与William一致,要使用有趣的数据。

我发现最好的作品集项目更偏重处理有趣的数据,而不是进行酷炫的建模。许多人基于财经数据或Twitter数据做一些事;这样不是不行,但是数据内在地没有那么有趣,所以你是在爬坡。

他博客文章中的另一个观点是抓取网页是获取有趣数据的很好的方式。如果你对通过Python抓取网页构建你自己的数据集感兴趣,可以看看我之前的文章。如果你来自学术界,那么你提出的理论可以算是非常大的一个项目。William Chen在之前提到的视频中谈到了这一点。

Social Good Project的交通巡航数据科学

城市交通量的很大一部分来自寻找停车场的司机,还有等待乘客或赶去接乘客上车的司机。这些驾驶模式统称为交通巡航(traffic cruising),它们是造成西雅图市区拥堵的重要原因。Social Good Project的交通巡航数据科学项目,是我个人觉得很有意思的一个项目。当然还有许多有意思的项目。

不要列入作品集的项目类型

很多人都建议,不要在作品集中包含老套的项目。

Jeremie Harris在The 4 fastest ways not to get hired as a data scientist(应聘数据科学家失败的4种最快方法)中写道:

突出你在微不足道的概念证明类数据集上做的个人项目,我觉得很难想到比这更快的让你的简历被扔到“绝对不招”那一堆的方法了。

如果你不清楚我说的是什么样的数据集的话,那下面是一些给你带来的伤害远大于给你的帮助的项目:

  • 泰坦尼克数据集上的存活分类

  • MNIST数据集上的手写数字识别

  • iris数据集上的花的种类识别

使用这些数据集的话,你没有太多在应聘者中脱颖而出的方法。确保列出新颖的项目。

泰坦尼克(A)、MNIST(B)、iris(C)分类


迭代作品集

Favio Vazquez写过一篇出色的博客,谈论他是如何获得一份数据科学家工作的。当然,他的其中一条建议就是要有一个作品集。

要有一个作品集。如果你正找一份严肃、有偿的数据科学工作,那就在真实数据上进行一些项目。如果可以,把它们发到GitHub上。除了Kaggle竞赛,寻找你热爱的东西,或者你想要解决的问题,并使用你的知识进行你的项目。

Favio的另一项有意思的发现是,在找工作的过程中,你应该不断提升自己。

我大约申请了125份工作(老实说,也许你申请的更多),最终只有25-30个申请得到了回复,而其中一些回复不过是:谢谢,但很抱歉…… 在大约15次面试的机会中,我多少都学到了一些东西并提升了自己。虽然不得不应对大量拒绝,但是我挺喜欢面试的过程(坦率地说,不是所有面试都喜欢)。在整个求职过程中,我坚持每天编程,阅读了很多文章,这些都很有帮助。

当你学到更多东西,自我得到了提升,你的作品集也应该更新。其他许多文章也给出了类似的建议。正如Jason Goodman所说:

公开发布项目并不意味着项目完结了。在发布之后,要勇于持续不断地增补和编辑。

当你找工作时,这条建议尤其正确。有很多成功的故事,比如Airbnb的数据科学家Kelly Peng,她在找工作的过程中不断提升自己。她的一篇博客统计了申请和面试的数量

  • 求职申请:475次

  • 电话面试:50次

  • 完成take-home challenge:9次

  • 现场面试:8次

  • offer:2家

  • 求职用时:6个月

很明显,她申请了很多工作,并坚持不懈。她的文章甚至提到如何从面试经历中持续学习。

记录你被问到的所有面试题,尤其是你没回答上来的问题。你可以再次失败,但不要在同一地点失败。你应该不断学习并有所提高。

“如果你还没得到面试机会,提交更多的申请,持续寻找学习和提升的方法。”


在一页简历中收录作品集

找到你的作品集的途径之一是你的简历。所以我们来说说简历。一份数据科学简历应该聚焦于你的技术能力。简历为你提供了一个简洁地体现资质、显示你适合特定职位的机会。招聘人员会非常快速地浏览简历,你仅仅有很短的时间留下印象。完善你的简历可以增加你获得面试机会的几率。你需要确保简历的每个部分、每一行都是有效的。

Quora的数据科学管理人员William Chen就制作数据科学简历提出了9条建议(youtu.be/xrhPjE7wHas)。下面我将简要地总结这9条建议,其中和项目、作品集有关的是第6、7、8条,也许第9条也可以算。

  1. 篇幅: 将篇幅控制在一页以内,使用单栏布局,这样便于快速浏览。

  2. 目标: 简历中不要包含“目标”。它并不能让你脱颖而出,而且会挤占更重要的东西(技能、项目、经验等)的空间。一般不需要写求职信,除非你的求职信非常有个性。

  3. 课程: 列出和工作描述相关的课程。

  4. 技能: 不要给你的技能打分。如果你想要评价你的技能,使用熟练、熟悉之类的词汇。你甚至完全可以不写评价。

    不要使用量化评分

  5. 技能: 列出工作描述中提到的技能。你可以按照擅长程度排列技能。

  6. 项目: 不要写上老套的项目或者家庭作业类的项目。它们无法让你脱颖而出。列出新颖的项目。

    老套的项目

  7. 项目: 列出结果和链接。如果你参加的是Kaggle竞赛,列出百分比排名可以帮助阅读你简历的人了解你在竞争中所处的位置。永远别忘了加上相应的博客文章或论文的链接,这些有助于招聘人员深入了解你的项目(优先列出处理真实世界的复杂问题的项目,你从中学到新东西的项目)。

    好的例子

    注意,上图中第二份简历作者列出了一个额外的链接,指向他的博客(more at ...),这是在简历中列入作品集的一种方法。

  8. 作品集: 填上你在网络站点的活动。最基本的是LinkedIn页面,它有点类似简历扩展。GitHub和Kaggle页面可以展示你的作品。你也可以加上其他站点的链接。你可以写上关于你的GitHub仓库的描述。加上你分享知识的站点的链接(medium,quora)。数据科学正是一个关于分享知识和向其他人沟通数据意味着什么的行业。你不必加上上面所有的内容,但是选择一些列在你的简历上是很有必要的(后文将继续讨论这些站点)。

  9. 经验: 根据工作列出你的经验。经验是简历的核心,不过如果你没有工作经验,你应该怎么做?列出你的独立项目,比如顶点项目(capstone project,译者注,一些院校为学生开设的应用所学于实际工作的项目),独立研究,理论工作,Kaggle竞赛。如果你没有工作经验,这些可以作为替代。避免在简历中加上无关的工作经验。

如果你想了解数据科学管理人员是如何审阅作品集和简历的,可以看下Kaggle的CareerCon 2018上的视频:

  • 视频:youtu.be/kBR0EtGOkzc

  • 审阅的简历:https://drive.google.com/drive/folders/1hqrBBZAxnhckto-gU1EKtXeesmtQqX9i

社交媒体的重要性

这一节的性质与上一节类似。GitHub页面、Kaggle页面、Stack Overflow页面等可以支持你的简历。列上网络页面对招聘人员来说是一个良好的信号。

正如David Robinson所说:

通常而言,当我评估候选人时,我很乐意看看他们公开分享的东西,即使分享的东西没有经过精心打磨或者并未完成。分享一些东西几乎总是比什么都不分享要好。

Will Stanton指出了数据科学家喜欢看到这些的原因:

数据科学家使用这些工具分享他们自己的作品,寻找问题的答案。如果你使用这些工具,那么你正向数据科学家发送信号:你是其中一员,即使你并没有作为数据科学家工作过。

数据科学很大一部分是关于沟通和展示数据,所以这些网络页面是很有用的。这些平台除了可以展示你的经验,同时也能帮助你引起注意,让别人发现你的简历。人们确实通过多种渠道在网上找到你的简历(LinkedIn、GitHub、Twitter、Kaggle、Medium、Stack Overflow、Tableau Public、Quora、Youtube等)。你甚至会发现这些网站可以互相补充。

GitHub

(上为Jennifer Bryan和Yuan (Terry) Tang的GitHub页面)

GitHub页面是体现你能力的强有力的信号。在简历的项目部分,人们经常留下他们所写的代码的GitHub链接。你也可以在GitHub上放上你写的文档和markdown。GitHub让人们查看你创建的项目,以及你是如何创建它的。在一些公司,招聘人员会查看申请人的GitHub。这是向雇主显示你不是假阳性样本的另一种方式。如果你在GitHub上花上一些时间,你可以比别人得到更好的评价。

值得一提的是,你需要README.md之类的东西描述你的项目,因为数据科学的很大一部分在于沟通结果。确保README.md文件清除地描述了你的项目是什么,你的项目做什么,以及如何运行你的代码。

Kaggle

参加Kaggle竞赛,创建核(kernel),参与讨论都是展示你作为数据科学家的能力的方式。需要强调的是,正如Colleen Farrelly在一个quora问答中指出的,Kaggle和业界的项目不一样。Kaggle竞赛是处理好的任务,为你获取数据,同时为你清洗数据至可用的格式。Kaggle竞赛让你实践数据分析,设计模型。Reshama Shaikh写过一篇要不要参加Kaggle竞赛的文章,其中提到了Kaggle竞赛的价值:

没错,参加Kaggle竞赛并不能证明你胜任数据科学家的工作。参加一门课程、出席一次会议、分析一个数据集、阅读一本数据科学的书也不能。参加竞赛增加了你的经验,增强了你的作品集。它是你其他项目的补充,而不是数据科学技能集的唯一证明。

同样,许多Kaggle宗师持续参加Kaggle竞赛也是有理由的。

LinkedIn

不像简历那样受篇幅所限,LinkedIn页面让你可以更详细地描述你的项目和工作经验。Udacity有一篇完善LinkedIn页面的指南(How to Stand Out on LinkedIn)。LinkedIn的一个重要部分是它们的搜索工具,为了能够在搜索结果中出现,你的个人页面必须要有相关的关键词。招聘人员常常在LinkedIn上找人。LinkedIn可以让你查看哪些公司曾经搜过你,哪些公司看过你的个人页面。

除了便于公司搜索到你,LinkedIn同时提供了许多其他特性,例如请求推荐。Jason Goodman在他的文章Advice on Applying to Data Science Jobs(申请数据科学工作的建议)中提到,使用LinkedIn间接请求推荐:

我从未,从来没有在没有内推的情况下申请任何一家公司……一旦我对某家公司感兴趣,我就用LinkedIn查找在那家公司的一度联系人或二度联系人。我会给他发消息,请他谈下在那家公司工作的体验,以及,如果可能的话,是否可以帮我联系数据科学团队中的某人。只要有可能,我会和他面谈(咖啡或午饭)而不是通过电话。顺便提下,Trey Causey最近写了一篇关于如何请求这类会面的文章。我不会直接请求工作,但他们通常会问我的简历,或者帮我内推,或者把我介绍给想要招人的主管。如果他们看起来不乐意做这些……我会直接感谢他们抽出时间见我,然后进行下个日程。

注意他没有直接请求内推。尽管常见的应聘建议说申请工作时要找内推,非常重要的是你仍然需要作品集,经验,或胜任工作的某种证明。Jason甚至在上面的文章中提到了作品集的重要性,他写的另一篇文章也提到了这点。

在面试了多家AI公司之后,Aman Dalmia领悟到了类似的道理:

网络不是给人发消息,让人给你内推。我刚开始常犯这个错误,直到我读到了Mark Meloon的文章Climbing the Relationship Ladder to Get a Data Science Job,其中他提到了建立真正的联系的关键在于首先提供帮助。

他提到的另一点是LinkedIn可以帮你推广你的内容/作品集。

网络的另一个关键步骤是推广你的内容。例如,如果你擅长某事,写关于它的博客,然后在Facebook和LinkedIn上分享。它不仅帮助其他人,它也可以帮助你。

Medium和其他博客平台

有某种形式的博客极有帮助。数据科学很大一部分是关于沟通和展示数据。写博客是练习这一技能的方式,也是展示你胜任这一技能的方式。描述一个项目或者一个数据科学主题让你可以和社区分享你的心得,同时鼓励你写下进展和想法。这是面试时用的到的技能。

正如David Robinson所言:

写博客是你练习相关技能的好机会。

  • 数据清洗: 处理多种多样的数据集的一大益处是你学习处理“原始”数据,也许它是期刊文章的附件,或者电影字幕。

  • 统计学: 处理不熟悉的数据让你有机会将统计学方法应用于实践之中,撰写沟通和传授概念的博客帮助你建立自己的理解。

  • 机器学习: 使用过一次某个预测算法和将其应用到多种问题上有着很大的区别,这需要你理解你为什么选择一种算法,不选择另一种。

  • 可视化: 你制作的图形能让人看到,会鼓励你开始完善它们,乃至建立你自己的风格。

  • 沟通: 你获得了写作的经验,联系如何结构化数据驱动的主张。这也许是和写博客最相关的技能,因为它很难通过其他途径练习。并且,它是任何数据科学职位不可或缺的部分。

通过撰写博客,你可以练习和其他人交流你的发现。同时这也是另一种推广自己的形式。我以前写的博客使用Scrapy自建数据集和Python Environment Management with Conda(基于Conda管理Python环境)让我学到了很多东西,也让我得到了许多通常得不到的机会。我发现写博客的一个主要好处是,人们通过博客的评论指出我的项目的问题,并向我提出改进的建议,这样,就不用等到面试中,让面试人员指出我的缺陷和问题了。另一个更明显的好处是,在写博客的过程中,你通常需要阅读大量关于数据科学和机器学习方面的博客文章,并在此过程中学到很多东西。

至于博客的平台,我推荐使用Medium。Manali Shinde在她的博客文章How to Construct a Data Science Portfolio from Scratch(如何从头开始构建数据科学作品集)中给出了一个很好的选择Medium写博客的理由:

我也想过基于WordPress或Squarespace之类的工具创建自己的网站。尽管使用这些平台来托管你自己的作品集很棒,但我想要找一个能够让更多人看到的地方,一个相当不错的标签系统,能把我的内容传达给更多人。很幸运,如我们所知,Medium符合这些条件(并且它是免费的)。

如果你知道写什么,我建议你看下David Robinson的建议。

twitter.com/drob

(译文:如果同一段代码写过3次,写一个函数。如果同样的建议你给过3次,写一篇博客。)

Twitter

多刷刷Twitter,给你提供了认识同一领域的人,乃至和他们互动的机会。你也可以在Twitter上推广你的博客,这样你的作品集就有更多被看到的机会。和人在Twitter上互动的机会很多。Reshama Shaikh写过一篇很有名的博客First Data Science Job,其中提到:

David Robinson会很慷慨地转推你的第一篇数据科学文章。一个超过两万关注者的转推,这是一个无法抗拒的提议。

除了推广自己,Twitter还有其他用途。Data Science Renee有一篇文章How to use Twitter to Learn Data Science (or Anything)。这是一篇很有洞察力的关于如何使用Twitter学习技能的文章。当然她的文章也提到了Twitter对她的网络和得到机会的帮助。

我收到了在播客和博客中受访的邀请(其中一些很快就要发表),合同工作的邀请,免费出席会议的邀请(很不幸我去不了,但我仍然很兴奋能收到邀请)。业界的“知名”人士联系我,以某种方式一起合作。

Tableau Public

不是每份数据科学工作都用Tableau之类的BI工具。然而,如果你打算申请的工作要用到这些工具,值得注意的是有网站可以让你发布公开的面板(dashboard)。例如,如果你了解Tableau,你可以在Tableau Public上发布一些面板。尽管很多公司可能允许你在工作中再学习Tableau,具备Tableau技能的公开证据是有帮助的。如果你想查看一些Tableau Public页面的优秀例子,可以看下Orysya Stus和Brit Cava的页面。


结语


记住作品集是一个过程。不断改进

长期以来,一份漂亮的简历都是向潜在雇主展示你的技能的主要工具。今时今日,有更多展示技能和得到工作的方式。作为公开证据的作品集是获得你通常难以得到的机会的一种方法。特别强调,作品集是一个迭代的过程。随着你知识的增长,你的作品集也应该随之更新。永远不要停止学习和成长。甚至这篇博客文章本身都会因为反馈和知识的增加而更新。如果你想了解一些面试的建议/指南,可以看下Brandon Rohrer的advice on how to survive a data science interview(如何在数据科学面试中幸存的建议),Sadat的interview guide(面试指南),或者Springboard's advice(Springboard的建议)。如果你对这篇教程有任何问题和想法,欢迎留言或者通过Twitter(GalarnykMichael)联系我。

原文地址:https://towardsdatascience.com/how-to-build-a-data-science-portfolio-5f566517c79c

登录查看更多
1

相关内容

数据科学(英語:data science)是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。 它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。 数据科学通过运用各种相关的数据来帮助非专业人士理解问题。
打怪升级!2020机器学习工程师技术路线图
专知会员服务
98+阅读 · 2020年6月3日
商业数据分析,39页ppt
专知会员服务
160+阅读 · 2020年6月2日
少标签数据学习,54页ppt
专知会员服务
196+阅读 · 2020年5月22日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
数据科学即将迎来“无代码”时代
大数据文摘
4+阅读 · 2018年10月21日
在 Google 工作六年半后,我还是选择离职了
开源中国
4+阅读 · 2018年10月21日
如何成为一名商业产品经理?
产品100干货速递
6+阅读 · 2018年10月18日
新手必看:生成对抗网络的初学者入门指导
AI研习社
13+阅读 · 2018年9月18日
【干货】数据科学与机器学习面试指南
机器学习算法与Python学习
8+阅读 · 2018年8月15日
如何用 3 个月零基础入门机器学习?
AI研习社
6+阅读 · 2017年9月27日
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
12+阅读 · 2018年9月5日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
6+阅读 · 2018年4月23日
Arxiv
10+阅读 · 2018年2月9日
VIP会员
相关VIP内容
打怪升级!2020机器学习工程师技术路线图
专知会员服务
98+阅读 · 2020年6月3日
商业数据分析,39页ppt
专知会员服务
160+阅读 · 2020年6月2日
少标签数据学习,54页ppt
专知会员服务
196+阅读 · 2020年5月22日
【资源】100+本免费数据科学书
专知会员服务
107+阅读 · 2020年3月17日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
相关资讯
数据科学即将迎来“无代码”时代
大数据文摘
4+阅读 · 2018年10月21日
在 Google 工作六年半后,我还是选择离职了
开源中国
4+阅读 · 2018年10月21日
如何成为一名商业产品经理?
产品100干货速递
6+阅读 · 2018年10月18日
新手必看:生成对抗网络的初学者入门指导
AI研习社
13+阅读 · 2018年9月18日
【干货】数据科学与机器学习面试指南
机器学习算法与Python学习
8+阅读 · 2018年8月15日
如何用 3 个月零基础入门机器学习?
AI研习社
6+阅读 · 2017年9月27日
相关论文
Adaptive Neural Trees
Arxiv
4+阅读 · 2018年12月10日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
12+阅读 · 2018年9月5日
Arxiv
7+阅读 · 2018年6月1日
Arxiv
6+阅读 · 2018年4月23日
Arxiv
10+阅读 · 2018年2月9日
Top
微信扫码咨询专知VIP会员