我有时会收到要求与数据科学有关的指导的电子邮件,我在这里作为数据科学咨询栏一一回答。 如果您有数据科学相关的困扰,请发电子邮件至[email protected]。之前的数据科学咨询栏分析包括如何构建你的数据科学和工程团队,和给对深度学习感兴趣的学生提供建议。
Q:这些问题是我从编程能力有限但对成为数据科学家很感兴趣的人们发给我的一些邮件的综合,如以下:
Q1.我是一家大银行的财务分析员。我正处于向技术工程师转变的过程中,我对机器学习感兴趣。在AI工作中我需要硕士或博士学位吗?
Q2.我现在是纯数学博士生,即将毕业。 我真的对数据科学很感兴趣,如果我想在这方面工作,我该做什么准备以便我能掌握公司所需要的技能? 我正在看书,想找到一些我可以做的小项目。您有什么办法可以找到那些吸引招聘者的小项目吗?
Q3.我毕业于STEM学位,曾担任研究员和教师。 我目前正处于职业转型期,并寻找可能需要员工分析和教学技能的职业。 我更擅长科学方面,而不是软件。如今互联网能够颠覆我们的认知能够将孤立的信息进行共享。您能否推荐一些教师薪资能承受的编程课程和研讨会? 并且您认为应该重点发展什么编码语言或技能?
A:我认为自己有点非传统的背景。乍看起来好像我有一个典型的数据科学教育:我在高中花了2年学习C ++,在大学主修数学辅修计算机科学,得了一个与概率相关的博士学位,并且从事quant工作。 然而,我的计算机科学课程主要是理论性的,我的数学论文是完全理论的,多年来我使用C / C ++越来越少以及使用MATLAB越来越多。我的大学只教我如何证明算法,但在测试、版本控制、网络应用程序与网络如何运作方面毫无所知。我所在的公司,主要使用在技术行业不被使用的专有软件/语言。
经过2年的能源交易量化工作,我意识到我最喜欢的工作是编程和处理数据。我想要做些改变,并决定参加2012年2月的Strata数据科学会议,以了解更多关于湾区的数据科学。我深深地陷进去了。对数据的巨大热情、最令我兴奋的工具和其他人奋斗的故事让我耳目一新。在Strata之后,我在旧金山度过了几天,在初创公司接受面试,并与一些已经搬到SF的朋友喝咖啡,他们都很乐于助人,而且也很喜欢Four Barrel Coffee。
我曾非常有名,但实际上我觉得切换到技术领域我完全失败了……我第一次与科技人员交谈和面试时,我经常觉得他们说另一种语言。我生活在湾区外,也不认识任何在技术领域工作过的人。我从来没有上过统计课,只是觉得概率便是测量空间的真实分析。我不知道初创公司和科技公司如何运作。我第一次在一家初创公司面试时,在公司刚开始运作时的盈利上闹了不小的笑话。在另一次面试中,我被一个“印象”的概念弄糊涂了,我花了一段时间才理解问题的逻辑。
我在这里已经五年了,有些事是当我开始转变职业时理应知道的:我是白人、美国公民,读研究生时获得丰富的奖学金,没有学生的债务,是单身无子女。没有这些特权的人将面临更加艰难的路。虽然我的轶事应该持保留态度,但我希望其中一些建议可以帮助你:
准备好进入数据科学领域
1.最重要的是:无论你想从现在的工作中学到什么,都要找到方法。找到一个涉及更多编码/数据分析并对你的雇主有帮助的项目。 尝试任何枯燥的任务自动化。即使自动化过程需要5倍的时间,你也可以这样做。
2.分析你所拥有的任何数据:从购物清单到食谱的营养数据等事件数据,将其转化为迷你数据分析项目,并将其写入博客文章。 例如,如果你是研究生,你可以分析你所教的学生的成绩数据。
3.学习最重要的数据科学软件工具:Python的数据科学堆栈(pandas/numpy/scipy)是第一个最有用的学习技术,其次是SQL。 在学习其他语言之前,重点放在Python和SQL。 Python很灵活并且被广泛使用。 如果你决定切换到更多的软件开发工作或全力以赴进行机器学习,那么你会有优势。
4.使用Kaggle。 做教程,参加论坛,参加比赛。这是学习实用机器技能的最好方式。
5.搜索你所在地区的数据科学和技术会议。 随着数据科学在过去几年的爆炸式增长,现在世界各地都有各种会议。 例如,Google最近在加利福尼亚州山景城举行了TensorFlow开发峰会,世界各地都在观看直播。
在线课程
在线课程是一个非常好的资源。你可以在舒适的家里跟世界上最好的数据科学家学习。作业通常是学习最多的地方,所以不要跳过它们!这里有一些我的最爱:
lAndrew Ng的经典机器学习公开课(虽然没有在Octave / MATLAB上花很多时间,但是在算法的解释上做得很好。或许用 Python 完成这项工作更好)
l快速实践深入学习课程。 唯一的前提条件是1年的编码经验。
lUdacity的数据科学系列。
lUdacity的Web开发课程。 成为一个更好的软件开发人员可以使你成为一个更好的数据科学家,并且这对了解如何建立自己的网络应用程序是非常有用的。
上面强调过的问题之一,在线提供的信息,教程和课程的数量或许巨大,最大的风险之一是不能持之以恒。 找到一个“足够好”的课程或项目,然后坚持下去是很重要的。找到或组建一个小组一起学习在线课程可能有所帮助。
新闻来源
lTwitter是一个非常有帮助的找到有趣的文章和机会的方式。例如,我的合作者Jeremy Howard提供了超过1000个链接到他最喜欢的机器学习论文和博客帖子。这将需要一些时间来考虑跟随谁,虽然有一个捷径就是在链接中寻找喜欢推文的作者,直接关注他们。你可以通过各种方式找到你所感兴趣的推主。如果你不确定如何推送或推送什么,我认为把Twitter作为一种你喜欢的书签链接的方法是很有帮助的。
lThe machine learning subreddit是近期新闻的重要来源。 一开始你可能会发现很多东西无法理解,但经过几个月后,你将认识得越来越多。
l注册时事通讯是有帮助的,例如Import AI newsletter和WildML news
搬到湾区
尽你所能搬到湾区!我意识到这对很多人来说是不可能的(尤其是如果你有孩子或者各种各样的签证/法律居留问题)。这里有许多数据科学的线下见面会、学习小组、会议和研讨会。还有一个由其他聪明、有抱负、热爱学习的数据科学家组成的社区。虽然在搬来这里之前我已经开始自学机器学习,但来到SF迅速提升了我的学习进度。
对我来说,在旧金山的第一年,学习非常紧张:我参加了大量的聚会和研讨会,完成了几个在线课程,从数据公司的工作中学到了很多东西,最重要的是遇到了许多指导我的人。我周围都是热爱学习的人,他们正在推动那些可能成为现实的尖端技术。我上面提到的tensorflow开发者峰会,我很幸运能够参加现场,最棒的是我在那里遇到的人。
搬到这里的一个好办法是做一份“不是你理想的工作”,比如找一个地方,周围都是你可以从他们那里学到东西的人,即使这份工作你并不感兴趣。2012年初,我决定改变职业生涯,那个时候Insight 以及其他数据科学训练营还不存在。当时我申请了几份我的“梦想工作”,都被拒绝了。事后看来,我认为这是因为我缺乏一些必要的技能,不知道如何正确地推销自己,并且求职搜索也很简单。 2012年3月,我在一家我所感兴趣的初创公司担任了分析师的职位。总的来说,这是一个不错的选择。它让我迅速搬到旧金山,我加入的公司有很多方面都是杰出的,以及我的经理支持我做更多超出我职务范围的工程密集型项目。一年以后,我找到了我梦寐以求的工作:在一家有着吸引人的数据集创业公司担任数据科学家/软件工程师。
该地区还有一些好的训练营,这通常也提供了许多与在数据科学空间方面有趣的人和公司联系的机会。
lInsight Data Science是为STEM领域的博士毕业生提供的为期7周的免费密集型培训课程。 潜在的缺点:只有7周,其中一部分人专注于社交和求职,我相信它主要是为那些已经拥有大部分技能的人所需要的。 此外,竞争非常激烈。
l数据科学训练营如Galvanize或Metis。 优点:这是12周沉浸式体验,提供系统安排和人际交往的机会。缺点:非常昂贵。一些要考虑的因素:你的背景与所需的有多远? 也就是说,如果你的编程经验很少,可能需要做这样的事情,但如果你从一个密切相关的领域过渡,那么没有必要。还有,你能完成独立学习吗?如果你独立学习比较困难,训练营可能是有帮助的。
决定是否做培训有很多因素。其中最主要的是你需要多少组织性和外部的动力。你有多少自制力?网上有丰富的资源,但是接受你最需要学习的内容很重要。我发现网上课程的激励和作业对我来说真的有用,我曾经感到尴尬,这对我来说比一个完全独立的项目更容易。现在,我已经接受了这一点,并尝试使用它。以及其他问题:你需要学习多少,你能自己多快学会? 如果很快,一个培训可能会加快你的进度。 我认为培训一个特别好的地方是教你如何把一大堆不同的工具/技术放在一起。
你也可以没有工作就搬到这里。这需要一些条件,包括:充足的储蓄,美国的合法居留身份,没有孩子,所以这不是许多人的选择。但是,如果你能做到这一点,那可能是一个很好的选择。在科技方面寻找工作可以是全职工作,因为数据科学和工程面试需要大量的学习准备,而且经常将工作带回家。事后看来,当我全职工作和找工作时,我经常匆忙地找工作,这导致了一些次优的决定。你一定会找到很多方法来充实你的时间,学习面试,编码项目,参加研讨会和学习小组。另外,当我切换到科技时,让我感到惊讶的是两件事是人们跳槽的频率,以及在学习新事物或旅行的工作之间抽出时间是多么正常。
警告:5年前,当我准备搬到湾区时,我不知道这里有如此严重的性别歧视,种族主义,年龄歧视和道德沦丧。 几年后,我变得气馁,甚至我考虑离开科技产业。 背叛,冷酷无情和残酷的故事比比皆是。 然而,充满激情、迷人的社区和获得前沿技术使我待在这里,并给予选择,我会选择再次搬到这里。我现在感觉非常幸运能和 fast.ai 一起研究那些我认为最有趣也会产生最大影响力的问题。
其他相关问题的解答
在AI领域工作我需要硕士或博士学位吗? 我坚信答案是否定的。 事实上,AI博士通常并不能很好地解决实际的相关业务问题,因为这不是他们的培养方向。学术界的重点与工作的业务有很大不同。
学习Python之后应该学习Ruby吗?学习Ruby是没有必要的。 它类似于Python,它不会教你新的概念,而且没有太多的数据科学生态系统。
在哪里可以找到使雇主感兴趣的小项目? 我想可以在线查找随机的数据集。你的小项目不需要完全独一无二,或者涉及一个独特或不寻常的数据集。 使用从Kaggle获得的数据集可用于小项目。当创建小项目,博客帖子或教程时,将你的用户认为是落后于你的人,因为他们是你最能帮助的人。 你也不必担心某领域的高级人员或其他可能已经做过类似事情的人对项目或博文不敢兴趣,这只是为了让你找到工作。
以上为译文
本文由阿里云云栖社区组织翻译。
文章原标题《How to change careers and become a data scientist - one quant's experience》,作者:Rachel Thomas,译者:tiamo_zn,审校:海棠。