以数据科学家或机器学习工程师的身份逐步构建数据管道

以数据科学家或机器学习工程师的身份逐步构建数据管道

在面试或作为数据科学家时,我们经常被要求构建一个能够对连续流动数据执行机器学习预测的应用程序。我们的老板经常期望我们将按时交付结果,并使用机器学习和数据科学来生成这些高质量的预测。

当看到大量的职位描述时,我们通常会说,要成为一名数据科学家,一个人应该有3年以上的工作经验,以及一些其他优势,如SQL和Python的知识。此外,还有一个更重要的部分经常被强调,那就是能够建立数据管道并确保及时的预测。正是在这种情况下,“候选人”应该对构建数据管道有深刻的理解。如果要成为数据科学家或机器学习工程师的话,这便是我们要面对的普遍情况。

什么是数据管道?

图片来自Unsplash,作者Towfiqu barbhuiya

在了解如何成功构建数据管道之前,首先必须了解数据管道的定义。它基本上是执行数据的自动化,以及在测试期间如何实际处理数据并将其提供给机器学习模型,而无需人工干预。

换句话说,我们将创建一个管道,其中已经流动的数据将达到预处理状态,之后它将以最轻松的状态与机器学习模型预测一起工作。

在本文中,我们将研究数据管道以及如何构建它们,并确保我们在构建机器学习预测方面做得还不错。本文将逐步介绍如何构建重要的数据管道。如果你想了解更多关于机器学习的相关内容,可以阅读以下这些文章:
用合成数据创建机器学习欺诈模型
一文了解机器学习中的F1分数(F1 Score)
机器学习中的文本分类是什么?
Ins 数据科学、机器学习及AI宝藏博主推荐

成功构建数据科学管道的步骤

图片来自Unsplash,作者Volodymyr Hryshchenko

了解工作限制

在构建数据管道之前,我们首先要了解一些关于数据及其大小的基本问题。此外,我们还寻找其工作限制,例如是否需要构建低延迟系统。如果我们的工作需要我们构建低延迟系统(例如在互联网应用程序中),建议继续使用简单的机器学习模型,而不是依赖更复杂的模型,尽管它们可能是会更准确一些。另一方面,其他限制也可能存在,如模型精度,而模型具有更高的精度非常重要,当我们在医疗保健领域使用机器学习时尤其如此,因为误诊患者会产生重大影响。因此,在尝试构建有趣的机器学习解决方案之前,第一步是了解业务束缚。

数据收集

现在,你已经了解了工作需求,然后确定机器学习和人工智能可以根据需求调整到最有用的状态,现在是时候收集对ML预测起作用的重要数据了。不同的部门可以访问不同数量和变化的数据,这些数据可以合并,为我们的模型创建独特的数据集,以进行预测。因此,与不同的部门(如销售团队和数据科学团队)交谈,可以获得为你的ML模型提供动力的相关数据,这便是数据收集这一步骤对模型预测的重要影响。

数据预处理

既然数据已经为ML应用程序准备好,现在是时候对数据进行预处理,并使计算机(ML 模型)更容易理解它们。通常,数据由大量缺失值组成,这些缺失值不会对预测产生重大影响。如果你正在考虑自然语言处理(NLP),你会发现通常有一些词实际上并没有为文本的意义增添价值,这些词也被称为停止词,如“and”和“or”,这类词对文本没有太多意义。因此,我们需要执行数据预处理的任务,如填充缺失的值或删除单词(如停止词),然后将其交予我们的模型。

机器学习训练

在数据被处理并转换为对计算机更友好的形式(准确地说是对机器学习友好的形式)之后,下一步是将这些数据提供给我们的ML模型以进行预测。要注意,我们必须将数据分为两部分:训练部分和测试部分。这是因为我们不想在训练数据本身上评估模型的性能,而模型是在这些数据上训练的,因此它可能在数据上表现得非常好。我们唯一担心的是,一旦投入生产,ML模型将如何表现。因此,在部署模型之前,我们必须了解它在以前没有看到的数据上表现如何。

在这种情况下,测试会非常方便,因为这些数据也可以代表模型未来可能面临的数据。然而,在很多情况下,天不会遂人意。假设情况成立,然后我们可以继续使用训练数据训练模型,并使用我们分割开来的数据进行测试,在试用大量模型以及超参数调优之后,我们能确定可以用来投入生产的最佳模型。

请注意,尽管测试集上模型的性能非常出色,但由于工作限制,例如低延迟或根据工作性质的其他要求,我们有时可能不会将该模型投入生产。但测试模型总不会错,看看它们在没有数据显示上的表现,能对它们的实时性能有一个大致的了解。

模型部署

一旦我们拥有的数据被提供给模型进行预测,并且我们确定了实时部署的最佳模型,我们可以采取的下一步是实时部署产品,以便最终用户可以访问,模型基于早期训练给出的令人印象深刻的预测。模型在训练期间学习的参数用于确定模型被访问时的实时数据的输出。虽然机器学习的预测看起来令人印象深刻,但未能将模型投入生产可能意味着我们浪费了相当宝贵的时间来研究一项令人印象深刻但无法提供任何商业价值的技术。

因此,我们必须花费大量的时间来实时部署我们获得的最佳模型,以生成实际利益。

数据监控

根据我们在测试数据时进行的实验,我们一直在努力实时部署最佳模型。现在是时候让我们实时监控性能,并在必要时定期重新训练模型。因为如果几天后才发现模型表现不佳,事件的变化已经导致输入和输出之间的关系不再存在,就像我们的ML模型之前确定的那样。

因此,这是一个我们保持产品不降低其长期质量的阶段。我们可以不断监控我们的数据,看看特征之间的关系或输出的分布是否有任何变化。如果我们发现用于模型训练的数据之间存在明显差异,我们可以重新训练模型,以使用当前数据提供更好的预测。

结论

在阅读本文后,你可能已经了解了构建数据管道的重要性,以及如何一步一步地构建有效的数据管道,并确保我们从我们的机器学习模型中为工作提供优良价值。我们必须采取数据监测等步骤,以确保预测的质量不会降低,而这可以通过循环训练模型并确保它能够访问最新数据来完成。感谢你抽出时间阅读本文。你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Suhas Maddali
翻译作者:高佑兮
美工编辑:过儿
校对审稿:Chuang
原文链接:https://towardsdatascience.com/step-by-step-approach-of-building-data-pipelines-as-a-data-scientist-or-a-machine-learning-engineer-4b3e8da3bcd1