转换为数据集

重要

对机器学习工作室(经典)的支持将于 2024 年 8 月 31 日结束。 建议在该日期之前转换到 Azure 机器学习

从 2021 年 12 月 1 日开始,你将无法创建新的机器学习工作室(经典)资源。 在 2024 年 8 月 31 日之前,可继续使用现有的机器学习工作室(经典)资源。

ML 工作室(经典)文档即将停用,将来可能不会更新。

将数据输入转换为 Microsoft 数据库使用的内部数据集机器学习

类别: 数据格式转换

注意

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

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

模块概述

本文介绍如何使用 机器学习 Studio (经典 ) 中的"转换为数据集"模块,将试验所需的任何数据转换为工作室 (经典) 。

在大多数情况下不需要转换,因为机器学习对数据执行任何操作时,数据会隐式转换为其本机数据集格式。

但如果你执行了某种形式的规范化,或者清理了一组数据,并想要确保后续试验使用更改,则我们建议你将数据保存为数据集格式。

注意

“转换为数据集”只会更改数据的格式,而不会在工作区中保存数据的新副本。 若要保存数据集,请双击输出端口,选择" 另存为数据集",然后键入新名称。

如何使用“转换为数据集”

我们建议在使用" 转换为数据集" 之前,使用"编辑元数据"模块 来准备数据集。 可以添加或更改列名、调整数据类型等。

  1. "转换为数据集" 模块添加到试验。 可以在 机器学习 Studio (经典) 的数据格式转换类别中找到此模块。

  2. 将它连接到可以输出数据集的任何模块。

    只要数据是表格,就可以将其转换为数据集。 这包括使用导入数据加载的数据、使用"手动输入数据"创建的数据、自定义模块中的代码生成的数据、使用"应用转换"转换的数据集,或者使用"应用数据转换"生成或修改的SQL数据集

  3. "操作 "下拉列表中,指示是否要在保存数据集之前对数据执行任何清理:

    • :按原样使用数据。

    • SetMissingValue:指定在缺少值的位置插入数据集中的占位符。 默认占位符是问号 (?) ,但可以使用"自定义缺失值"选项键入其他值。

    • ReplaceValues:使用此选项可以指定要替换为任何其他确切值的单个确切值。 例如,假设数据包含 obs 用作缺失值的占位符的字符串,可以使用以下选项指定自定义替换操作:

      1. "替换" 设置为 "自定义"

      2. 对于 "自定义值",键入要查找的值。 在这种情况下,将键入 obs

      3. 对于 "新建值",请键入要替换原始字符串的新值。 在这种情况下,可以键入 ?

    请注意,ReplaceValues 操作仅应用于完全匹配项。 例如,这些字符串不会受影响:obs.obsolete

    • SparseOutput:指示数据集是稀疏的。 通过创建稀疏数据向量,可以确保缺失值不会影响稀疏数据分布。 选择此选项后,必须指示应如何处理缺失值和零值。

    若要删除除零外的任何值,请单击 "删除 "选项并键入要删除的单个值。 可以删除缺失值,也可以设置自定义值以从向量中删除。 只会删除完全匹配项。 例如,如果在"删除x值"文本框中键入 ,则行xx不受影响。

    默认情况下,"删除 零" 选项设置为 True,这意味着创建稀疏列时将删除所有零值。

  4. 运行试验,或右键单击" 转换为数据集"模块 ,然后选择" 运行所选项"

结果

  • 若要使用新名称保存生成的数据集,请右键单击"转换为数据集 "的输出, 然后选择" 另存为数据集"

示例

可以在以下示例中查看 如何使用" 转换为数据集"模块 Azure AI 库

  • CRM 示例:从共享数据集读取数据,并在本地工作区中保存数据集的副本。

  • 航班延误示例:通过替换缺失值来保存已清理的数据集,以便可以在将来的试验中使用它。

技术说明

本部分包含实现详情、使用技巧和常见问题解答。

  • 将作为输入的数据集的任何模块还可以将 CSV、TSV 或 ARFF 格式的数据。 执行任何模块代码之前,对输入执行预处理,此操作等效于对输入运行“转换为数据集”模块。

  • 你不能从 SVMLight 格式转换为数据集。

  • 指定自定义替换操作时,搜索和替换操作适用于完整值;不允许使用部分匹配项。 例如,可以将 3 替换为 -1 或者 33,但不能替换双位数(如 35)中的 3。

  • 对于自定义替换操作,如果你使用不符合列的当前数据类型的任何字符进行替换,则替换将失败且不会提示。

  • 如果需要保存使用稀疏数字数据且缺少值的数据,在内部,Studio (经典) 通过使用 SparseVector(Math.NET 数值库中的类)支持稀疏数组。 准备使用零且缺失值的数据,然后使用参数 SparseOutputRemove Zeros = TRUE 的"转换为数据集"。

预期输入

名称 类型 说明
数据集 数据表 输入数据集

模块参数

名称 范围 类型 默认 说明
操作 列表 操作方法 要应用到输入数据集的操作

输出

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

另请参阅

数据格式转换
A-Z 模块列表