转换为数据集

本文介绍如何使用 Azure 机器学习设计器中的“转换为数据集”组件将管道的任何数据转换为设计器的内部格式。

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

如果你对一组数据执行了某种标准化或清理,并且你希望确保在其他管道中使用这些更改,我们建议将数据保存为数据集格式。

注意

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

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

建议在使用“转换为数据集”组件之前,使用编辑元数据组件准备数据集。 你可以添加或更改列名,调整数据类型,以及根据需要进行其他更改。

  1. 向管道添加“转换为数据集”组件。 可以在设计器的“数据转换”类别中找到该组件。

  2. 将它连接到会输出数据集的任何组件。

    只要数据是表格,就可以将其转换为数据集。 这包括通过导入数据加载的数据、通过手动输入数据创建的数据,或通过应用转换转换的数据集。

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

    • :按原样使用数据。

    • SetMissingValue:将特定值设置为数据集中的缺失值。 默认占位符是问号字符 (?),但你可以使用“自定义缺失值”选项来输入其他值。 例如,如果你为“自定义缺失值”输入了 Taxi ,则数据集中的所有 Taxi 实例都将更改为缺失值。

    • ReplaceValues:使用此选项可以指定要替换为任何其他确切值的单个确切值。 可以通过设置“替换”方法来替换缺失值或自定义值:

      • 缺失:选择此选项可以替换输入数据集中的缺失值。 对于“新值”,请输入要用来替换缺失值的值。
      • 自定义:选择此选项可以替换输入数据集中的自定义值。 对于“自定义值”,请输入要查找的值。 例如,如果数据包含用作缺失值占位符的字符串 obs,则输入 obs。 对于“新值”,请输入用来替换原始字符串的新值。

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

  4. 提交管道。

结果

  • 若要使用新名称保存生成的数据集,请在组件的右面板中的“输出”选项卡下选择“注册数据集”图标。

技术说明

  • 采用数据集作为输入的任何组件还可以采用 CSV 文件或 TSV 文件中的数据。 在运行任何组件代码之前,会对输入进行预处理。 预处理等效于对输入运行“转换为数据集”组件。

  • 无法从 SVMLight 格式转换为数据集。

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

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

后续步骤

请参阅 Azure 机器学习可用的组件集