数据科学

只懂机器学习已经out了,新一代的“全栈型”数据科学家

人人都在谈论数据科学,没有人真正知道如何去做,每个人都认为别人在做,所以所有人都声称自己在做数据科学。

  本文最初发表于 Towards Data Science 博客

  本文探讨了成为一名机器学习数据科学家需要具备的条件,以跟上行业不断变化的需求。

  多年来,对于拥有计算机科学、统计学、商业分析、工程管理、物理学、数学或数据科学学士、硕士或博士学位的年轻人而言,数据科学一直是他们的目标。然而,人们对于数据科学有很多误解。这已经不仅仅是机器学习和统计学了。

  这些年来,我已经与许多有志于数据科学领域的人讨论过要进入这个领域的想法。为什么数据科学如此火爆?或者统计学和机器学习能帮助你进入这个领域吗?它还会是未来吗?

  即使我和你们都在同一条船上,但我现在正在体验到,目前对于下一代数据科学家进入这一领域的需求是如何形成的。我并不会教你如何进入数据科学领域,因为在互联网上,已经有很多人这样做了。

  为什么数据科学如此火爆?

  人人都想进入数据科学领域。几年前,这个领域就存在供需问题:数据科学家的供给减少了,需求却在 DJ Patil 博士和 Jeff Hammerbacher 抛出“数据科学”这个术语之后增加了。但是现在,到了 2020 年,情况发生了逆转。来自于正规 /MOOC 教育的数据科学爱好者的流入增加了,需求也增加了,但是还没有达到那种程度。这一术语已经演变得越来越广泛,包括人们从事数据科学所需要的大部分辅助功能。我想引用我最喜欢的一句话,来自 KDnuggets:

  “人人都在谈论数据科学,没有人真正知道如何去做,每个人都认为别人在做,所以所有人都声称自己在做数据科学。”

  说到这里,以下是我觉得数据科学如此火爆的原因:

  • 数据科学家头街背后的奥秘。
  • 工作满意度高。
  • 巨大的商业影响。
  • 很多求职网站将其列为最热门工作(Glassdoor 网站过去 3 年将其列为美国最热门的工作)。
  • 前沿发展。
  • 越来越多的数据生成。
  • 很多提供数据科学学位的学校和训练营,良莠不齐。
  • 数据是美丽的!

  自称数据科学家的人

  有些人会这样说,所以让我来谈谈目前行业状况的一些真相。随着 数据科学 家头街的需求和声望的增长,许多公司已经开始将数据科学家的头街改成产品分析师、商业情报分析师、商业分析师、供应链分析师、数据分析师和统计学家,因为人们离职是为了获得数据科学家的头街,而这些头街正是他们从事同样的工作所得到的。所有这一切都是尊重的问题,很多角色因为字面上的细微变化而受到尊重。

  因此,公司开始以同样的方式改变头街,让它变得更加耀眼、更令人向往,正如数据科学家——分析、产品数据科学家、数据科学家——增长、数据科学家——供应链、数据科学家——可视化或数据科学家——还有什么不是?

  大多数追求教育 / 在线培训的人都有这样的误解,认为所有的数据科学家都在构建奇特的机器学习模型,但事实并不总是如此。至少,当我开始攻读应用数据科学硕士学位的时候,我以为大多数数据科学家都会进行机器学习,但是直到我在美国实习和工作的时候,我才开始了解真实的情况。驱使人们追求数据科学的力量源自于炒作人工智能及其商业影响。

  下一代数据科学家——机器学习

  对于那些想以数据科学家的身份从事应用机器学习的人——机器学习(这就是我要命名的头街,因为它不是数据科学家——分析),在 2020 年还没有博士学位的时候,机器学习还有更多的事情要做,而不是仅仅知道如何将机器学习应用于数据集,几乎所有人现在都能做到。我从自己的经历中还发现了其他几件重要的事情,它们可以帮助你在面试过程中找到数据科学家的角色,甚至能帮你入围:

  1.分布式数据处理 / 机器学习:掌握 Apache Spark、Apache Hadoop、Dask 等技术的实践经验,将有助于证明你可以大规模创建数据 / 机器学习管道。对其中任何一个有实践经验的话,应该会很好,但是我建议将 Apache Spark(Python 或 Scala)作为首选。

  2.生产机器学习 / 数据管道:如果你能获得使用 Apache Airflow 的实践经验,Apache Airflow 是一种标准的开源作业编排工具,可用于创建数据 / 机器学习管道。这个工具现在在业界都在使用,所以,我建议大家学习和参与一些相关项目。

  3.DevOps/ 云:DevOps 被大多数追求数据科学的人所忽视。如果你没有基础设施,你要怎么构建机器学习管道呢?这并不像我们在课程中做的那般容易,构建 notebook 或代码在本地机器上运行就可以了。你编写的代码应该能够扩展到你或者其他人可能在你的团队中创建的基础设施中。很多可能尚未部署好机器学习基础设施的公司可能正在寻找合适的人选。即使是在课程学习期间,也要熟悉 Docker、Kubernetes 以及使用 Flask 等框架构建机器学习应用程序,这些应该都是你的标准实践。我喜欢 Docker,因为它具有可扩展性,你可以构建基础设施映像,并在 Kubernetes 集群上的服务器 / 云上复制同样的内容。

  4.数据库:必须了解数据库和查询语言。尽管 SQL 在很大程度上被人们忽视了,但它在任何云平台和任何数据库上都仍然是行业标准。在 Leetcode 网站上开始练习复杂的 SQL,这将会帮助你在数据科学个人资料中编写面试的某些部分,因为你将负责从仓库中导入数据,并进行即时的预处理,这会减轻你在运行机器学习模型之前的预处理工作。大多数特征工程可以使用 SQL 将数据传输到模型的同时进行,这是很多人都忽视的一个方面。

  5.编程语言:推荐的数据科学编程语言是 Python、R、Scala 和 Java。掌握它们中的任何一种都是很棒的,而且能够做到。而对于机器学习类的角色来说,面试过程中也会有现场编码环节,所以你需要在你觉得舒服的任何地方进行练习——Leetcode、hackerank,或者任何你喜欢的地方。

  所以,现在光知道机器学习或统计学,并不会让你进入数据科学领域从事机器学习的,除非你很幸运,在行业内有一些很好的人脉(你显然应该经营人脉,这是非常重要的!),或者你名下已经有了杰出的研究记录。业务应用和领域知识往往是随着经验的积累而积累,不可能通过预先学习而获得,除非在相关行业进行实习。

  关于我

  两个月前,我研究生刚毕业,就以数据科学家的身份加入了媒体巨头 ViacomCBS。除了研究助理和实习经历之外,我完全没有任何全职的行业经验。我在这家公司的职责包括从构思——开发——生产机器学习产品,其中我使用了本文上面所列的大部分内容。我希望本文对所有有抱负的数据科学家和有意进入该领域的机器学习工程师有所帮助。

  你对这篇数据科学文章有什么看法呢?欢迎在下方评论区各抒己见。

发表评论

邮箱地址不会被公开。 必填项已用*标注