数据科学中“管道”一词的含义是什么?

数据挖掘 数据 集成建模 管道
2021-10-02 10:49:47

注意:就在我在下面发布我的答案之前,这个问题被问到并被删除,所以我在这里重复一般的想法


人们在谈论神经网络中的模型、数据甚至层时经常提到管道。管道是什么意思

2个回答

管道几乎就像一个算法,但在更高的层次上,它列出了一个过程的步骤。人们用它来描述项目的主要阶段。这可能包括从收集数据和预处理到预测的后期分析的所有内容。管道本质上是一个大的模块链,可以单独检查/解释。这是一个示例图像(来源:DataBricks

深度学习管道

在 Scikit Learn 中实际上有一个漂亮的模块(实际上是类)用于构建您自己的机器学习管道,它的字面意思是Pipeline您可以指定处理步骤、模型和其他转换,然后将它们包装到管道中,该管道为您执行从开始到结束的过程。这使得以模块化方式工作和更改参数变得更加容易,同时保持事情井井有条。

在文档中,他们使用 ANOVA(方差分析)模型来选择变量,然后将其输入 SVM(支持向量机)以执行分类。


在可能被认为是单个模型的上下文中,管道可以指对数据执行的各种转换。这可能包括降维嵌入、编码/解码(GAN 示例)、注意力机制等。

以下是可能被称为管道的示例:空间变压器网络

STN

图像通过三个部分的管道传递:

  1. 定位网络
  2. 网格生成器
  3. 抽样机制

这三个部分可能类似于上面显示的 MLlib 管道中的一个部分。


另一个广泛使用管道的领域是数据管理在这种情况下,它指的是数据的传输方式和位置,也许还有传输频率。有专门用于构建此类管道的大型软件包,例如:

  1. Apache Spark - 现在可以做的不仅仅是管道(用例示例
  2. Luigi - 管理复杂的批处理(由 Spotify 开发)

注意:在我发布我的答案之前,这个问题被问到并被删除,所以我通过一个自我回答的问题来提供内容

管道可以是 CI/持续交付/持续部署管道的一部分,也可以是某种 ETL 工作,如数据加载/提取管道。这个想法是一组在您从事的数据科学项目上运行的流程的自动化.一般你画一个流程图,有这样的工具,你分而治之你的整个工作,并设置自动化任务。它就像制造工厂或亚马逊包装系统或输油管道中的一条流动带。通常你可以手动完成所有步骤,一种验证,然后你可以自动化。据我了解,区别在于您处理的内容,无论是历史数据、实时数据还是操作日志。Kaggle 由内核、python 环境、jupyter notebook 和数据科学运行组成;听起来像一个 CI 管道,全部集成且可重现。