解压缩已压缩的数据集

从用户存储中的 zip 包解压缩数据集

类别: 数据输入和输出

注意

适用于:机器学习 Studio (经典) 应用

可在 Azure 机器学习设计器中获取类似的拖放模块。

模块概述

本文介绍如何使用 机器学习 Studio (经典 ) 中的解压缩压缩数据集模块以压缩格式上传数据和脚本文件,然后解压缩这些文件以用于试验。

本模块的目的是通过以压缩格式保存和上传数据文件,减少处理非常大的数据集时数据传输时间。 通常,如果数据集太大,因此要使用压缩进行上传,可将上传时间和关联成本降至最低,则压缩文件是一个不错的选择。

该模块将工作区中的数据集用作输入。 数据集必须已以压缩格式上传。 然后,该模块解压缩数据集,并将数据添加到工作区。

如何使用解压缩压缩数据集

本部分介绍如何准备数据,然后在 机器学习 Studio (经典) 。

步骤 1。 准备文件

在上传文件之前,请确保该文件的数据可用于以下机器学习:

  • 确保文件中的数据使用 UTF-8 编码。

    如果文件足够小,可以在 记事本中打开该文件,然后将文件保存为所需的编码。 许多其他文本编辑器提供类似的功能。 对于 CSV 文件,可以使用Excel导出命令指定文件格式和编码。

  • 验证数据文件是否使用 受支持的格式,例如 CSV、TSV、ARFF 或 SVMLight。

  • 通过将数据文件添加到 或 中的 .ZIP压缩数据。GZ 格式存档文件。 不支持其他存档类型。

  • 删除密码保护。 如果任何文件或压缩文件夹本身已加密或受密码保护,则必须在上传文件之前解锁或解密该文件。 模块无法检测加密的数据类型,并且不支持从任意客户端输入密码的对话框。

步骤 2. Upload数据集到工作区

接下来,将压缩的数据集上传到试验工作区。

  1. 单击 "新建",选择 "数据集",然后选择" 从本地文件"

  2. 找到要上传的压缩文件。 选择文件时,类型应自动设置为 Zip 文件 (.zip)

步骤 3. 将压缩数据集添加到试验

完全上传数据集后,以压缩格式将其添加到试验。

  1. 在 机器学习 Studio (经典) 左侧导航窗格中,选择"保存的数据集",然后展开"我的数据集"

  2. 找到刚上传的压缩数据集,并将其拖动到试验画布。

步骤 4. 解压缩数据集

最后一步是解压缩数据集。

  1. 连接压缩数据集到"解压缩的数据集"模块输入。

  2. "要解压缩的数据集"中,键入要解压缩的单个数据集的名称。

    • 如果将名为 Sheet1 的工作表保存为Excel名为 Test.csv的 CSV 文件,则数据集的名称Test.csv而不是 Sheet1

    • 在压缩之前,在"要解压缩的数据集"文本框中键入的名称必须与原始文件的名称完全相同,包括文件扩展名。 例如,如果要基于文本文件文件解压缩数据集Users.txt,请键入 Users.txt而不是 Users

    • 如果将多个文件放入一个压缩文件夹中,则必须一次解压缩一个数据集。

    提示

    如果将属性留空,则假定压缩的存档文件仅包含一个源文件,则模块会从压缩文件获取文件名。 如果压缩存档包含多个文件,则引发运行时错误。

  3. 对于 "数据集文件格式",请指定数据集的原始格式:即压缩之前的格式。

    可以上传和解压缩使用以下任何格式创建的数据集:CSV、ARFF、TSV、SvmLight。

    如果此属性留空,则模块使用源文件名标识数据集。

  4. 如果原始数据集具有标题 ,请选择选项"文件具有标题行"。 否则,第一行数据将用作标头。 如果这不是你想要的内容,则先添加标头,再输入 。

    此选项仅适用于 .CSV 和 。TSV 文件。

    注意

    如果更改文件格式,将重置此选项。

  5. 如果文件已压缩,请使用 "压缩 文件格式"选项指定用于压缩或展开文件的算法。

    目前.ZIP GZ (或 Gzip) 格式。

  6. 运行试验。

结果

  • 若要验证数据是否正确导入,请右键单击"解压缩的压缩数据集 " 模块,然后选择"可视化 "

  • 若要更改数据集的名称,请右键单击"解压缩的 压缩数据集" 模块,然后选择" 另存为数据集"。 此时,可以键入其他名称。

    如果要从单个 ZIP 文件解压缩多个数据集,则此选项非常方便。

示例

为了演示此模块的工作原理,我们创建了一个示例 .ZIP文件,其中包含四个不同的 CSV 文件。 所有文件都从 Excel。

文件名 说明
names-uni.csv 包含列标题的 Unicode 文件
names-utf.csv 包含列标题的 UTF-8 文件
nonames-uni.csv 没有列标题的 Unicode 文件
nonames-utf8.csv 没有列标题的 UTF-8 文件

上传了整个压缩文件,然后使用这些设置运行了"解压缩压缩数据集"模块四次,以提取四个文件中的每个文件:

  1. 要解压缩的数据集 = names-uni.csv, 文件具有标题行 = TRUE
  2. 要解压缩的数据集 = names-utf8.csv, 文件具有标题行 = TRUE
  3. 要解压缩的数据集 = nonames-uni.csv, 文件具有标题行 = FALSE
  4. 要解压缩的数据集 = nonames-utf8.csv, 文件具有标题行 = FALSE

结果与预期一样:

文件名 Upload结果
names-uni.csv 错误 0049:分析文件时出错。 文件不是 Unicode (UTF-8) 编码
names-utf8.csv 成功。 使用源文件中的原始列名。
nonames-uni.csv 错误 0049:分析文件时出错。 文件不是 Unicode (UTF-8) 编码
nonames-utf8.csv 成功。 列名 Col1、col2、...coln 会自动添加到数据集。

注意

如果使用选项"文件具有标题 = TRUE",并且源文件实际上没有列标题,则第一行数据将用作列标题。

技术说明

不能使用此模块将压缩的 R 包解压缩到工作区中。 R 包必须上传并用作压缩文件。

若要详细了解如何使用压缩的 R 包,请参阅 执行 R 脚本

注意

对 UTF-8 和 Unicode 的区别感到困惑? 请参阅此维基百科 文章:什么是 UTF-8

模块参数

名称 范围 类型 默认 说明
压缩文件格式 Zip

Gzip
压缩规则 Zip 用于压缩或展开文件的压缩算法。
要解压缩的数据集 任意 字符串 要注册到 Azure ML Studio (经典) 。 如果未指定数据集的名称,则从压缩文件的文件名获取该名称。
数据集文件格式 CSV

TSV

ARFF

SVMLIGHT
文件格式 CSV 压缩文件中数据集的文件格式
文件有标题行 TRUE/FALSE 布尔 False 只有在 CSV/TSV 文件具有标题行时,才将 设置为 True

预期输入

名称 类型 说明
数据集 Zip 包含数据集的压缩文件

输出

名称 类型 说明
结果数据集 数据表 输出数据集

另请参阅

数据输入和输出