使用_SKEW 重新缩放异常值 - AWS Glue DataBrew

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用_SKEW 重新缩放异常值

根据参数中的设置,返回一个新列,每行中都有一个重新缩放的异常值值。此操作通过应用指定的对数或根变换来减少分布偏度。我们建议使用此操作来处理偏斜的数据。

参数
  • sourceColumn— 指定可能包含异常值的现有数值列的名称。

  • targetColumn— 指定可能包含异常值的现有数值列的名称。

  • outlierStrategy— 指定用于检测异常值的方法。有效值包括:

    • Z_SCORE— 当一个值与均值的偏差超过标准差阈值时,将其标识为异常值。

    • MODIFIED_Z_SCORE— 当一个值与中位数的偏差超过中位数绝对偏差阈值时,将其标识为异常值。

    • IQR— 当某个值超出列数据的第一个和最后一个四分位数时,将其标识为异常值。四分位数范围 (IQR) 用于衡量中间50%的数据点所在的位置。

  • threshold— 指定检测异常值时要使用的阈值。如果用计算的分数outlierStrategy超过此数字,则该sourceColumn值将被标识为异常值。默认值为 3。

  • skewFunction— 指定替换异常值时要使用的方法。有效值包括:

    • LOG — 应用强变换以减少正向和负偏差。这是一个自然对数 (2.718281828)。

    • ROOT (w value = 3 ith)-应用相当强的变换以减少正向和负偏差。(立方根)

    • ROOT (w value = 2 ith)-应用适度变换以仅减少正偏差。(平方根)

    • SQUARE — 应用适度的变换以减少负偏差。(方形对象)

    • 自定义转换-使用value参数中提供的自定义数字应用指定的ROOT变换LOG或转换。

  • value— 指定用于自定义变换的值。如果skewFunction是 LOG,则此值表示日志的基础。如果skewFunction是 ROOT,则此值表示根的次方。

以下示例显示了单个RecipeAction操作的语法。一个配方至少包含一个RecipeStep操作,一个配方步骤至少包含一个配方操作。配方操作会运行您指定的数据转换。一组配方操作按顺序运行以创建最终数据集。

JSON

下面显示了一个使用 JSON 语法作为RecipeStep DataBrew 配方示例成员的示例。RecipeAction有关显示配方操作列表的语法示例,请参阅定义配方结构

例 JSON 格式示例
{ "Action": { "Operation": "RESCALE_OUTLIERS_WITH_SKEW", "Parameters": { "outlierStrategy": "Z_SCORE", "threshold": "3", "skewFunction": "ROOT", "sourceColumn": "name-of-existing-column", "targetColumn": "name-of-new-column", "value": "4" } } }

有关在 API 操作中使用此配方操作的更多信息,请参阅CreateRecipeUpdateRecipe。您可以在自己的代码中使用这些操作和其他 API 操作。

YAML

下面显示了一个使用 YAML 语法作为 DataBrew 配方示例成员RecipeStep的示例。RecipeAction有关显示配方操作列表的语法示例,请参阅定义配方结构

例 示例 YAML
- Action: Operation: RESCALE_OUTLIERS_WITH_SKEW Parameters: outlierStrategy: Z_SCORE threshold: '3' skewFunction: ROOT sourceColumn: name-of-existing-column targetColumn: name-of-new-column value: '4'

有关在 API 操作中使用此配方操作的更多信息,请参阅CreateRecipeUpdateRecipe。您可以在自己的代码中使用这些操作和其他 API 操作。