解压缩已压缩的数据集
从用户存储中的 zip 包解压缩数据集
类别: 数据输入和输出
模块概述
本文介绍如何使用 机器学习 Studio (经典 ) 中的解压缩压缩数据集模块以压缩格式上传数据和脚本文件,然后解压缩这些文件以用于试验。
本模块的目的是通过以压缩格式保存和上传数据文件,减少处理非常大的数据集时数据传输时间。 通常,如果数据集太大,因此要使用压缩进行上传,可将上传时间和关联成本降至最低,则压缩文件是一个不错的选择。
该模块将工作区中的数据集用作输入。 数据集必须已以压缩格式上传。 然后,该模块解压缩数据集,并将数据添加到工作区。
如何使用解压缩压缩数据集
本部分介绍如何准备数据,然后在 机器学习 Studio (经典) 。
步骤 1。 准备文件
在上传文件之前,请确保该文件的数据可用于以下机器学习:
确保文件中的数据使用 UTF-8 编码。
如果文件足够小,可以在 记事本中打开该文件,然后将文件保存为所需的编码。 许多其他文本编辑器提供类似的功能。 对于 CSV 文件,可以使用Excel或导出命令指定文件格式和编码。
验证数据文件是否使用 受支持的格式,例如 CSV、TSV、ARFF 或 SVMLight。
通过将数据文件添加到 或 中的 .ZIP压缩数据。GZ 格式存档文件。 不支持其他存档类型。
删除密码保护。 如果任何文件或压缩文件夹本身已加密或受密码保护,则必须在上传文件之前解锁或解密该文件。 模块无法检测加密的数据类型,并且不支持从任意客户端输入密码的对话框。
步骤 2. Upload数据集到工作区
接下来,将压缩的数据集上传到试验工作区。
单击 "新建",选择 "数据集",然后选择" 从本地文件"。
找到要上传的压缩文件。 选择文件时,类型应自动设置为 Zip 文件 (.zip) 。
步骤 3. 将压缩数据集添加到试验
完全上传数据集后,以压缩格式将其添加到试验。
在 机器学习 Studio (经典) 左侧导航窗格中,选择"保存的数据集",然后展开"我的数据集"。
找到刚上传的压缩数据集,并将其拖动到试验画布。
步骤 4. 解压缩数据集
最后一步是解压缩数据集。
连接压缩数据集到"解压缩的数据集"模块的输入。
在 "要解压缩的数据集"中,键入要解压缩的单个数据集的名称。
如果将名为 Sheet1 的工作表保存为Excel名为 Test.csv的 CSV 文件,则数据集的名称Test.csv而不是 Sheet1。
在压缩之前,在"要解压缩的数据集"文本框中键入的名称必须与原始文件的名称完全相同,包括文件扩展名。 例如,如果要基于文本文件文件解压缩数据集Users.txt,请键入 Users.txt而不是 Users。
如果将多个文件放入一个压缩文件夹中,则必须一次解压缩一个数据集。
提示
如果将属性留空,则假定压缩的存档文件仅包含一个源文件,则模块会从压缩文件获取文件名。 如果压缩存档包含多个文件,则引发运行时错误。
对于 "数据集文件格式",请指定数据集的原始格式:即压缩之前的格式。
可以上传和解压缩使用以下任何格式创建的数据集:CSV、ARFF、TSV、SvmLight。
如果此属性留空,则模块使用源文件名标识数据集。
如果原始数据集具有标题 行,请选择选项"文件具有标题行"。 否则,第一行数据将用作标头。 如果这不是你想要的内容,则先添加标头,再输入 。
此选项仅适用于 .CSV 和 。TSV 文件。
注意
如果更改文件格式,将重置此选项。
如果文件已压缩,请使用 "压缩 文件格式"选项指定用于压缩或展开文件的算法。
目前.ZIP GZ (或 Gzip) 格式。
运行试验。
结果
若要验证数据是否正确导入,请右键单击"解压缩的压缩数据集 " 模块,然后选择"可视化 " 。
若要更改数据集的名称,请右键单击"解压缩的 压缩数据集" 模块,然后选择" 另存为数据集"。 此时,可以键入其他名称。
如果要从单个 ZIP 文件解压缩多个数据集,则此选项非常方便。
示例
为了演示此模块的工作原理,我们创建了一个示例 .ZIP文件,其中包含四个不同的 CSV 文件。 所有文件都从 Excel。
文件名 | 说明 |
---|---|
names-uni.csv | 包含列标题的 Unicode 文件 |
names-utf.csv | 包含列标题的 UTF-8 文件 |
nonames-uni.csv | 没有列标题的 Unicode 文件 |
nonames-utf8.csv | 没有列标题的 UTF-8 文件 |
上传了整个压缩文件,然后使用这些设置运行了"解压缩压缩数据集"模块四次,以提取四个文件中的每个文件:
- 要解压缩的数据集 = names-uni.csv, 文件具有标题行 = TRUE
- 要解压缩的数据集 = names-utf8.csv, 文件具有标题行 = TRUE
- 要解压缩的数据集 = nonames-uni.csv, 文件具有标题行 = FALSE
- 要解压缩的数据集 = 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 | 包含数据集的压缩文件 |
输出
名称 | 类型 | 说明 |
---|---|---|
结果数据集 | 数据表 | 输出数据集 |