Press "Enter" to skip to content

成功的数据科学之路在于你的学习能力但是要学什么呢?

当你不断学习时,成功交付数据科学项目的机会最大,但要清楚要关注什么并不总是明确的

Photo by Tamara Menzi on Unsplash

在过去的十年中,数据科学取得了许多重大发展,但尽管取得了这些成就,许多项目仍未能见天日。作为数据科学家,我们不仅必须展现出强大的技术能力,还必须理解业务背景,与利益相关者进行有效沟通,并将他们的问题转化为可行的建议,推动业务价值。这是合理的吗,还是企业在寻找新的独角兽?在本文中,我将描述业务在多年间的变化,从而更好地了解您可能需要学习什么才能成功交付数据科学项目。

简短介绍

十多年前,公司意识到挖掘数据集可以产生能增加收入、优化流程和降低(生产)成本的信息。这导致了一个新领域和新角色的出现;数据科学领域和数据科学家。但是,业务需求随着时间的推移不断变化。因此,了解业务需求,知道作为数据科学家需要学习什么非常重要。在下一节中,我们将首先放大描述数据科学领域在过去十年中的发展。这有助于您了解:1.过去需要学习的内容,2.现在需要学习的内容,以及3.未来可能需要学习的内容。让我们在下一节回到过去。

首先,有科学程序员。

数据科学有许多学科,其基础是建立在统计学和数学上的,这些学科源于几十年的(学术)研究和发展。许多最初的核心算法构成了文本挖掘、图像识别、传感器和时间序列等学科的基础。在早期,这些方法是没有附带代码发布的。为了应用这些方法,公司雇佣了科学程序员来完成具有挑战性和耗时的方法实现任务。但在编写一行代码之前,通常会有一个思考过程,即为什么应该付出这种努力,以及可以期望什么样的结果。在过去的十年中,情况发生了很大变化,因为像Google、Meta等公司开始公开他们的库。此外,社区还开始开发诸如sklearn、scipy等开源软件包。现在,安装只需要一行代码。

数据科学领域正在快速发展,但企业需要什么?

如今,科学程序员已经成为数据科学家。但是,有些事情发生了变化。业务还需要能够与利益相关者有效沟通、识别业务机会并将技术见解转化为推动业务价值的可行建议的数据科学家。这导致了一种新类型的数据科学家;应用数据科学家。

应用数据科学家与基础数据科学家

“数据科学家”经常用作数据科学领域中不同角色的集体名称。包括数据管理员、机器学习工程师、数据工程师、统计学家等。但是,当我们谈论真正的数据科学家时,基本上有两种类型;基础数据科学家和应用数据科学家。

  • 基础数据科学家具备强大的统计和机器学习技术知识,可以分析复杂数据集并得出见解。这个人可以告诉你关于底层数据分布的一切,并且可以轻松创建(修改)能够解决问题的算法/方法。这些人通常在研究和开发环境以及学术机构中加快速度。
  • 应用数据科学家专注于应用现有技术和方法来解决特定的业务问题或开发数据驱动的产品和/或服务。通常,这些角色在一个领域中加快速度,例如文本挖掘、图像识别、传感器或时间序列。创新通常是通过在其领域相关数据上应用新方法来实现的,而不是创建新的算法或方法。

每种角色都有其自身的优势和劣势,我有三个提示可以帮助成功完成数据科学项目。

提示1:学习编程的基础知识。

由于Coursera、Udemy、Youtube和小猪AI等优秀平台的存在,有很多学习编程基础知识的材料可供学习。

  • 按照已知的编码风格编写代码,例如PEP8。
  • 编写内联注释,说明你是什么以及为什么这样做。
  • 编写文档字符串。
  • 使用合理的变量名。
  • 降低代码复杂性(大幅度降低)。
  • 编写单元测试。
  • 编写文档。
  • 保持代码整洁。

编程是数据科学领域的主要挑战之一。它经常被低估,但是对于将数据科学项目投入生产而言,它是可以决定项目成败的关键组成部分之一。想一想,你想要维护一个没有文档、没有单元测试、用意大利面式编写的模型或编程代码吗?我想不会。

每个数据科学项目都需要可重现的代码,而进入生产则需要可维护的代码。最终,每个项目只是一堆代码行,需要有人将其投入生产。保持代码整洁。让它变得整洁。

提示2:项目的成功不仅仅是机器学习解决方案

数据科学项目通常以充满热情的态度开始,但很快可能会变得模糊,因为项目需要的不仅仅是机器学习解决方案。在最近发表的一篇文章[1]中,非常好地描述了数据科学项目中最重要的技术步骤。然而,要从一个想法转化为产品,你需要的不仅仅是技术技能。以下是可以帮助增加项目成功的步骤摘要:

  1. 从最终目标开始。在项目开始时,就要知道如何将项目落地到组织或公司中。数据治理、伦理和隐私在项目开始阶段就很重要。
  2. 选择合适的平台或基础设施进行协作。这可以是使用CI/CD流水线和cookie-cutter模板的git等。
  3. 了解领域。在进行任何分析之前,需要对你所工作的领域有基本的了解。你需要知道如何根据你所从事的领域和背景来处理数据。并不存在一种适用于所有数据科学问题的解决方案。
  4. 正确进行数据分析。这可能看起来很琐碎,但仅仅知道如何pip install一个包并不能使你成为专家。进行自己的研究并阅读文章。避免无法解释的(复杂的)机器学习解决方案。使用训练-测试-验证集。将结果与基准进行比较。与有经验的科学家和具有领域知识的人讨论你的想法和结果。
  5. 报告你的结果。要透明。基于事实讲述故事。不要超越数据来概括故事。描述旅程比模型产生的单个数字更重要。
  6. 编写可重现和可维护的代码。证明结果是可重现的,并且代码是可维护的。
  7. 交付结果。如果所有步骤都完成,结果或产品需要以一种能够被客户使用的方式交付。将具有工作代码的个人笔记本电脑交给他们并不是解决方案。

仔细观察这些步骤,只有一个步骤(第4步)涉及数据分析和模型创建。深思熟虑一下。

提示3:聪明一点,学习并重复。

数据科学是一个高度复杂且快速发展的领域,不同的专业背景相互融合。每个数据科学家都有不同的背景,持续学习是必不可少的。这意味着个性化的学习和成长路径可能会带来巨大的益处,这取决于你的学位/起点、经验、领域知识、数学、统计、编程、工程、沟通和演讲技巧。与同行讨论你可以改进什么,并制定一个个人学习路线图以及如何学习它。请注意,随意参加数据科学课程可能很有趣,但可能与公司的使命甚至你个人的成长路径不一致。

学习的能力就像一块肌肉,每个人都应该不断练习,成为终身学习者可能是你可以给自己的最好礼物。

永远有更多东西可以学习。

成功的道路并不仅限于完成网上的某个特定课程,它可能需要数年甚至几十年的专注、努力和奋斗。投资于自己,学习基础知识,超越肤浅的知识,专精于某个领域,并认识到成功是许多小步骤的积累,而建模只是整个过程中的一个步骤。

让我试着将其分解成几个子部分。首先,沟通非常重要。也许你能创造出最聪明的方法,但你需要能够对技术和非技术利益相关者有效地阐述复杂的技术概念。解决问题:你应该能够以结构化和系统化的思维方式处理复杂问题。批判性思考,从多个角度分析问题,并提出有效的解决方案。你可以通过在诸如 Stack Overflow 等网站上帮助社区来进行练习。在你的职业生涯和资历不断提升的同时,你应该能够指导和辅导开发人员。提供指导,分享最佳实践,并帮助提升他们的技术能力。要适应性强。你不应该固守自己所熟悉的技术,而是要拥抱新技术、新方法和新工具。你应该能够快速学习并适应项目需求或行业趋势的变化。时间管理。有效管理你的时间。优先处理任务,按时完成,并在各种要求之间保持平衡。专注于提供高质量的工作。

保持安全。保持冷静。

祝好,E.

如果你觉得这篇文章有帮助,欢迎关注我,因为我会写更多关于贝叶斯因果学习的内容。如果你正在考虑加入小猪AI会员,你可以通过我的推荐链接来支持我的工作。和一杯咖啡的价格一样,但可以让你每月阅读无限篇文章。

让我们联系起来!

  • 在 LinkedIn 上联系我
  • 关注我的 Github
  • 关注我在小猪AI的动态

参考资料

  1. Michael A. Lones,《如何避免机器学习的陷阱:学术研究人员指南》,arXiv: 2108.02497
  2. Tessa Xie,《数据科学职业中的错误避免》,2021年
  3. 数据科学家是否正在成为过时的职业?Data Science Central
Leave a Reply

Your email address will not be published. Required fields are marked *