当前位置: 首页 > 科技观察

对于毕业生:你应该学习机器学习还是数据科学?

时间:2023-03-15 13:30:50 科技观察

随着数据科学行业自2013年以来的爆炸式增长,该行业继续朝着更广泛的方向发展,但也逐渐进入更具体的职业角色。本文首先分析了数据科学行业的整体发展趋势,然后深入比较了机器学习领域的几个不同职称的作用。对于想在数据科学和机器学习领域找工作的毕业生很有启发意义。大家好,我是杰森。我在硅谷工作,担任数据科学家(我们将在本文中进一步定义这个术语),我喜欢学习所有新事物!Introduction说实话,这个话题我想了很久。但是因为平时有太多的事情要做,所以抽不出时间去完成这个艰巨的任务。但是,由于新冠疫情的居家隔离令,我被困在狭小的房间里,最近几乎没有什么可以打发时间的。我终于下定决心把这个话题写完。随着数据科学行业自2013年以来迅速流行,该行业继续朝着更广泛的方向发展,但也逐渐进入更具体的职业角色。在这个新兴行业的演进过程中,难免会出现一些职位名称和职能上的混乱和差异。例如,许多职位名称看起来完全不同但在实际工作中起着相同的作用,或者具有相同的名称但在实际工作中起着不同的作用,这些职位名称可能包括:数据分析科学家、机器学习数据科学家、数据科学工程师、数据分析师/科学家、机器学习工程师、应用科学家、机器学习科学家……这个名单不胜枚举。即使对我来说,招聘人员通常也会找我担任不同的职位,例如数据科学家、机器学习(ML)专家、数据工程师等。显然,整个行业都对这些不同的职位头衔感到困惑。职位名称差异如此之大的原因之一是数据科学本身的实际需求和用途因公司而异。但无论其背后的原因是什么,今天的数据科学领域似乎正在分化并融合成几个主要的工作类别:分析、软件工程、数据工程和研究。不管那些看似相似的工作如何命名,它们通常都属于这些类别。这种工作细分在财力雄厚的大型科技公司中最为真实。在本文中,我们将首先了解数据科学行业的总体趋势,然后更深入地比较机器学习工程师和数据科学家的角色。我不想在这篇文章中讲述漫长的发展历史,而是选择讲述我作为生活在硅谷的数据科学家的所见所闻。即使在2017年,当我写了一篇文章《没有学位如何成为数据科学家》时,我对数据科学的看法也从那时起发生了很大的变化。去年,当我受邀为在MetisBootcamp学习数据科学的学生做一个简短的演讲时,我谈到了这个话题。今天我想通过这篇文章来解释这些职位之间的区别,并帮助您找到最适合您的工作角色。我们也来看看这个行业的发展到底是依然生机勃勃,还是已经暗淡无光,因为预测发展趋势本来就是数据科学家的工作吧?(或者可能不是)。无论如何,我衷心希望这篇文章能为您带来有用的信息。数据科学行业的趋势在我们深入挖掘信息之前,先看看我在LinkedIn上找到的两个职位描述。我已经编辑了他们的职位名称,请阅读下文并尝试猜测这些招聘广告的原始标题是什么。我用红色突出了一些关键点:我去年在LinkedIn上找到了这两个职位描述。有点过时,但仍然相关(来源:LinkedIn和Facebook)。这两个职位描述非常不同,不是吗?但可能会让您感到惊讶的是,这两个职位描述都是针对数据科学家招聘的。左边是Facebook的招聘广告,右边是Etsy的招聘广告。但是这里不想比较哪个jobdescription写的更好。关键是看它们在内容上有多少不同。上述职位描述的职位名称。Facebook(左)和Etsy(右)(来源:LinkedIn和Facebook)。即使在工作中,人们也经常争论如何定义数据科学家。我遇到过将数据科学家定义为博士的人。在计算机科学或新的数据分析师。这实际上是因为不同的公司对不同的职位使用相同的术语数据科学家。但是,我相信经过这么多年的发展,这个行业应该有更细的分工和更具体的职位定义,而不是把所有东西都塞进数据科学这个广阔的范畴。那么,数据科学家这个已经被过度使用的头衔实际上暗示了哪些不同的具体角色?在大多数情况下,我认为职位名称可能指的是软件工程师、数据分析师、数据工程师和应用/研究科学家。我知道很多朋友都有同样的数据科学家头衔,但在实际工作中他们的角色是以上四种之一。请看一下我在下面创建的图表。在数据科学的早期,数据科学家的职位描述可能确实包括这四个角色的功能。然而,今天的工作正变得更加具体和细化,如下图所示。数据科学家工作内容趋势(来源:作者)。《哈佛商业评论》你有预见到这样的发展吗?这种发展令人惊讶吗?根据《哈佛商业评论》(哈佛商业评论)2012年的著名文章《数据科学家:21 世纪最令人称羡的工作》(哈佛商业评论),这种发展并不奇怪:数据科学家最基本和通用的技能是编写代码的能力。但五年后,这可能会改变,因为越来越多的人将在名片上印上“数据科学家”的头衔。正如这篇文章所描述的,如今你不一定要成为一名优秀的程序员才能成为一名数据科学家。那是因为用于分析大数据的工具和方法没有那么广泛可用和用户友好。这需要以前的数据科学家具备强大的工程技能和其他技能。但是机器学习和数据科学的工具正在迅速发展,现在比以往任何时候都更容易获得,因此您只需几行代码就可以访问最先进的(SOTA)模型。这使得以前的数据科学家角色更容易分拆为今天的分析师或工程师。现在,我们不需要像以前那样掌握所有的分析、工程和统计来成为数据科学家。例如,Facebook率先改变了这一趋势,将过去的数据分析师职位转变为数据科学家。这是一种自然的演变,因为随着数据量的增加和数据问题变得更具挑战性,执行良好的数据分析需要更多的专业技能和培训。不仅是Facebook,Apple和Airbnb等公司也开始明确区分数据分析师/产品数据科学家和机器学习数据科学家的角色。公司规模如何影响职位划分值得一提的是,这种角色划分更多发生在规模较大的科技公司。数据科学家的角色与软件工程师的角色截然不同。虽然各种规模的科技公司都需要软件工程师,但并非所有公司都需要专业的研究科学家或机器学习工程师。对于许多公司来说,拥有一些数据科学家可能就足以经营业务。所以在小公司里,可能还是会有一些数据科学家同时扮演以上四个角色。根据一般经验,大公司(FANG4:Facebook、亚马逊、Netflix和Alphabet)的数据科学家通常扮演高级分析师的角色,而小公司的数据科学家扮演的角色更像是机器学习工程师。当然,这两个功能对公司来说都是重要且必要的。接下来,我将在这里继续使用我的新定义,即下面每当提到数据科学家时,都表示这是分析师角色。数据科学家的不同角色以及如何选择在下图中,我尝试呈现与上图类似的图表,但添加了对四个功能的更详细描述。这些描述可能并不完美,但您可以将它们作为参考。数据科学家职能的四大支柱(来源:作者)。求职-我应该选择哪个职位以及如何准备面试?如果你想进入这个领域,无论是作为机器学习工程师还是数据科学家,你可能想知道的第一件事就是你应该选择哪一个。让我列出四个与机器学习相关的主要职位的简化(但传统)描述,以帮助您弄清楚这些工作的实际作用。虽然我没有在工作中亲自尝试过所有这些职位,但我从在各个领域工作的朋友那里学到了很多东西。我还在下面描述的括号中提供了可能的面试(假设是典型的四轮面试)。数据科学家:您想分析大数据、设计实验和A/B测试、构建简单的机器学习和统计模型(例如使用sklearn)来推动业务战略吗?这个角色的工作不会特别结构化,会包含更多的不确定性。您需要能够独立领导项目的演示。(面试:1轮概率/统计,1轮Leetcode编程,1轮SQL,1轮机器学习。)2.机器学习工程师:你想构建和部署最新的机器学习模型(比如Tensorflow,火炬)?您的工作重点不仅是构建模型,还包括编写软件来运行和支持您的模型。在这个角色中,您更像是一名软件工程师。(面试:3轮Leetcode编程,1轮机器学习。)3.ResearchScientist:您是否拥有计算机科学博士学位,并在ICLR国际会议上发表过多篇机器学习相关的论文?您是否致力于推动机器学习的研究前沿并在您的论文被引用时感到兴奋?能做到这一点的人,确实是凤毛麟角。我相信,如果你能做到这一点,你就已经很清楚自己想从事什么样的工作了。大多数人才最终都在谷歌或Facebook工作。此外,没有博士学位也可以进入该行业,但这种情况很少见。(面试:1轮Leetcode编程,3轮机器学习/研究。)4.应用科学家:你是机器学习工程师和研究科学家的混合体。因此,这个角色不应只专注于编程,还应该使用和推进最先进的(SOTA)机器学习模型。(面试:2轮Leetcode编程,2轮机器学习。)显然,上面的描述并不详尽。但是当我和朋友聊到相关职位,看了很多职位描述的时候,发现以上几点还是普遍适用的。如果您对要申请的职位仍然有点不确定,这里有一些建议可以帮助您了解这份工作:阅读职位描述:老实说,职位名称并不重要。这些职位可能都被称为同一个“数据科学家”,但职位描述可能大相径庭。挖掘LinkedIn:如果你不确定Apple招聘的数据科学家是什么样的角色,只要看看Apple的数据科学家在LinkedIn上有什么样的专业背景。他们大多是计算机科学博士吗?还是本科学历?他们接受过什么样的专业培训?这些信息将帮助您了解更多信息。面试:如果你认为你申请的是技术职位,但在面试过程中没有接受任何编程技术面试,那么你可能不会在那里获得技术职位。通常你面试的内容反映了工作的性质。机器学习工程师vs数据科学家好吧,已经说得够多了。现在回到我们的话题。近年来,我开始听到越来越多关于数据科学工作的负面评论。造成这种情况的几个原因是,越来越多被称为“数据科学家”的工作似乎不再像过去那样包含很多高端机器学习组件,而且这些职位似乎比过去更容易获得。也许五年前,大多数职位描述至少需要硕士学位才能被聘为数据科学家,但现在情况大不相同了。不管人们如何猜测数据科学(至少在过去)结束的原因,让我们来看看一些实际数据。下面的数据和图表来自世界著名的薪资数据库搜索引擎SalaryNinja。它根据H1-B数据库中有关美国各地外国工人的信息进行搜索。您将看到2014年至2019年职位名称中带有“数据科学家”或“机器学习工程师”的职位数量和平均工资。比较数据科学家和机器学习工程师的工作机会趋势(来源:作者)。你对这个结果感到惊讶吗?尽管这两个角色的平均工资差不多,但你可以看到数据科学家的平均工资在2015年和2016年有所下降。这可能就是人们所说的,数据科学家的美好时光已经一去不复返了。但是就岗位数量而言,数据科学仍然远远大于机器学习工程,但是你可以看到机器学习工程师的岗位数量相比之下增长更快,平均工资也更高。为了您的方便,我在下面总结了从SalaryNinja收集的本文中讨论的几个角色的统计数据。第一张表显示了过去六年的统计数据,第二张表中抽取了一个子集仅显示2019年的最新统计数据。最后,我列出了过去六年微软作为一家公司的统计数据。几个机器学习相关职位的简单统计(来源:本文作者)。从以上数据中,我得出了一些有趣的见解:总体而言,数据分析师的数量要多于数据科学家,但在2019年,情况发生了逆转!这是否意味着数据分析师的职位正在被许多公司更名为数据科学家?机器学习工程师的薪水略高于数据科学家,但机器学习工程师在实际工作中的职位数量要少得多。这是因为机器学习工程师的官方头衔通常是软件工程师。研究科学家的平均工资低得惊人。我想出这个是因为该数据库可能包括许多其他类型的研究科学家,而不仅仅是那些从事机器学习技术研究的科学家。这就是为什么我特意在第三张表中只包括一家科技公司,以减少这种干扰。不出所料,研究人员占据了微软薪酬最高的职位。然而,我仍然对数据工程师130万美元的最高年薪感到震惊。这太疯狂了!也许你应该考虑这个职位。请记住,该数据集仅包括基本工资,而如今,股票在科技界也经常发挥重要作用。此外,它与就业市场的全貌相去甚远。然而,考虑到美国科技行业的外国工人数量,它仍然是一个很好的指标。基于这些数据,我认为不能武断地说数据科学行业已经陷入萧条。该行业仍在增长,但未来可能会更加注重分析。根据我的观察,如今似乎有更多的数据科学工作进入门槛较低,但这并不是坏事。结论到目前为止,本文已经涵盖了很多内容,但我仍然希望您能阅读这最后一部分。我写这篇文章是因为随着这个行业发生的所有变化,我经常感到困惑。此外,人们似乎对什么是数据科学有太多不同的看法。不管谁对谁错,希望大家看清趋势,自己拿定主意。最后,不要仅仅因为平均工资更高或更受欢迎就选择工作或行业。无论您的头衔是数据科学家、机器学习工程师还是数据分析师都没有关系。有人说数据科学家实际上是工程师或分析师并不重要,因为两者都可能是真的。虽然根据薪水比较职位头衔很容易,但真正重要的是选择您喜欢和擅长的职位。专注于您所做的实际工作,并确保它适合您。不要仅仅因为平均工资看起来较低就产生错误的印象,这并不一定意味着你实际支付的工资会低于其他工作。正如您在上表中看到的,本文讨论的所有职位的最高年薪都相当高。在我完成这篇文章之前,还有一些其他资源和更多信息可以参考:Airbnb曾经发表过一篇文章“DataScience,MultipleFunctionsunderSameTitle”:我认为Airbnb正在组织与数据科学相关的各个领域。它确实在工作类型方面做得很好,本文对此进行了详细说明。他们并没有统一给每个人一个模糊的数据科学家头衔,而是将其细分为三个不同的方向:分析、算法和推理。文章地址:https://www.linkedin.com/pulse/one-data-science-job-doesnt-fit-all-elena-grewal/YouTube上Joma的视频《一个数据科学家告诉你:到底什么是真实数据科学?”:他根据公司规模很好地解释了不同类型的数据科学家。通过本视频,您还可以详细了解在大型科技公司工作的分析数据科学家的角色。视频网址:https://www.youtube.com/watch?v=xC-c7E5PK0Y&feature=youtu.be&t=372再次感谢阅读。希望这篇文章能给你一些启发,让你在学习数据科学和机器学习时不会感到迷茫。在此困难时期,我衷心祝愿您一切顺利,并希望本文对您有所帮助。