0

我正在尝试创建处理大型数据集的 ML 模型。我的问题与这些大数据集的预处理有关。从这个意义上说,我想知道使用 Dataprep、Dataproc 或 Tensorflow 进行预处理之间有什么区别。

任何帮助,将不胜感激。

4

2 回答 2

3

那是3个不同的东西,你不能真正比较它们。

Dataprep - 用于可视化探索、清理和准备结构化和非结构化数据以进行分析的数据服务

换句话说,如果您有大量的训练数据并且想要对其进行清理、可视化等。google dataprep 使您能够轻松地做到这一点。

Cloud Dataproc 是一种快速、易于使用、完全托管的云服务,用于以更简单、更具成本效益的方式运行 Apache Spark 和 Apache Hadoop 集群。

在您的问题上下文中,在您清理数据并准备好将其输入到您的 ML 算法之后,您可以使用 Cloud Dataproc 将其分布到多个节点并更快地处理它。在某些机器学习算法中,磁盘读取速度可能是一个瓶颈,因此它可以大大提高机器学习算法的运行时间。

最后是张量流:

TensorFlow™ 是一个开源软件库,用于使用数据流图进行数值计算。图中的节点表示数学运算,而图边表示它们之间通信的多维数据数组(张量)。

因此,在您的数据准备好处理之后;你可以使用 Tensorflow 来实现机器学习算法。Tensorflow 是一个 python 库,因此相对容易上手。Tensorflow 还可以在 GPU 而不是 CPU 上运行您的算法,并且(最近)还可以在 Google Cloud TPU(专为机器学习而制造的硬件,甚至比 GPU 更好的性能)上运行。

于 2018-03-12T15:08:56.223 回答
3

在机器学习预处理的背景下,我想花时间详细回答这个问题。所以,请多多包涵!

Google 提供了四种不同的处理产品。由于预处理具有不同的方面并涵盖许多不同的 ML 先决条件,因此这些平台中的每一个都更适合特定的预处理领域。产品如下:

Google ML Engine/ Cloud AI:本产品基于 Tensorflow。您可以在 ML Engine 上的 Tensorflow 中运行您的机器学习代码。对于特定类型的数据,例如图像、文本或顺序数据,可以使用 tf.keras.preprocessing 或 tf.contrib.learn.preprocessing 库为 Tensorflow 快速制作适当的输入/张量数据格式。您可能还需要 在预处理步骤中通过tf.Transform转换数据。tf.Transform 是 TensorFlow 的一个库,允许用户将预处理管道定义为 TensorFlow 图的一部分。tf.Transform 确保在预处理期间不会出现偏差。

Cloud DataPrep:预处理有时被定义为数据清理、数据清理、数据准备和数据更改。为此,Cloud DataPrep 是最佳选择。例如,如果您想删除可能导致 ML 模型错误的空值或一些 ASCII 字符,您可以使用 Cloud DataPrep。

Cloud DataFlow、Cloud Dataproc:特征提取、特征选择、缩放、降维也可以视为 ML 预处理的一部分。由于 Cloud DataFlow 和 DataProc 都支持 Spark,因此可以使用 Spark 库对 ML 模型输入进行分布式快速预处理。Apache Spark MLlib 也可以应用于许多 ML 预处理/处理。请注意,由于 Cloud DataFlow 支持 Apache Beam,它更适合流处理,而 Cloud DataProc 更基于 Hadoop,更适合批量预处理。更多详细信息,请参阅使用 Apache Spark 和 TensorFlow 文档

于 2018-03-13T20:48:46.643 回答