

# 使用机器学习转换
<a name="console-machine-learning-transforms"></a>

您可以使用 Amazon Glue 创建可用于清理数据的自定义机器学习转换。在 Amazon Glue 控制台上创建作业时，可以使用这些转换。

有关如何创建机器学习转换的信息，请参阅 [与 Amazon Lake Formation FindMatches 匹配的记录](machine-learning.md)。

**Topics**
+ [转换属性](#console-machine-learning-properties)
+ [添加和编辑机器学习转换](#console-machine-learning-transforms-actions)
+ [查看转换详细信息](#console-machine-learning-transforms-details)
+ [使用标签教授转换](#console-machine-learning-transforms-teaching-transforms)

## 转换属性
<a name="console-machine-learning-properties"></a>

要查看现有机器学习转换，请登录 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon Glue 控制台：[https://console.aws.amazon.com/glue/](https://console.amazonaws.cn/glue/)。在导航窗格的**数据集成和 ETL**下，选择**数据分类工具 > 记录匹配**。

每个转换的属性：

**转换名称**  
在创建转换时为其提供的唯一名称。

**ID**  
转换的唯一标识符。

**标签数**  
为帮助指导转换而提供的标签文件中的标签数。

**Status**  
指示转换是否为 **Ready (准备)** 或 **Needs training (需要培训)**。要在任务中成功运行机器学习转换，则必须是 **Ready (准备)**。

**创建时间**  
创建转换的日期。

**已修改**  
上次更新转换的日期。

**说明**  
为转换提供的描述（如果已提供）。

**Amazon Glue 版本**  
使用的 Amazon Glue 版本。

**运行 ID**  
在创建转换时为其提供的唯一名称。

**任务类型**  
机器学习转换的类型；例如，**Find matching records (查找匹配记录)**。

**Status**  
表示任务运行的状态。可能的状态包括：  
+ 启动
+ Running
+ 停止
+ Stopped
+ 成功
+ 失败
+ 超时

**错误**  
如果状态为“失败”，会显示一条错误消息，指出失败的原因。

## 添加和编辑机器学习转换
<a name="console-machine-learning-transforms-actions"></a>

 您可以在 Amazon Glue 控制台上查看、删除、设置和指导或优化转换。选中列表中转换旁边的复选框，选择 **Action (操作)**，然后选择要采取的操作。

### 创建新的 ML 转换
<a name="w2aac37c11c24c23c11b5"></a>

 要添加新的机器学习转换，请选择**创建转换**。按照**添加作业**向导中的说明操作。有关更多信息，请参阅 [与 Amazon Lake Formation FindMatches 匹配的记录](machine-learning.md)。

#### 步骤 1：设置转换属性。
<a name="w2aac37c11c24c23c11b5b7"></a>

1. 输入名称和描述（可选）。

1. （可选）设置安全配置。请参阅[将数据加密与机器学习转换结合使用](#ml_transform_sec_config)。

1. （可选）设置任务执行设置。任务执行设置允许您自定义任务的运行方式。选择工作线程类型、工作线程数量、任务超时（以分钟为单位）、重试次数和 Amazon Glue 版本。

1. （可选）设置标签。标签是为 Amazon 资源分配的标记。每个标签都由一个键和一个可选值组成。您可以使用标签来搜索和筛选您的资源或跟踪 Amazon 成本。

#### 步骤 2：选择表和主键。
<a name="w2aac37c11c24c23c11b5b9"></a>

1. 选择 Amazon Glue Catalog 数据库和表。

1. 从所选表中选择一个主键。主键列通常包含数据来源中每条记录的唯一标识符。

#### 步骤 3：选择调整选项。
<a name="w2aac37c11c24c23c11b5c11"></a>

1.  对于**查全率与查准率**，选择调整值以调整转换，使其偏向查全率或查准率。默认情况下，**平衡**处于选中状态，但您可以选择偏向查全率或偏向查准率，或者选择**自定义**并输入介于 0.0 和 1.0（含）之间的值。

1.  要获得**更低的成本与查准率**，请选择调整值以偏向降低成本或查准率，或者选择**自定义**并输入介于 0.0 和 1.0（含）之间的值。

1.  对于**强制匹配**，如果您想通过强制输出与使用的标签匹配来教授 ML 转换，请选择**强制输出以匹配标签**。

#### 步骤 4：审核和创建
<a name="w2aac37c11c24c23c11b5c13"></a>

1.  查看步骤 1 - 3 的选项。

1.  对于需要修改的任何步骤，选择**编辑**。选择**创建转换**以完成创建转换向导。

### 将数据加密与机器学习转换结合使用
<a name="ml_transform_sec_config"></a>

在将机器学习转换添加到 Amazon Glue 时，您可以选择指定与数据源或数据目标关联的安全配置。如果用于存储数据的 Amazon S3 存储桶使用安全配置加密，请在创建转换时指定相同的安全配置。

您还可以选择将服务器端加密（SSE-KMS）与 Amazon KMS对模型和标签进行加密，以防止未经授权的人员对其进行检查。如果选择此选项，则会提示您按名称选择 Amazon KMS key，也可以选择 **Enter a key ARN (输入密钥 ARN)**。如果选择输入 KMS 密钥的 ARN，则会出现第二个字段，您可以在其中输入 KMS 密钥 ARN。

**注意**  
目前，在以下区域不支持使用自定义加密密钥的 ML 转换：  
亚太地区（大阪）- `ap-northeast-3`

## 查看转换详细信息
<a name="console-machine-learning-transforms-details"></a>

### 查看转换属性
<a name="console-machine-learning-transforms-details"></a>

**转换属性**页面包含转换的属性。它显示有关转换定义的详细信息，包括：
+ **Transform name (转换名称)** 显示转换的名称。
+ **Type (类型)** 列出了转换的类型。
+ **Status (状态)** 显示是否可在脚本或作业中使用转换。
+ **Force output to match labels (强制输出与标签匹配)** 显示转换是否强制输出与用户提供的标签匹配。
+ **Spark 版本**与添加转换时在 **Task run properties (任务运行属性)** 中选择的 Amazon Glue 版本有关。建议大多数用户使用 Amazon Glue 1.0 和 Spark 2.4。有关更多信息，请参阅 [Amazon Glue 版本](https://docs.amazonaws.cn/glue/latest/dg/release-notes.html#release-notes-versions)。

### “历史记录”、“估算质量”和“标签”选项卡
<a name="w2aac37c11c24c23c13b5"></a>

 转换详细信息包括您在创建转换时定义的信息。要查看某个转换的详细信息，请在 **Machine learning transforms (机器学习转换)** 列表中选择该转换，然后查看以下选项卡上的信息：
+ 历史记录
+ 估计质量
+ 标签

#### 历史记录
<a name="console-machine-learning-transforms-history"></a>

**History (历史记录)** 选项卡显示转换任务运行历史记录。运行几种类型的任务来指导转换。对于每个任务，运行指标包括：
+ **Run ID (运行 ID)** 是 Amazon Glue 为此任务的每次运行创建的标识符。
+ **Task type (任务类型)** 显示任务运行的类型。
+ **Status (状态)** 显示列出的每个任务的成功状态，其中最新运行位于顶部。
+ **Error (错误)** 在运行不成功时显示错误消息的详细信息。
+ **Start time (开始时间)** 显示任务的开始日期和时间（本地时间）。
+ **结束时间**显示任务结束的日期和时间（本地时间）。
+ **Logs** (日志) 链接到写入此作业运行的 `stdout` 的日志。

  **Logs (日志)** 链接会将您带到 Amazon CloudWatch Logs。您可以在其中查看有关在 Amazon Glue Data Catalog 中创建的表和遇到的任何错误的详细信息。您可以在 CloudWatch 控制台中管理日志保留期。默认日志保留为 `Never Expire`。有关更多如何更改保留期的信息，请参阅《Amazon CloudWatch Logs 用户指南》**中的[更改 CloudWatch Logs 中的日志数据留存](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention)。
+ **下载标签文件**显示生成的标记文件的 Amazon S3 的链接。

#### 估计质量
<a name="console-machine-learning-transforms-metrics"></a>

 **Estimate quality (估计质量)** 选项卡显示用于测量转换质量的指标。通过使用标签数据的子集与您提供的标签比较变换匹配预测来计算估计值。这些估计值是近似值。可以从该选项卡调用 **Estimate quality (估计质量)** 任务运行。

**Estimate quality (估计质量)** 选项卡显示了上次 **Estimate quality (估计质量)** 运行的指标，包括以下属性：
+ **Area under the Precision-Recall curve (查准率-查全率曲线下的面积)** 是估算变换整体质量上限的单个数字。它与查准率-查全率参数的选择无关。较高的值表明您具有更有吸引力的查准率-查全率权衡。
+ **Precision (查准率)** 估算转换在预测匹配时正确的频率。
+ **Recall upper limit (查全率上限)** 估算，对于实际匹配，转换预测匹配项的频率。
+ **F1** 估算转换的准确性介于 0 和 1 之间，其中 1 是最大准确性。有关更多信息，请参阅 Wikipedia 中的 [F1 分数](https://en.wikipedia.org/wiki/F1_score)。
+ **Column importance (列重要性)** 表显示了每列的列名和重要性分数。列重要性通过识别记录中最常用于匹配的列，帮助您了解列对模型的贡献。此数据可以提示您添加或更改标签集以提高或降低列的重要性。

  重要性列提供每列的数值分数，作为不大于 1.0 的小数。

有关理解质量估计与实际质量的信息，请参阅 [质量估计与端到端（实际）质量](#console-machine-learning-quality-estimates-true-quality)。

有关优化您的转换的更多信息，请参阅 [在 Amazon Glue 中优化机器学习转换](add-job-machine-learning-transform-tuning.md)。

#### 质量估计与端到端（实际）质量
<a name="console-machine-learning-quality-estimates-true-quality"></a>

Amazon Glue 通过向内部机器学习模型显示一些记录对来估计转换的质量，这些记录对您提供了匹配的标签，但是模型以前没有看到过。这些质量估计是机器学习模型质量的函数（受标记为“指导”转换的记录数量的影响）。端到端或*实际*查全率（不是由 `ML transform` 自动计算）也受 `ML transform` 筛选机制的影响，该机制建议了与机器学习模型匹配的各种可能的匹配项。

您可以主要通过指定**低成本-准确性**调整值，来调整此筛选方法。随着调整值更接近偏向**准确性**，系统对可能匹配的记录对进行更彻底和高成本的搜索。更多记录对被提供给机器学习模型，并且您的 `ML transform` 的端到端或实际查全率更接近估计的查全率指标。因此，由于匹配项的成本/准确性权衡的变化，匹配项的端到端质量的变化通常不会反映在质量估算中。

#### 标签
<a name="w2aac37c11c24c23c13b5c13"></a>

 标签是为 Amazon 资源分配的标记。每个标签都由一个键和一个可选值组成。您可以使用标签来搜索和筛选您的资源或跟踪 Amazon 成本。

## 使用标签教授转换
<a name="console-machine-learning-transforms-teaching-transforms"></a>

 您可以通过从 ML 转换详细信息页面选择**教授转换**来使用标签（示例）来教授您的 ML 转换。当您通过提供示例（称为标签）来教授机器学习算法时，您可以选择要使用的现有标签，也可以创建标签文件。

![屏幕截图显示了使用标签教授转换的向导屏幕。](http://docs.amazonaws.cn/glue/latest/dg/images/machine-learning-teach-transform.png)

+  **标签** - 如果您有标签，请选择**我有标签**。如果您没有标签，仍然可以继续执行生成标签文件的下一步。
+  **生成标签文件** - Amazon Glue 从源数据中提取记录并建议潜在的匹配记录。您可以选择 Amazon S3 存储桶来存储生成的标签文件。选择**生成标签文件**以启动该过程。完成后，选择**下载标签文件**。下载的文件将有一列用于标签，您可以在其中填写标签。
+  **从 Amazon S3 上传标签** - 从存储标签文件的 Amazon S3 存储桶中选择已完成的标签文件。然后，选择将标签附加到现有标签或覆盖现有标签。选择**从 Amazon S3 上传标签文件**。