阈值过滤器

重要

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

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

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

创建一个限制值的阈值滤波器

类别: 数据转换/筛选器

注意

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

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

模块概述

本文介绍如何使用 studio 机器学习 Studio 中的阈值筛选器模块 (经典) 来定义限制数值到指定范围的筛选器。

阈值筛选器通常用于数字信号处理。 阈值筛选器检查输入数据集的每个值,并更改不符合边界条件的所有值。 通常将这种类型的筛选器用于以下应用程序:

  • 将所有标记为负号的度量值替换为零值。
  • 通过定义所有像素的数值边界值将灰度图像转换为黑色和白色区域。

定义满足需求的筛选器后,可以通过将数据集和筛选器连接到 “应用筛选器 ”模块,将筛选器应用于数据。

“应用筛选器”模块的输出是包含所选列的数据集,由阈值筛选器设置指定。

如果你选择了“指示器”选项,则不会返回过滤器值,而是返回一个包含布尔值的列,指示每行中的值是否符合指定的过滤条件。 在测试新筛选器时,这非常有用。

提示

需要筛选数据集中的数据或删除缺失值? 请改用以下模块:

  • 清理缺失数据:使用此模块删除缺失值或将缺失值替换为占位符。
  • 分区和示例:使用此模块按日期范围、特定值或正则表达式等条件划分或筛选数据集。
  • 剪辑值:使用此模块设置范围,并仅保留该区域中的值。

如何配置阈值筛选器

  1. 阈值筛选器 模块添加到试验中。 可以在“筛选”类别的“数据转换”下找到此模块。

  2. 对于 Type,指定要应用的筛选器类型:

    • LessThan:将小于指定级别的值更改为边界级别,并遍历所有其他值。

    • GreaterThan:将大于指定级别的值更改为边界级别,并遍历所有其他值。

    • MagnitudeLessThan:将小于指定级别的值更改为边界级别,但保留原始值的符号。

    • MagnitudeGreaterThan:将大于指定级别的值更改为边界级别,但保留原始值的符号。

    • InRange:遍历指定范围内的所有值,并将范围之外的值更改为最接近的边界值。

    • OutOfRange:传递超出指定范围的所有值,并将范围内的值更改为最接近的边界值。

    • InRangeWithStd:传递属于指定标准偏差范围的所有值,并将范围之外的值更改为最接近的边界值。

    • OutOfRangeWithStd:传递超出指定标准偏差范围的所有值,并将范围内的值更改为最接近的边界值。

  3. 对于 级别,请键入要在每种类型的阈值中应用的边界值。

    • 如果选择 LessThan 筛选器,则指定的数字定义可在不替换的情况下传递的最低值。

    • 如果选择 GreaterThan 筛选器,则指定的数字定义可以传递的最大值,而无需替换。

    • 如果选择 MagnitudeLessThan 筛选器,请为 Level 键入单个正数或负数。 任何小于该值的值都替换为级别值。

    • 如果选择 MagnitudeGreaterThan 筛选器,请为 Level 键入单个正数或负数。 大于该值的任何值都替换为级别值。

    • 如果选择筛选器, InRangeOutOfRange,请指定上限或下限。 对于 “下限”,请键入要包含在范围内的最低数字。 对于 上限,请键入要包含在范围内的最高数字。

    • 如果选择了使用标准偏差的筛选器类型之一, (InRangeWithStdOutOfRangeWithStd) ,则必须指定 Alpha 常量。 偏差用于计算筛选结果的 alpha 时间值。

  4. (可选)选择 “指示器” 选项以生成仅指示值是否受筛选器影响的列。 如果保持 “指示器 ”未选中状态,筛选器将生成替换值。

  5. 连接应用筛选器的筛选器,并连接数据集。

    使用列选择器指定应应用筛选器的列。 默认情况下, “应用筛选器” 模块将筛选器转换应用于所有选定的数值列。

  6. 运行试验。

    在将数据集连接到 应用筛选器 模块并运行试验之前,不会执行任何计算。 此时,指定的转换将应用于所选数值列。

示例

有关如何在机器学习中使用筛选器的示例,请参阅 Azure AI 库中的此试验:

  • 筛选器:此试验使用工程的波形数据集演示所有筛选器类型。

指示器值的示例

以下示例假定你应用了一个阈值筛选器,该筛选器指定一个范围,其下边界为 2,上限为 4:

指示器 替换为
1 false 2
2 true 2
3 true 3
4 true 4
5 FALSE 4

筛选器中数量级的示例

筛选器类型 MagnitudeLessThan 和MagnitudeGreaterthan 首先根据指定的级别评估值,然后提供一个根据原始值的符号而变化的替换值。

数量级筛选器的示例

筛选器类型 MagnitudeLessThan 和MagnitudeGreaterthan 首先根据指定的级别评估值,然后提供一个根据原始值的符号而变化的替换值。

例如,下表显示了使用 ValuesLessThan 筛选器和值为 5 和 -5 的结果。

源值 级别 新值
3.07 5 5

值小于 5;因此,值替换为 Level
3.07 -5 3.07

值不小于 -5;因此,未替换值
-3.93 5 -5

值小于 5;因此,将值替换为 Level ,但保留原始值的符号
-3.93 -5 -3.93

值不小于 -5;因此,未替换值
5.75 5 5.75

值不小于 -5;因此,未替换值
-5.75 -5 -5.75

值不小于 -5;因此,未替换值

技术说明

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

实现详细信息

“阈值过滤器”模块使用以下方法来根据过滤器类型定义阈值:

  • LessThan:小于模式的定义如下:

    calculating threshold for less than filter

    MagnitudeLessThan:小于数量级模式定义为:

    threshold for magnitude less than filter

    对于复杂输入,每个元素的量值由如下所示的公式限制:

    calculating threshold for less than filter complex

  • MagnitudeGreaterThan:大于震级模式定义为:

    calculating threshold for greater than filter

    对于复杂输入,每个元素的量值由如下所示的公式限制:

    calculating threshold for less than filter complex

模块参数

名称 范围 类型 默认 说明
类型 Any ThresholdType LessThan 选择要使用的阈值方法
指示器 任意 Boolean false 选择此选项会返回包含 True/False(指示该值是否满足过滤条件)的列,而不是过滤的值。
级别 Any Float 0.0 设置替换值
下限 Any Float -1.0 指定范围的下限
上限 Any Float 1.0 指定范围的上限
Alpha Any Float 3.0 使用此值乘以计算的标准偏差作为阈值

输出

名称 类型 说明
“筛选器” IFilter 接口 过滤器实现

另请参阅

Filter
应用筛选器
A-Z 模块列表