剪切值

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

使用“剪切值”组件,可以识别高于或低于指定阈值的数据值,并且可以选择使用平均值、常数或其他替代值来替换它们。

请将该组件连接到具有要剪切的数字的数据集,选择要使用的列,然后设置阈值或值的范围以及替换方法。 该组件可以只输出结果,也可以输出附加到原始数据集的已更改值。

如何配置“剪切值”

在开始之前,请确定要剪切的列以及要使用的方法。 建议先对一小部分数据测试任何剪切方法。

组件对所选内容中包括的所有列应用相同的条件和替换方法。 因此,应务必排除不打算更改的列。

如果需要对某些列应用剪切方法或不同的条件,则需要为每组类似的列使用新的剪切值实例。

  1. 将“剪切值”组件添加到管道,并将其连接到要修改的数据集。 可以在“数据转换”下的“缩放和约简”类别中找到此组件 。

  2. “列列表”中,使用“列选择器”选择要应用剪切值的列。

  3. 对于“阈值集”,从下拉列表中选择以下选项之一。 这些选项确定如何为可接受的值以及必须剪切的值设置上限和下限。

    • ClipPeaks:如果按峰值对值进行剪切,则仅指定上限值。 将替换大于该上限值的值。

    • ClipSubpeaks:如果按子峰值对值进行剪切,则仅指定下限值。 将替换小于该下限值的值。

    • ClipPeaksAndSubpeaks:如果按峰值和子峰值对值进行剪切,可以同时指定上限值和下限值。 超出该范围的值将被替换。 不会更改与限值匹配的值。

  4. 根据在上一步中所做的选择,可以设置以下阈值:

    • 阈值下限:仅当选择了 ClipSubPeaks 时显示
    • 阈值上限:仅当选择了 ClipPeaks 时显示
    • 阈值:仅当选择了 ClipPeaksAndSubPeaks 时显示

    对于每种阈值类型,选择“常数”或“百分位数”

  5. 如果选择“常数”,请在文本框中键入最大值或最小值。 例如,假设已知值 999 用作占位符值。 可以选择“常数”用于阈值上限,然后在“阈值上限常数值”中键入 999。

  6. 如果选择“百分位数”,会将列值限制到一个百分比范围内。

    例如,只保留 10-80 百分比范围内的值,并替换所有其他值。 可以选择“百分位数”,然后在“阈值下限百分位数”中键入 10,并在“阈值上限百分位数”中键入 80。

    可参阅有关百分位数的部分,查看有关如何使用百分位数范围的一些示例。

  7. 定义替换值。

    与指定限值完全匹配的数字被视为包含在允许的值范围内,因此不会被替换。 指定范围之外的所有数字都将被替换为替换值。

    • 峰值替换值:定义用于替换所有大于指定阈值的列值的值。
    • 子峰值替换值:定义用于替换所有小于指定阈值的列值的值。
    • 如果使用 ClipPeaksAndSubpeaks 选项,可以为剪切上限值和下限值分别指定替换值。

    支持以下替换值:

    • 阈值:将剪切值替换为指定的阈值。

    • 平均值:将剪切值替换为列值的平均值。 在对值进行剪切之前计算平均值。

    • 中值:将剪切值替换为列值的中值。 在对值进行剪切之前计算中值。

    • 缺失值。 将剪切值替换为缺失(空)值。

  8. 添加指示器列:如果需要生成一个新列来指示是否向该行中的数据应用了指定的剪切操作,应选择此选项。 如果要测试一组新的剪切和替换值,此选项会很有用。

  9. 覆盖标志:指示希望如何生成新值。 默认情况下,剪切值会构建一个新列,其中峰值已剪切为所需阈值。 新值会覆盖原始列。

    若想保留原始列并添加含剪切值的新列,请取消选择此选项。

  10. 提交管道。

    右键单击“剪切值”组件,然后选择“可视化”或选择此组件,切换到右侧面板中的“输出”选项卡,单击“端口输出”中的直方图图标,以查看这些值并确保剪切操作符合预期。

剪切时采用百分位数的示例

若要理解按百分位数剪切的原理,可以思考一个包含 10 行的数据集,其中每一行分别包含数值 1-10 中的一个值。

  • 如果使用百分位数作为阈值上限,则在第 90 个百分位数的值处,数据集中 90% 的值必须小于该值。

  • 如果使用百分位数作为阈值下限,则在第 10 个百分位数的值处,数据集中 10% 的值必须小于该值。

  1. 对于“阈值集”,选择 ClipPeaksAndSubPeaks

  2. 对于“阈值上限”,选择“百分位数”,在“百分位数”中,键入 90。

  3. 对于“替代值上限值”,选择“缺失值”

  4. 对于“阈值下限”,选择“百分位数”,在“百分位数”中,键入 10。

  5. 对于“替代值下限值”,选择“缺失值”

  6. 取消选择选项“覆盖标志”,然后选择选项“添加指示器列”

现在,请尝试在同一管道上使用 60 作为阈值上限百分位数,使用 30 作为阈值下限百分位数,并使用该阈值作为替换值。 下表对以下两种结果进行了比较:

  1. 替换为缺失值;阈值上限 = 90;阈值下限 = 20

  2. 替换为阈值;上限值百分位数 = 60;下限值百分位数 = 40

原始数据 替换为缺失值 替换为阈值
1

2

3

4

5

6

7

8

9

10
TRUE

TRUE

3, FALSE

4, FALSE

5, FALSE

6, FALSE

7, FALSE

8, FALSE

9, FALSE

TRUE
4, TRUE

4, TRUE

4, TRUE

4, TRUE

5, FALSE

6, FALSE

7, TRUE

7, TRUE

7, TRUE

7, TRUE

后续步骤

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