数据科学家和机器学习工程师的角色之间经常存在混淆。尽管他们确实友好地合作,在专门知识和经验方面有一些重叠,但这两种作用的目的完全不同。
从本质上说,我们是在区分科学家和工程师,前者寻求理解他们工作背后的科学知识,后者寻求构建他人可以访问的东西。这两种角色都非常重要,而且在一些公司可以互换--例如,某些组织中的数据科学家可以执行机器学习工程师的工作,反之亦然。
为了使区别变得清晰,我将把区别分为3类;1)职责2)专长3)工资期望。
数据科学家遵循数据科学过程,这也可以称为Blitzstein&Pfister工作流。Blitzstein和Pfister最初创建了这个框架来教哈佛CS109课程的学生如何处理数据科学问题。
数据科学过程包括5个关键阶段
数据科学家完成的大部分工作都是在研究环境中进行的。在这种环境中,数据科学家执行任务来更好地理解数据,以便他们能够构建能够最好地捕捉数据固有模式的模型。一旦他们建立了一个模型,下一步是评估它是否符合项目的预期结果。如果没有,他们将迭代地重复这个过程,直到模型满足期望的结果,然后将其交给机器学习工程师。
机器学习工程师负责创建和维护机器学习基础设施,允许他们将数据科学家构建的模型部署到生产环境中。因此,机器学习工程师通常在开发环境中工作,在开发环境中,他们关心的是复制由数据科学家在研究环境中构建的机器学习管道。并且,它们在生产环境中工作,在生产环境中,模型可以被其他软件系统和/或客户机访问。
本质上,机器学习工程师负责维护ML基础设施,允许他们部署和扩展数据科学家建立的模型。而且,数据科学家是机器学习工程师构建的机器学习基础设施的用户。
人们对这两个角色之间的差异感到困惑的原因是,他们的技能有许多重叠的地方。例如,数据科学家和机器学习工程师都应该具备以下知识;
这些角色之间的主要重叠导致一些组织,特别是较小的组织和初创企业,将这些角色合并为一个角色。因此,有些组织让数据科学家做机器学习工程师的工作,有些组织让机器学习工程师做数据科学家的工作。只会导致更多从业者的困惑。
然而,每个角色所需的专门知识之间存在一些关键差异。
数据科学家通常是非常好的数据故事讲述者。有些人会争辩说,这种特质使他们比机器学习工程师更有创造力。另一个区别是,数据科学家可能会使用PowerBI和Tableau等工具来分享对业务的洞察力,他们不一定需要使用机器学习。
弥补伴侣不足的夫妇通常更强大。当你这样想的时候,前面提到的专业知识可能是机器学习工程师的弱点,他被期望在计算机科学和软件工程方面有很强的基础。机器学习工程师应该了解数据结构和算法,并理解创建可交付软件的基本组件。
话虽如此,对于机器学习工程师来说,很好地掌握另一种编程语言如Java、C++或Julia并不罕见。
确定确切的工资期望是困难的。这两个职位的薪水会因各种因素而异,比如你的经验、你所拥有的资格、你所在的地方和你工作的部门。
各组织也有望提供不同的福利。无论什么角色,你都可以收到加入公司养老金计划、灵活或远程工作、绩效奖金和私人医疗保险的邀请。
联合王国(英国)
美利坚合众国(USA)
总的来说,公平地说,机器学习工程师的平均工资通常高于数据科学家。
尽管数据科学家和机器学习工程师的角色有相似之处,但他们在职责、专业知识和收入方面有很大不同。从我听过的大多数关于这个话题的采访中,许多人说从数据科学家到机器学习工程师的转变比从机器学习工程师到数据科学家的转变要困难得多。这是因为数据科学家通常不精通软件工程和计算机科学基础,这是一个很大的学习曲线。
感谢阅读!
数据分析咨询请扫描二维码