构建数据科学管道的 4 个步骤

构建数据科学管道的 4 个步骤

本文的目的,是介绍一个适用于每个数据科学项目的构建步骤。

这不仅对初学者数据科学家有帮助,而且对产品经理、软件工程师,甚至可以为高级数据科学家都能带来新视角的帮助。

照片由Max Ostrozhinskiy在Unsplash [1] 上拍摄。

虽然,每个案例都有无数机器学习算法可供选择,但项目之间都有共同点,包括获取数据、处理数据、训练算法、然后部署算法等等。让我们通过一些清晰的案例更深入地了解这些步骤。如果你想了解更多机器学习相关内容,可以阅读以下这些文章:
五个数据科学项目,让你的简历更出色
数据科学的核心三角是什么?
数据科学是如何变革Advertisement 广告行业的?
你必须知道的数据科学的可视化技术

查询/数据

照片由Caspar Camille Rubin在Unsplash [2] 上拍摄。

对于数据科学项目,你首先需要数据才能开始。然而,获取数据可能并不像你想象的那么容易。有时,它可能是从学术环境中提供给你的,因此你可以专注于学习算法、测试以及它们的工作原理。但是,在行业环境中,大多数情况下,不会有人为你提供完美的数据集,这可能也是我们一直在努力想达到的目标。

数据库表

根据你的案例,理想的数据集会由容易阅读和理解的数据组成,包括特征和目标变量。除了来自他人的直接的CSV 文件(在某些情况下)之外,一个更好的方案是在数据库中连接良好的表。对于某些项目,如果运气好的话,你的数据可以来自一个表,但在大多数情况下,你必须用连接(join)进行查询,连接会由多个子查询组成,可以创建一些模型特征。

外部来源

获取数据的下一个方式可能是来自数据库或数据湖中尚不存在的外部来源。一个方式是通过自己或数据工程师的帮助,访问API将新数据加载到表中。此过程可能需要更长的时间,所以你可能要向公司证明为什么你需要留出额外时间来收集这些数据,可以让你们查询和访问。(一些外部来源可能更简单,例如静态但有重要关键信息的单个 CSV 文件 )

无论你选择第一种数据来源,还是不得不求助外部来源,最终,这两种选项都可以按特定时间安排查询数据的自动化任务,例如每小时、每天、每周等。

总而言之,以下是数据科学项目第一部分的一些步骤:

  • 从 database/ datalake等查询数据
  • 如果没有,那么数据将需要从外部来源进入
  • 当这些选择出现,你就可以在 Python 等工具中创建一个自动化任务,并按计划进行查询

预处理

照片由shiyang xu在Unsplash [3] 上拍摄。

现在,你已经把数据都放在了同一个位置,那么你很可能可以在一个文件中对所有数据进行预处理。这一步会出现在特征工程之后,而也是我所提到的生产中预处理的自动化过程。到这一步时,你应该已经知道你模型中想要哪些功能。

但是,如果查询的数据在 pandas数据框中(特别是在 Python 中,R 中的其他选项)之后,你仍然可能需要创建这些特征。

预处理的一些案例包括但不限于:

  • 用数值的最小值、平均值、或最大值填充 NA 值,或者用孤立的字符串(如分类特征的“null”)来告诉算法它是除其他值之外的特定类别的值
  • 将已查询的列划分或分组,用来创建新功能,例如count of orders(订单数)和day(日期)列,你可以创建order_count_per_day (每日订单数)— 有时,你可以在查询中更轻松地执行此操作,或者可以在 pandas 中执行此操作

同样的,就像查询的步骤一样,你会让它成为一项自动化任务,这个任务很可能会接收一个 CSV 文件,然后将其转换为 pandas数据框。

训练

Charles Forerunner在Unsplash [4]上拍摄的照片。

此时的你已经选择了一种算法,接下来将会是你数据科学项目的第三个主要任务。

你可以用不同的平台、多种方式训练你的算法,但在此步骤中的相似之处在于,你要根据你查询的内容开始训练工作,并事先进行预处理。你还可以训练和测试模型,并得出模型的准确性/或其他错误指标,以供你进一步分析。

此步骤相对简单,下面总结了有关此步骤的要点:

  • 训练查询和预处理的训练数据集(基于数据集的位置)
  • 如果你选择进行某种拆分,也要进行测试,这样可以提前停止以减少模型的过度拟合(overfitting)

部署

照片由Dominik Lückmann在Unsplash [5] 上拍摄。

数据科学管道的最后一步是部署过程,在这个过程中,你可以为训练后的模型端点提供服务,以便你用最新的训练结果进行预测。

与训练的步骤类似,这个步骤也被广泛使用。在你建立了端点之后,甚至只是建立了一个训练有素的模型,你就可以做出你的预测了。当然,你也可以在这里创建一个自动化任务,来获取最新的训练作业,这样,你的模型就会永远是最新版的。

模型的部署在软件工程方面可能需要更多工作,但实际消耗的时间取决于你使用的流程和平台。

总结

数据科学有很多内容要消化,但是当你退后一步再看时,你会发现,它们大多归都可以总结为相同的四个步骤,其中包括查询数据或获取数据、预处理数据、训练数据、然后部署模型。

数据科学过程的总结步骤:

  • 查询/获得数据
  • 数据预处理
  • 训练
  • 部署

希望你觉得这篇文章对你有所帮助。对于典型的数据科学过程,你认为还有哪些其他重要步骤?欢迎在文章下方分享你的想法。你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Matt Przybyla
翻译作者:Jiawei Tong
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/the-4-steps-for-every-data-science-pipeline-b426b91c4945