

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用機器學習轉換
<a name="console-machine-learning-transforms"></a>

您可以使用 AWS Glue 建立自訂機器學習轉換，以用於清理資料。您可以在 AWS Glue 主控台上建立任務時使用這些轉換。

如需如何建立機器學習轉換的資訊，請參閱[記錄與 AWS 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>

若要檢視現有的機器學習轉換，請登入 AWS 管理主控台，然後開啟位於 https：//[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/) 的 AWS Glue 主控台。在**資料整合和 ETL** 下的導覽窗格中，選擇**資料分類工具 > 記錄比對**。

每個轉換的屬性：

**轉換名稱**  
建立轉換時授予它的唯一名稱。

**ID**  
轉換的唯一識別符。

**標籤計數**  
為了協助教導轉換而在標籤檔案中提供的標籤數。

**狀態**  
指出轉換為 **Ready (準備就緒)** 還是 **Needs training (需要訓練)**。若要在任務中成功執行機器學習轉換，它必須處於**就緒**。

**已建立**  
建立轉換的日期。

**已修改**  
上次更新轉換的日期。

**Description**  
為轉換提供的描述 (如果已提供)。

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

**執行識別碼**  
建立轉換時授予它的唯一名稱。

**任務類型**  
機器學習轉換的類型；例如 **Find matching records (尋找相符記錄)**。

**狀態**  
指出任務執行的狀態。可能的狀態包括：  
+ 啟動
+ 執行中
+ 正在停止
+ 已停止
+ Succeeded
+ 失敗
+ Timeout (逾時)

**錯誤**  
如果狀態為「失敗」，會顯示錯誤訊息，說明失敗的原因。

## 新增和編輯機器學習轉換
<a name="console-machine-learning-transforms-actions"></a>

 您可以在 AWS Glue 主控台上檢視、刪除、設定和教導，或調校轉換。在清單中選取轉換旁邊的核取方塊、選擇 **Action (動作)**，然後選擇您希望採取的動作。

### 建立新的 ML 轉換
<a name="w2aac37c11c24c23c11b5"></a>

 若要新增機器學習轉換，請選擇**建立轉換**。依照**新增任務**精靈中的說明來進行操作。如需詳細資訊，請參閱[記錄與 AWS Lake Formation FindMatches 相符](machine-learning.md)。

#### 步驟 1. 設定轉換屬性。
<a name="w2aac37c11c24c23c11b5b7"></a>

1. 輸入名稱和描述 (選用)。

1. 或者，設定安全組態。請參閱 [使用機器學習轉換的資料加密](#ml_transform_sec_config)。

1. 或者，進行任務執行設定。任務執行設定可讓您自訂任務的執行方式。選取工作者類型、工作者數量、任務逾時 (以分鐘為單位)、重試次數及 AWS Glue 版本。

1. 或者設定標籤。標籤是您可以指派給 AWS 資源的標籤。每個標籤皆包含索引鍵與選用值。標籤可用來搜尋和篩選您的資源或追蹤您的 AWS 成本。

#### 步驟 2. 選擇資料表和主索引鍵。
<a name="w2aac37c11c24c23c11b5b9"></a>

1. 選擇 AWS Glue 目錄資料庫和資料表。

1. 從選取的資料表中選擇主索引鍵。主索引鍵資料欄通常包含資料來源中每個記錄的唯一識別碼。

#### 步驟 3。選取調整選項。
<a name="w2aac37c11c24c23c11b5c11"></a>

1.  對於**取回率與精確度**，請選擇調整值來調整轉換，以著重於取回率或精確度。依預設，已選取**已平衡**，但您可以選擇著重於取回率或精確度，或選擇**自訂**並輸入介於 0.0 到 1.0 (含) 之間的值。

1.  對於**低成本與準確度**，請選擇調整值以著重於成本或準確度，或選擇**自訂**並輸入介於 0.0 到 1.0 (含) 之間的值。

1.  對於**比對強制執行**，如果您想要透過強制輸出比對使用的標籤來教導機器學習轉換，請選擇**強制輸出以比對標籤**。

#### 步驟 4. 檢閱和建立。
<a name="w2aac37c11c24c23c11b5c13"></a>

1.  檢閱步驟 1 至 3 的選項。

1.  針對需要修改的任何步驟選擇**編輯**。選擇**建立轉換**以完成建立轉換精靈。

### 使用機器學習轉換的資料加密
<a name="ml_transform_sec_config"></a>

將機器學習轉換新增至 AWS Glue，您可以選擇性地指定與資料來源或資料目標相關聯的安全性組態。如果用於存放資料的 Amazon S3 儲存貯體是使用安全組態加密的，請在建立轉換時指定相同的安全組態。

您也可以選擇使用伺服器端加密搭配 AWS KMS (SSE-KMS) 來加密模型和標籤，以防止未經授權的人員對其進行檢查。如果您選擇此選項，系統會提示您 AWS KMS key 依名稱選擇 ，或者您可以選擇**輸入金鑰 ARN**。如果您選擇輸入 KMS 金鑰的 ARN，則會出現第二個欄位，您可以在其中輸入 KMS 金鑰 ARN。

**注意**  
目前，下列區域不支援使用自訂加密金鑰的機器學習轉換：  
亞太區域 (大阪)`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 version (Spark 版本)** 與您在新增轉換時在 **Task run properties (任務執行屬性)** 中選擇的 AWS Glue 版本相關。AWS Glue 1.0 和 Spark 2.4 是建議大多數客戶使用的版本。如需詳細資訊，請參閱 [AWS Glue 版本](https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions)。

### 「歷史記錄」、「預估品質」和「標籤」索引標籤
<a name="w2aac37c11c24c23c13b5"></a>

 轉換詳細資訊包含您在建立轉換時所定義的資訊。若要查看轉換詳細資訊，請在 **Machine learning transforms (機器學習轉換)** 清單中選取轉換，然後在下列標籤上檢閱資訊：
+ 歷程記錄
+ Estimate quality (估計品質)
+ Tags (標籤)

#### 歷程記錄
<a name="console-machine-learning-transforms-history"></a>

**History (歷史記錄)** 標籤會顯示您的轉換任務執行歷史記錄。為了教導轉換，會執行數種類型的任務。針對每個任務，執行指標包含下列項目：
+ **Run ID (執行 ID)** 是 AWS Glue 在此任務每次執行時所建立的識別符。
+ **Task type (任務類型)** 顯示任務執行的類型。
+ **Status** (狀態) 顯示所列出的每個任務是否成功，其中最上方會列出最近的執行。
+ **Error (錯誤)** 會在執行未成功時，顯示錯誤訊息的詳細資訊。
+ **Start time** (開始時間) 會顯示任務開始的日期和時間 (本地時間)。
+ **結束時間**會顯示任務結束的日期和時間 (本地時間)。
+ **Logs (日誌)** 會連結至此次任務執行時所寫入 `stdout` 的日誌。

  **Logs (日誌)** 連結會帶您前往 Amazon CloudWatch Logs。您可以在此檢視在 中建立之資料表的詳細資訊， AWS Glue Data Catalog 以及遇到的任何錯誤。您可以在 CloudWatch 主控台中，管理日誌的保留期間。預設的日誌保留期間為 `Never Expire`。如需如何變更保留期間的詳細資訊，請參閱 *Amazon CloudWatch Logs 使用者指南*中的[變更 CloudWatch Logs 中的日誌資料保留期間](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention)。
+ **標籤檔案**會顯示指向所產生標記檔案之 Amazon S3 的連結。

#### Estimate quality (估計品質)
<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 score](https://en.wikipedia.org/wiki/F1_score)。
+ **Column importance (欄重要性)** 資料表會顯示每個資料行的資料行名稱和重要性分數。欄重要性可協助您了解欄對模型的貢獻方式，藉由識別記錄中的哪些欄比其他欄更重要。此資料可能會提示您新增或變更標籤集，以提高或降低欄的重要性。

  [重要性] 欄會提供每個欄的數值分數，表示為不大於 1.0 的小數點。

如需了解品質估計與真實品質的資訊，請參閱[品質估計與端對端 (真實) 品質](#console-machine-learning-quality-estimates-true-quality)。

如需調校您轉換的詳細資訊，請參閱[在 AWS Glue 中調校機器學習轉換](add-job-machine-learning-transform-tuning.md)。

#### 品質估計與端對端 (真實) 品質
<a name="console-machine-learning-quality-estimates-true-quality"></a>

AWS Glue 會透過向內部機器學習模型呈現您為其提供比對標籤，但該模型先前從未看過的數組記錄，來預估轉換品質。這些品質估計是機器學習模型的品質函數，會受到您標記以「教導」轉換的記錄數量影響。端對端，或是*真實*取回率 (不會由 `ML transform` 自動計算) 也會受到 `ML transform` 篩選機制影響，該機制會提供各種可能的相符項目給機器學習模型。

您可以指定**較低成本-準確度**調整值來重點調整此篩選方法。在您將調整值移向**準確度**一端時，系統會進行更完整且更詳細的搜尋，以尋找可能是相符項目的記錄組。您為機器學習模型提供的記錄組越多，`ML transform` 的端對端或真實取回率也會越接近預估的取回率指標。因此，由於比對成本/準確性權衡的變化所導致的配對端對端品質的變化，通常不會反映在品質預估中。

#### Tags (標籤)
<a name="w2aac37c11c24c23c13b5c13"></a>

 標籤是您可以指派給 AWS 資源的標籤。每個標籤皆包含索引鍵與選用值。標籤可用來搜尋和篩選您的資源或追蹤您的 AWS 成本。

## 使用標籤教導轉換
<a name="console-machine-learning-transforms-teaching-transforms"></a>

 您可以從機器學習轉換詳細資訊頁面選擇**教導轉換**，以使用標籤 (範例) 教導機器學習轉換。透過提供範例 (稱為標籤) 來教導機器學習演算法時，您可以選擇要使用的現有標籤或建立標記檔案。

![螢幕擷取畫面顯示使用標籤教導轉換的精靈畫面。](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/machine-learning-teach-transform.png)

+  **標記**：如果您有標籤，請選擇**我有標籤**。如果沒有標籤，您仍然可以繼續「產生標記檔案」中的下一步。
+  **產生標記檔案**：AWS Glue 從來源資料中擷取記錄並建議潛在的相符記錄。您可以選擇 Amazon S3 儲存貯體來存放產生的標籤檔案。選擇**產生標記檔案**以開始該程序。完成後，選擇**下載標記檔案**。下載的檔案將有一欄標籤，您可以在其中填寫標籤。
+  **從 Amazon S3 上傳標籤**：從存放標籤檔案的 Amazon S3 儲存貯體中選擇完成的標記檔案。然後，選擇將標籤附加到現有標籤或覆寫現有標籤。選擇**從 Amazon S3 上傳標記檔案**。