“编辑元数据”组件

本文介绍 Azure 机器学习设计器中包含的一个组件。

使用“编辑元数据”组件可以更改与数据集中的列关联的元数据。 使用“编辑元数据”组件后会更改数据集的值和数据类型。

典型的元数据更改可能包括:

  • 将布尔值或数字列视为分类值。

  • 指示哪个列包含标签,或包含要分类或预测的值。

  • 将列标记为特征。

  • 将日期/时间值更改为数字值,或反之。

  • 重命名列。

随时可以使用“编辑元数据”来修改列的定义(目的往往是为了满足下游组件的要求)。 例如,某些组件仅使用特定类型的数据,或者需要列标记,例如 IsFeatureIsCategorical

执行所需的操作后,可将元数据重置为其原始状态。

配置“编辑元数据”

  1. 在 Azure 机器学习设计器中,将“编辑元数据”组件添加到管道,并连接要更新的数据集。 可以在“数据转换”类别中找到该组件。

  2. 单击组件右侧面板中的“编辑列”,然后选择要使用的一列或一组列。 可以按名称或索引单独选择列,也可以按类型选择一组列。

  3. 如果需要将不同的数据类型分配到所选列,请选择“数据类型”选项。 可能需要更改某些运算的数据类型。 例如,如果源数据集中的数字作为文本进行处理,则在使用数学运算之前,必须将相关的列更改为数字数据类型。

    • 支持的数据类型为“字符串”、“整数”、“双精度”、“布尔值”和“日期时间”。

    • 如果选择多个列,必须将元数据更改应用到所有选定列。 例如,假设选择了两个或三个数字列。 可将所有这些列更改为字符串数据类型,并通过一个操作将其重命名。 但是,不能将一列更改为字符串数据类型,将另一列从浮点数更改为整数。

    • 如果未指定新数据类型,则列的元数据将保持不变。

    • 执行“编辑元数据”操作后,列类型和值将会更改。 随时可以使用“编辑元数据”重置列数据类型,以此恢复原始数据类型。

    注意

    “日期/时间格式”遵循 Python 内置日期/时间格式
    如果将任何类型的数字更改为“日期时间”类型,请将“日期时间”格式保留空白。 目前无法指定目标数据格式。

  4. 选择“分类”选项,指定应将所选列中的值视为类别。

    例如,你的某个列包含数字 0、1 和 2,但你知道这些数字实际上表示“烟民”、“非烟民”和“未知”。在这种情况下,将该列标记为分类可以确保这些值仅用于分组数据,而不会在数字计算中使用。

  5. 若要更改 Azure 机器学习在模型中使用数据的方式,请使用“字段”选项。

    • 功能:使用此选项可将列标记为仅对特征列运行的组件中的特征。 默认情况下,最初会将所有列视为特征。

    • 标签:使用此选项来标记标签(也称为可预测属性或目标变量)。 许多组件要求数据集中只存在一个标签列。

      在许多情况下,Azure 机器学习可以推断某列是否包含类标签。 通过设置此元数据,可以确保正确标识列。 设置此选项不会更改数据值。 它只会更改某些机器学习算法处理数据的方式。

    提示

    是否有不适合这些类别的数据? 例如,数据集可能包含无法用作变量的值(例如唯一标识符)。 在模型中使用时,此类 ID 有时可能会导致问题。

    幸运的是,Azure 机器学习会保留所有数据,因此,你无需从数据集中删除此类列。 如果需要对某些特殊的一组列执行操作,只需使用在数据集中选择列组件暂时删除所有其他列。 稍后,可以使用添加列组件将列合并回数据集。

  6. 使用以下选项可以清除前面所做的选择,并将元数据还原为默认值。

    • 清除特征:使用此选项可以删除特征标志。

      最初会将所有列视为特征。 对于执行数学运算的组件,可能需要使用此选项来防止将数值列视为变量。

    • 清除标签:使用此选项可从指定的列中删除标签元数据。

    • 清除评分:使用此选项可从指定的列中删除评分元数据。

      目前无法在 Azure 机器学习中将列显式标记为评分。 但是,某些操作会导致在内部将列标记为评分。 此外,自定义 R 组件可能会输出评分值。

  7. 对于“新列名”,请输入所选的一个或多个列的新名称。

    • 列名只能使用 UTF-8 编码支持的字符。 不允许空字符串、null 值,或完全由空格组成的名称。

    • 若要重命名多个列,请按列索引的顺序以逗号分隔列表的形式输入名称。

    • 必须重命名所有选定列。 不能省略或跳过列。

  8. 提交管道。

后续步骤

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