

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

# Amazon SageMaker Canvas
<a name="canvas"></a>

Amazon SageMaker Canvas 讓您能夠使用機器學習來產生預測，而不需要撰寫任何程式碼。下列是您可以使用 SageMaker Canvas 的一些使用案例：
+ 預測客戶流失率
+ 有效地規劃庫存
+ 最佳化價格和收益
+ 改善準時交付
+ 根據自訂類別對文字或影像進行分類
+ 識別影像中的物件和文字
+ 從文件擷取資訊

借助 Canvas，您可以與流行的大型語言模型 (LLM) 聊天、存取現成可用的模型，或根據您的資料進行訓練建置的自訂模型。

Canvas 聊天功能是利用開放原始碼和 Amazon LLM 來協助您提高生產力的功能。您可以提示模型取得任務的協助，例如產生內容、摘要或分類文件以及回答問題。如需進一步了解，請參閱[SageMaker Canvas 中的生成式 AI 基礎模型](canvas-fm-chat.md)。

Canvas 中[現成可用的模型](canvas-ready-to-use-models.md)可以從您的資料中提取各種使用案例的見解。您不必建立模型即可使用，因為它們是由 Amazon 人工智慧服務提供的現成可用模型，Amazon AI 服務包含[ Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html)、[Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html) 和 [Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html)。您只需要匯入您的資料並開始使用解決方案來生成預測。

如果您想要根據您的使用案例自訂模型並使用資料進行訓練的，則可以[建立模型](canvas-custom-models.md)。若要根據資料自訂預測，請執行以下動作：

1. 從一或多個資料來源匯入您的資料。

1. 建置預測模型。

1. 評估模型效能。

1. 使用模型產生預測。

Canvas 支援以下類型的自訂模型：
+ 數值預測 (也稱為*迴歸*)
+ 2 個和 3 個以上類別的分類預測 (也稱為*二進制*和*多類別分類*)
+ 時間序列預測
+ 單一標籤影像預測 (也稱為*影像分類*)
+ 多類別文字預測 (也稱為*多類別文字分類*)

若要進一步了解定價，請參閱 [SageMaker Canvas 定價頁面](https://aws.amazon.com/sagemaker/canvas/pricing/)。您也可以參閱 [SageMaker Canvas 中的計費和成本](canvas-manage-cost.md) 以取得更多資訊。

SageMaker Canvas 目前在以下區域提供：
+ 美國東部 (俄亥俄)
+ 美國東部 (維吉尼亞北部)
+ 美國西部 (加利佛尼亞北部)
+ 美國西部 (奧勒岡)
+ 亞太區域 (孟買)
+ 亞太區域 (首爾)
+ 亞太區域 (新加坡)
+ 亞太地區 (雪梨)
+ 亞太區域 (東京)
+ 加拿大 (中部)
+ 歐洲 (法蘭克福)
+ 歐洲 (愛爾蘭)
+ 歐洲 (倫敦)
+ 歐洲 (巴黎)
+ 歐洲 (斯德哥爾摩)
+ 南美洲 (聖保羅)

**Topics**
+ [您第一次使用 SageMaker Canvas 嗎？](#canvas-first-time-user)
+ [Amazon Sagemaker Canvas 使用入門](canvas-getting-started.md)
+ [教學課程：在 SageMaker Canvas 中建置端對端機器學習工作流程](canvas-end-to-end-machine-learning-workflow.md)
+ [Amazon SageMaker Canvas 設定和許可管理 (適用於 IT 管理員)](canvas-setting-up.md)
+ [使用 Amazon Q Developer 解決 Canvas 中 ML 問題的生成式 AI 輔助](canvas-q.md)
+ [資料匯入](canvas-importing-data.md)
+ [資料準備](canvas-data-prep.md)
+ [SageMaker Canvas 中的生成式 AI 基礎模型](canvas-fm-chat.md)
+ [即用型模型](canvas-ready-to-use-models.md)
+ [自訂模型](canvas-custom-models.md)
+ [登出 Amazon SageMaker Canvas](canvas-log-out.md)
+ [限制與故障診斷](canvas-limits.md)
+ [SageMaker Canvas 中的計費和成本](canvas-manage-cost.md)

## 您第一次使用 SageMaker Canvas 嗎？
<a name="canvas-first-time-user"></a>

如果您是第一次使用 SageMaker Canvas，建議您從閱讀下列章節開始：
+ 針對 IT 管理員 - [Amazon SageMaker Canvas 設定和許可管理 (適用於 IT 管理員)](canvas-setting-up.md)
+ 對於分析師和個人使用者 - [Amazon Sagemaker Canvas 使用入門](canvas-getting-started.md)
+ 如需端對端工作流程的範例 - [教學課程：在 SageMaker Canvas 中建置端對端機器學習工作流程](canvas-end-to-end-machine-learning-workflow.md)

# Amazon Sagemaker Canvas 使用入門
<a name="canvas-getting-started"></a>

本指南會說明如何開始使用 SageMaker Canvas。如果您是 IT 管理員且想要更深入的詳細資訊，請參閱 [Amazon SageMaker Canvas 設定和許可管理 (適用於 IT 管理員)](canvas-setting-up.md) 為您的使用者設定 SageMaker Canvas。

**Topics**
+ [設定 Amazon SageMaker Canvas 的先決條件](#canvas-prerequisites)
+ [步驟 1：登入 SageMaker Canvas](#canvas-getting-started-step1)
+ [步驟 2：使用 SageMaker Canvas 取得預測](#canvas-getting-started-step2)

## 設定 Amazon SageMaker Canvas 的先決條件
<a name="canvas-prerequisites"></a>

若要設定 SageMaker Canvas 應用程式，請使用下列其中一種設定方法加入：

1. **使用 AWS 主控台加入。**若要透過 AWS 主控台加入，請先建立 Amazon SageMaker AI 網域。SageMaker AI 網域支援各種機器學習 (ML) 環境，例如 Canvas 和 [SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html)。如需網域的詳細資訊，請參閱[Amazon SageMaker AI 網域概觀](gs-studio-onboard.md)。

   1. (快速) [使用 Amazon SageMaker AI 的快速設定](onboard-quick-start.md) – 如果您想要快速設定網域，請選擇此選項。這會授與您的使用者所有預設 Canvas 許可和基本功能。管理員稍後可以啟用任何額外的功能，例如[文件查詢](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html#canvas-fm-chat-query)。如果您想要設定更精細的許可，我們建議您改為選擇進階選項。

   1. (標準) [使用 Amazon SageMaker AI 的自訂設定](onboard-custom.md) - 如果您想要完成更進階的網域設定，請選擇此選項。維持對使用者許可的精細控制，例如存取資料準備功能、生成式 AI 功能和模型部署。

1. **加入 CloudFormation。** [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)會自動佈建資源和組態，讓您可以同時為一或多個使用者設定檔設定 Canvas。如果您想要大規模自動化加入程序，並確保您的應用程式每次都以相同的方式設定，請使用此選項。下列 [CloudFormation 範本](https://github.com/aws-samples/cloudformation-studio-domain)提供簡化的 Canvas 加入方式，確保所有必要元件都已正確設定，並可讓您專注於建置和部署機器學習模型。

下一節說明如何使用 AWS 主控台建立網域，以加入 Canvas。

**重要**  
若要設定 Amazon SageMaker Canvas，您的 Amazon SageMaker Studio 版本必須為 3.19.0 以上。有關更新 Amazon SageMaker Studio 的資訊，請參閱[關閉並更新 Amazon SageMaker Studio Classic](studio-tasks-update-studio.md)。

### 使用 AWS 主控台加入
<a name="canvas-prerequisites-domain"></a>

如果您正在執行快速網域設定，則可以遵循[使用 Amazon SageMaker AI 的快速設定](onboard-quick-start.md)中的指示、略過本節的其餘部分，然後移至[步驟 1：登入 SageMaker Canvas](#canvas-getting-started-step1)。

如果您要執行標準網域設定，則可以指定您要授與使用者存取權的 Canvas 功能。當您完成標準網域設定時，請使用本節的其餘部分，以協助您設定 Canvas 特定的許可。

在[使用 Amazon SageMaker AI 的自訂設定](onboard-custom.md)設定指示中，針對**步驟 2：使用者和 ML 活動**，您必須選取您要授與的 Canvas 許可。在 **ML 活動**區段中，您可以選取下列許可政策來授與 Canvas 功能的存取權。設定網域時，您最多只能選取總計 8 個 **ML 活動**。以下清單中的前兩個許可是使用 Canvas 所需的許可，其餘許可則是用於其他功能。
+ **執行 Studio 應用程式** - 這些許可是啟動 Canvas 應用程式所需的許可。
+ **[Canvas 核心存取](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html)** - 這些許可授與 Canvas 應用程式和 Canvas 基本功能的存取權，例如建立資料集、使用基本資料轉換，以及建置和分析模型。
+ (選用) **[Canvas 資料準備 (由 Data Wrangler 提供支援)](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDataPrepFullAccess.html)** - 這些許可授與您存取權，以建立資料流程，並使用進階轉換在 Canvas 中準備資料。這些許可也是建立資料處理任務和資料準備任務排程所需的許可。
+ (選用) **[Canvas AI 服務](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasAIServicesAccess.html)** - 這些許可授與您 Canvas 中即用型模型、基礎模型，以及與資料聊天功能的存取權。
+ (選用) **Kendra 存取** - 此許可授與您[文件查詢](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html#canvas-fm-chat-query)功能的存取權，您可以在其中使用 Canvas 中的基礎模型查詢 Amazon Kendra 索引中存放的文件。

  如果您選取此選項，請在 **Canvas Kendra 存取**區段中，輸入您要授與存取權的 Amazon Kendra 索引 ID。
+ (選用) **[Canvas MLOps](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDirectDeployAccess.html)** - 此許可授與您 Canvas 中[模型部署](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-deploy-model.html)功能的存取權，您可以在其中部署模型以用於生產環境。

在網域設定的**步驟 3：應用程式**區段中，選擇**設定 Canvas**，然後執行下列動作：

1.  針對 **Canvas 儲存組態**，請指定您要 Canvas 儲存應用程式資料的位置，例如模型成品、批次預測、資料集和日誌。SageMaker AI 會在此儲存貯體內建立 `Canvas/` 資料夾來存放資料。如需詳細資訊，請參閱[設定您的 Amazon S3 儲存](canvas-storage-configuration.md)。請在本節執行以下動作：

   1. 如果您想要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的 SageMaker AI 建立的預設儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選擇性) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. (選用) 針對 **Amazon Q Developer**，請執行下列動作：

   1. 開啟**啟用 SageMaker Canvas 中的 Amazon Q Developer 以進行自然語言 ML**，以授予使用者在 Canvas 中的 ML 工作流程期間利用生成式 AI 協助的許可。此選項僅授與查詢 Amazon Q Developer 的許可，以協助處理可在 Canvas 應用程式中完成的預定任務。

   1. 開啟針對**一般 AWS 問題啟用 Amazon Q 開發人員聊天**功能，以授予使用者進行 AWS 與服務相關生成式 AI 查詢的許可。

1. (選用) 如果您的使用者打算在 Canvas 中處理大於 5 GB 的資料集，請設定**大型資料處理**區段。如需如何設定這些選項的詳細資訊，請參閱[授予使用者在整個 ML 生命週期使用大型資料的許可](canvas-large-data-permissions.md)。

1. (選用) 針對**機器學習 (ML) 作業許可組態**區段，執行下列動作：

   1. 保持**啟用 Canvas 模型直接部署**選項開啟，以授予使用者將其模型從 Canvas 部署到 SageMaker AI 端點的許可。如需關於在 Canvas 中部署模型的更多相關資訊，請參閱[將模型部署到端點](canvas-deploy-model.md)。

   1. 保持**啟用所有使用者的模型註冊庫註冊許可**選項開啟，以授予使用者將其模型版本註冊至 SageMaker AI 模型註冊庫的許可 (依預設為開啟)。如需詳細資訊，請參閱[在 SageMaker AI 模型註冊庫中註冊模型版本。](canvas-register-model.md)。

   1. 如果您保持**啟用所有使用者的模型註冊庫註冊許可**選項開啟，請選取**僅註冊至模型註冊庫**或**在模型註冊庫中註冊並核准模型**。

1. (選用) 對於**本機檔案上傳組態**區段，開啟**啟用本機檔案上傳**選項，以授予使用者從本機機器上傳檔案至 Canvas 的許可。開啟此選項會將跨來源資源共用 (CORS) 政策連接至 **Canvas 儲存組態**中指定的 Amazon S3 儲存貯體 (並覆寫任何現有的 CORS 政策)。若要進一步了解本機檔案上傳許可，請參閱[授予使用者上傳本機檔案的許可](canvas-set-up-local-upload.md)。

1. (選用) 對於 **OAuth 設定**區段，請執行下列動作：

   1. 選擇**新增 OAuth 組態**。

   1. 針對**資料來源**，選取您的資料來源。

   1. 針對**秘密設定**，選取**建立新的秘密**，然後輸入您從身分提供者取得的資訊。如果您尚未使用資料來源完成初始 OAuth 設定，請參閱[使用 OAuth 設定與資料來源的連線](canvas-setting-up-oauth.md)。

1. (選擇性) 針對 **Canvas 即用型模型組態**，請執行下列操作：

   1. 保持**啟用 Canvas 即用型模型**選項開啟，讓您的使用者有權在 Canvas 中使用即用型模型產生預測 (預設情況為開啟)。此選項也讓您有權與生成型 AI 提供的模型聊天。如需更多資訊，請參閱[SageMaker Canvas 中的生成式 AI 基礎模型](canvas-fm-chat.md)。

   1. 保持**使用 Amazon Kendra 啟用文件查詢**選項開啟，讓使用者有權使用基礎模型查詢儲存在 Amazon Kendra 索引中的文件。然後，從下拉式功能表中，選取您要授與存取權的現有索引。如需詳細資訊，請參閱[SageMaker Canvas 中的生成式 AI 基礎模型](canvas-fm-chat.md)。

   1. 針對 **Amazon Bedrock 角色**，選取**建立並使用新的執行角色**來建立新的 IAM 執行角色，該角色與 Amazon Bedrock 具有信任關係。Amazon Bedrock 會擔任此 IAM 角色，以在 Canvas 中微調大型語言模型 (LLM)。如果您已有具有信任關係的執行角色，請選取**使用現有的執行角色**，然後從下拉式清單中選擇您的角色。如需為您自己的執行角色手動設定許可的詳細資訊，請參閱[授予使用者在 Canvas 中使用 Amazon Bedrock 和生成式 AI 功能的許可](canvas-fine-tuning-permissions.md)。

1. 使用[使用 Amazon SageMaker AI 的自訂設定](onboard-custom.md)程序完成其餘的網域設定。

**注意**  
如果您在透過主控台授予許可時遇到任何問題，例如即用型模型的許可，請參閱主題[針對透過 SageMaker AI 主控台授予許可的問題進行故障診斷](canvas-limits.md#canvas-troubleshoot-trusted-services)。

您現在應該已設定 SageMaker AI 網域，並設定了所有 Canvas 許可。

您可以在初始網域設定之後編輯網域或特定使用者的 Canvas 許可。個別使用者設定會覆寫網域設定。若要了解如何在網域設定中編輯 Canvas 許可，請參閱[編輯網域設定](domain-edit.md)。

### 授予自己使用 Canvas 中特定功能的許可
<a name="canvas-prerequisites-permissions"></a>

以下資訊概述了您可以授予 Canvas 使用者以允許在 Canvas 內使用各種特徵和功能的許可：其中一些許可可以在網域設定期間授予，但有些則需要額外的許可或組態。請參閱您要啟用之每個功能的特定許可資訊：
+ **本機檔案上傳。**設定您的網域時，Canvas 基本許可預設會開啟本機檔案上傳的許可。如果您無法將本機檔案從機器上傳到 SageMaker Canvas，則可以將 CORS 政策連接到您在 Canvas 儲存組態中指定的 Amazon S3 儲存貯體。如果您允許 SageMaker AI 使用預設儲存貯體，則該儲存貯體會遵循命名模式 `s3://sagemaker-{Region}-{your-account-id}`。如需更多資訊，請參閱[授予使用者上載本機檔案的許可](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-set-up-local-upload.html)。
+ **自訂影像和文字預測模型。**設定您的網域時，Canvas 基本許可預設會開啟建置自訂映像與文字預測模型的許可。不過，如果您有自訂的 IAM 組態且不想將 [AmazonSageMaker CanVasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) 政策連接到使用者的 IAM 執行角色，則必須明確授予使用者必要的許可。如需更多資訊，請參閱[授予您的使用者建立自訂影像和文字預測模型的許可](canvas-set-up-cv-nlp.md)。
+ **即用型模型和基礎模型。**您可能希望能夠使用 Canvas 即用型模型來預測您的資料。透過即用型模型許可，您也可以與採用生成式 AI 技術的模型聊天。設定您的網域時預設會開啟許可，或者您可為已建立的網域編輯許可。Canvas 即用型模型許可選項會將 [AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) 新增至您的執行角色。若要取得更多資訊，請參閱即用型模型文件的[開始使用](canvas-ready-to-use-models.md#canvas-ready-to-use-get-started)章節。

  如需有關開始使用生成式 AI 基礎模型的更多相關資訊，請參閱[SageMaker Canvas 中的生成式 AI 基礎模型](canvas-fm-chat.md)。
+ **微調基礎模型。**如果您想要在 Canvas 中微調基礎模型，您可以在設定網域時新增許可，也可以在建立網域之後為網域或使用者設定檔編輯許可。您必須將 [AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) 政策新增至您在設定使用者設定檔時選擇的 AWS IAM 角色，而且還必須將與 Amazon Bedrock 的信任關係新增至角色。如需如何將這些許可新增至 IAM 角色的指示，請參閱[授予使用者在 Canvas 中使用 Amazon Bedrock 和生成式 AI 功能的許可](canvas-fine-tuning-permissions.md)。
+ **將批次預測傳送至 Quick。**您可能想要將[https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-send-predictions.html](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-send-predictions.html)或您從自訂模型產生的預測資料集，傳送到 Quick 進行分析。在 [QuickSight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) 中，您可以使用預測結果來建立和發佈預測儀表板。如需如何將這些許可新增至 Canvas 使用者 IAM 角色的說明，請參閱[授予您的使用者將預測傳送至 Quick 的許可](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-quicksight-permissions.html)。
+ **將 Canvas 模型部署至 SageMaker AI 端點。**SageMaker AI 託管提供您可以用來部署模型以用於生產環境的*端點*。您可以將 Canvas 中建置的模型部署到 SageMaker AI 端點，然後在生產環境中以程式設計方式進行預測。如需詳細資訊，請參閱[將模型部署到端點](canvas-deploy-model.md)。
+ **將模型版本註冊到模型註冊表。**您可能想要將模型的*版本*註冊到 [SageMaker AI 模型註冊庫](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html)，此模型註冊庫是用於追蹤模型更新版本狀態的儲存庫。在 SageMaker 模型註冊庫中工作的資料科學家或 MLOps 團隊可以檢視您已建置的模型版本，以及核准或拒絕這些版本。然後，他們可以將您的模型版本部署到生產環境中，或啟動自動化工作流程。您的網域預設會開啟模型註冊許可。您可以在使用者設定檔等級中管理該許可，並授予或移除特定使用者的許可。如需詳細資訊，請參閱[在 SageMaker AI 模型註冊庫中註冊模型版本。](canvas-register-model.md)。
+ **從 Amazon Redshift 匯入資料。**如果您想要從 Amazon Redshift 匯入資料，則必須授予自己額外的許可。您必須在設定使用者設定檔時，將 `AmazonRedshiftFullAccess`受管政策新增至您選擇的 AWS IAM 角色。如需有關如何將政策新增至角色的指示，請參閱[授予使用者匯入 Amazon Redshift 資料的許可](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-redshift-permissions.html)。

**注意**  
透過其他資料來源 (例如 Amazon Athena 和 SaaS 平台) 進行匯入的必要許可皆包含 [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) 和 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) 政策中。如果您遵循標準設定說明，這些政策應該已連接至您的執行角色。如需有關這些資料來源與其許可的更多相關資訊，請參閱[連線至資料來源](canvas-connecting-external.md)。

## 步驟 1：登入 SageMaker Canvas
<a name="canvas-getting-started-step1"></a>

初始設定完成時，您可以使用下列任何方法存取 SageMaker Canvas，視您的使用案例而定：
+ 在 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)中，選擇左側導覽窗格中的 **Canvas**。然後，在 **Canvas** 頁面上，從下拉式清單中選取您的使用者，並啟動 Canvas 應用程式。
+ 開啟 [SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html)，然後在 Studio 介面中，前往 Canvas 頁面並啟動 Canvas 應用程式。
+ 使用您組織的 SAML 2.0 型 SSO 方法，例如 Okta 或 IAM Identity Center。

當您第一次登入 SageMaker Canvas 時，SageMaker AI 會為您建立應用程式和 SageMaker AI *空間*。Canvas 應用程式的資料會存放在該空間中。若要進一步了解空間，請參閱[與共用空間協作](domain-space.md)。空間包含使用者設定檔的應用程式，以及應用程式所有資料的共用目錄。如果您不想要使用 SageMaker AI 建立的預設空間，並偏好建立自己的空間來存放應用程式資料，請參閱頁面[將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker AI 空間](canvas-spaces-setup.md)。

## 步驟 2：使用 SageMaker Canvas 取得預測
<a name="canvas-getting-started-step2"></a>

登入 Canvas 之後，您就可以開始建置模型並產生資料的預測。

您可以使用 Canvas 即用型模型進行預測，而無需建立模型，也可以針對特定業務問題建立自訂模型。檢閱下列資訊，以決定最適合您使用案例的即用型模型或自訂模型。
+ **即用型模型。**您可以使用即用型，即預先建立的模型從資料中擷取見解。即用型模型涵蓋了各種使用案例，例如語言偵測和文件分析。若要開始使用即用型模型進行預測，請參閱[即用型模型](canvas-ready-to-use-models.md)。
+ **自訂模型。**您可以使用自訂模型建立各種模型類型，以便自訂資料預測。如果您想要建置根據業務特定資料進行訓練的模型，並且如果想要使用[評估您的模型效能](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html)等功能，請使用自訂模型。若要開始建置自訂模型，請參閱[自訂模型](canvas-custom-models.md)。

# 教學課程：在 SageMaker Canvas 中建置端對端機器學習工作流程
<a name="canvas-end-to-end-machine-learning-workflow"></a>

本教學課程將引導您使用 Amazon SageMaker Canvas 完成端對端機器學習 (ML) 工作流程。SageMaker Canvas 是一種視覺化無程式碼介面，您可以用來準備資料，以及訓練和部署 ML 模型。針對本教學課程，您會使用 NYC 計程車資料集，來訓練一個預測指定行程票價金額的模型。您可以取得關鍵 ML 任務的實作體驗，例如評估資料品質和解決資料問題、將資料分割為訓練和測試集、模型訓練和評估、進行預測，以及部署訓練過的模型 - 全都在 SageMaker Canvas 應用程式內進行。

**重要**  
本教學假設您或您的管理員已建立 AWS 帳戶。如需有關建立 AWS 帳戶的資訊，請參閱[入門：您是第一次 AWS 使用 嗎？](https://docs.aws.amazon.com/accounts/latest/reference/welcome-first-time-user.html)

## 設定
<a name="canvas-tutorial-setting-up"></a>

Amazon SageMaker AI 網域是管理所有 Amazon SageMaker AI 環境和資源的集中位置。網域做為您在 SageMaker AI 中工作的虛擬界限，為您的機器學習 (ML) 資源提供隔離和存取控制。

若要開始使用 Amazon SageMaker Canvas，您或您的管理員必須導覽至 SageMaker AI 主控台並建立 Amazon SageMaker AI 網域。網域具有您執行 SageMaker Canvas 所需的儲存和運算資源。在網域內，您可以設定 SageMaker Canvas 來存取 Amazon S3 儲存貯體並部署模型。使用下列程序設定快速網域並建立 SageMaker Canvas 應用程式。

**設定 SageMaker Canvas**

1. 導覽至 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker)。

1. 在左側導覽上，選擇 SageMaker Canvas。

1. 選擇**建立 SageMaker AI 網域**。

1. 選擇 **Set up (設定)**。網域可能需要幾分鐘的時間來設定。

上述程序已使用快速網域設定。您可以執行進階設定來控制帳戶組態的所有層面，包括許可、整合和加密。如需自訂設定的詳細資訊，請參閱[使用 Amazon SageMaker AI 的自訂設定](onboard-custom.md)。

根據預設，執行快速網域設定可為您提供部署模型的許可。如果您已透過標準網域設定自訂許可，且需要手動授予模型部署許可，請參閱[許可管理](canvas-deploy-model.md#canvas-deploy-model-prereqs)。

## 建立流程
<a name="canvas-tutorial-flow-creation"></a>

Amazon SageMaker Canvas 是一種機器學習平台，可讓使用者建置、訓練和部署機器學習模型，而無需廣泛的編碼或機器學習專業知識。Amazon SageMaker Canvas 的其中一個強大功能，就是能夠匯入和使用來自各種來源的大型資料集，例如 Amazon S3。

針對本教學課程，我們使用 NYC 計程車資料集，利用 Amazon SageMaker Canvas Data Wrangler 資料流程來預測每次車程的票價金額。下列程序概述將 NYC 計程車資料集的修改版本匯入至資料流程的步驟。

**注意**  
為了改善處理能力，SageMaker Canvas 匯入您的資料範例。根據預設，它會隨機取樣 50,000 個資料列。

**匯入 NYC 計程車資料集**

1. 從 SageMaker Canvas 首頁中，選擇 **Data Wrangler**。

1. 選擇**匯入資料**。

1. 選取**表格式**。

1. 選擇資料來源旁邊的工具箱。

1. 從下拉式清單中選取 **Amazon S3**。

1. 針對**輸入 S3 端點**，指定 `s3://amazon-sagemaker-data-wrangler-documentation-artifacts/canvas-single-file-nyc-taxi-dataset.csv`

1. 選擇**執行**。

1. 選取資料集旁邊的核取方塊。

1. 選擇**預覽資料**。

1. 選擇**儲存**。

## 資料品質和洞見報告 1 (範例)
<a name="canvas-tutorial-data-quality-insights-report-1"></a>

將資料集匯入至 Amazon SageMaker Canvas 後，您可以對資料範例產生資料品質和洞見報告。使用它來提供資料集的寶貴洞見。此報告會執行下列動作：
+ 評估資料集的完整性
+ 識別遺失值和極端值

它可以識別可能影響模型效能的其他潛在問題。它也會評估每個功能與目標變數相關的預測能力，讓您可以識別您嘗試解決之問題的最相關功能。

我們可以使用報告中的洞見來預測票價金額。透過指定**票價金額**欄作為目標變數，並選取**迴歸**作為問題類型，報告將分析資料集是否適合預測連續值，例如票價。報告應顯示**年份**和 **hour\$1of\$1day** 等特徵對於所選目標變數具有低預測能力，為您提供寶貴的洞見。

使用下列程序，從資料集取得 50,000 列範例的資料品質和洞見報告。

**取得範例的報告**

1. 從**資料類型**節點旁邊的快顯視窗中選擇**取得資料洞見**。

1. 針對**分析名稱**，指定報告的名稱。

1. 針對**問題類型**，選擇**迴歸**。

1. 針對**目標欄**，選擇**票價金額**。

1. 選擇**建立**。

您可以檢閱資料範例的資料品質和洞見報告。報告指出**年份**和 **hour\$1of\$1day** 特徵無法預測目標變數，即**票價金額**。

在導覽頂端，選擇資料流程的名稱以導覽回其中。

## 捨棄一天中的年份和小時
<a name="canvas-tutorial-drop-year-and-hour-of-day"></a>

我們使用報告中的洞見來捨棄**年份**和 **hour\$1of\$1day** 資料欄，以簡化特徵空間並可能改善模型效能。

Amazon SageMaker Canvas 提供使用者友善介面和工具來執行此類資料轉換。

使用下列程序，利用 Amazon SageMaker Canvas 中的 Data Wrangler 工具，從 NYC 計程車資料集捨棄**年份**和 **hour\$1of\$1day** 資料欄。

1. 選擇**資料類型**旁邊的圖示。

1. 選擇**新增步驟**。

1. 在搜尋列中，撰寫**捨棄資料欄**。

1. 選擇**管理資料欄**。

1. 選擇**捨棄資料欄**。

1. 對於**要捨棄的資料欄**，選取**年份**和 **hour\$1of\$1day** 資料欄。

1. 選擇**預覽**以檢視轉換如何變更您的資料。

1. 選擇**新增**。

您可以使用上述程序，作為在 SageMaker Canvas 中新增所有其他轉換的基礎。

## 資料品質和洞見報告 2 (完整資料集)
<a name="canvas-tutorial-data-quality-insights-report-2"></a>

對於先前的洞見報告，我們使用 NYC 計程車資料集的範例。對於我們的第二份報告，我們正在對整個資料集執行全面分析，以識別影響模型效能的潛在問題。

使用下列程序對整個資料集建立資料品質與洞察報告。

**取得整個資料集的報告**

1. 選擇**捨棄資料欄**節點旁邊的圖示。

1. 選擇**取得資料洞見**。

1. 針對**分析名稱**，指定報告的名稱。

1. 針對**問題類型**，選擇**迴歸**。

1. 針對**目標欄**，選擇**票價金額**。

1. 針對**資料大小**，選擇**完整資料集**。

1. 選擇**建立**。

以下是來自洞見報告中的影像：

![\[重複的資料列、偏斜目標和極低的快速模型分數會列為 insightsP\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/canvas-tutorial-dqi-insights.png)


它顯示下列問題：
+ 重複的資料列
+ 偏斜目標

重複的資料列可能會導致資料外洩，其中模型在訓練和測試期間會公開至相同的資料。它們可能會導致過於樂觀的效能指標。移除重複的資料列可確保模型在唯一執行個體上進行訓練，從而降低資料外洩的風險，並改善模型的一般化能力。

偏斜目標變數分佈，在此情況下，**票價金額**資料欄可能會導致類別不平衡，其中模型可能會偏向大多數類別。這可能會導致少數族群類別的效能不佳，這在準確預測罕見或代表性不足的執行個體很重要的情況下特別有問題。

## 解決資料品質問題
<a name="canvas-tutorial-addressing-data-quality-issues"></a>

若要解決這些問題並準備用於建模的資料集，您可以搜尋下列轉換並套用它們：

1. 使用**管理資料列**轉換捨棄重複項目。

1. 使用**強大的標準差數值極端值**，處理**票價金額**資料欄中的**極端值**。

1. 使用**標準差數值極端值**處理**車程距離**和**車程持續時間**資料欄中的**極端值**。

1. 使用**編碼分類**將**費率代碼 ID**、**付款類型**、**額外旗標**和**通行費旗標**資料欄編碼為浮點數。

如果您不確定如何套用轉換，請參閱[捨棄一天中的年份和小時](#canvas-tutorial-drop-year-and-hour-of-day)

透過解決這些資料品質問題並套用適當的轉換，您可以改善資料集的建模適用性。

## 驗證資料品質和快速模型準確性
<a name="canvas-tutorial-verifying-data-quality-and-quick-model-accuracy"></a>

套用轉換以解決資料品質問題後，例如移除重複的資料列，我們可建立最終的資料品質和洞見報告。此報告有助於驗證套用的轉換是否已解決問題，且資料集現在是否處於適合建模的狀態。

檢閱最終資料品質和洞見報告時，您應該預期不會看到標記的主要資料品質問題。報告應指出：
+ 目標變數不再偏斜
+ 沒有極端值或重複的資料列

此外，報告應根據在轉換資料集上訓練的基準模型提供快速模型分數。此分數可做為模型潛在準確性和效能的初始指標。

使用下列程序建立資料品質與洞察報告。

**建立資料品質與洞察報告**

1. 選擇**捨棄資料欄**節點旁邊的圖示。

1. 選擇**取得資料洞見**。

1. 針對**分析名稱**，指定報告的名稱。

1. 針對**問題類型**，選擇**迴歸**。

1. 針對**目標欄**，選擇**票價金額**。

1. 針對**資料大小**，選擇**完整資料集**。

1. 選擇**建立**。

## 將資料分割為訓練和測試集
<a name="canvas-tutorial-split-data"></a>

為了訓練模型並評估其效能，我們使用**分割資料**轉換，將資料分割為訓練和測試集。

根據預設，SageMaker Canvas 會使用隨機分割，但您也可以使用下列類型的分割：
+ 依序
+ 分層
+ 依金鑰分割

您可以變更**分割百分比**或新增分割。

針對本教學課程，請使用分割中的所有預設設定。您需要按兩下資料集才能檢視其名稱。訓練資料集的名稱為 **Dataset (Train)**。

**順序編碼**節點旁邊會套用**分割資料**轉換。

## 訓練模型
<a name="canvas-tutorial-train-model"></a>

分割您的資料後，您可以訓練模型。此模型會從資料中的模式學習。您可以使用它來進行預測或發現洞見。

SageMaker Canvas 同時具有快速建置和標準建置。使用標準建置，根據您的資料訓練最佳效能模型。

開始訓練模型前，您必須先將訓練資料集匯出為 SageMaker Canvas 資料集。

**匯出您的資料集**

1. 在訓練資料集的節點旁邊，選擇圖示，然後選取**匯出**。

1. 選取 **SageMaker Canvas 資料集**。

1. 選擇**匯出**以匯出資料集。

建立了資料集後，您可以根據您已建立的 SageMaker Canvas 資料集訓練模型。如需培訓模型的資訊，請參閱 [建立自訂數值或分類預測模型](canvas-build-model-how-to.md#canvas-build-model-numeric-categorical)。

## 評估模型並進行預測
<a name="canvas-tutorial-evaluate-model-and-make-predictions"></a>

訓練您的機器學習模型後，請務必評估其效能，以確保其符合您的要求，並在看不見的資料上表現良好。Amazon SageMaker Canvas 提供使用者友善介面，以評估模型的準確性、檢閱其預測，並洞悉其優點和缺點。您可以使用洞見來對其部署和需要改進的潛在領域做出明智的決策。

部署模型前，請使用下列程序來評估模型。

**若要評估模型**

1. 選擇**我的模型**。

1. 選擇您已建立的模型。

1. 在**版本**下，選取與該模型對應的版本。

您現在可以檢視模型評估指標。

評估模型後，您可以對新資料進行預測。我們正在使用我們所建立的測試資料集。

若要使用測試資料集進行預測，我們需要將其轉換為 SageMaker Canvas 資料集。SageMaker Canvas 資料集採用模型可以解譯的格式。

請使用下列程序從測試資料集建立 SageMaker Canvas 資料集。

**建立 SageMaker Canvas 資料集**

1. 在 **Dataset (Test)** 資料集旁邊，選擇圓鈕圖示。

1. 選取**匯出**。

1. 選取 **SageMaker Canvas 資料集**。

1. 對於**資料集名稱**，指定資料集名稱。

1. 選擇 **Export** (匯出)。

使用下列程序進行預測。它假設您仍在**分析**頁面上。

**對測試資料集進行預測**

1. 選擇**預測**。

1. 選擇**手動**。

1. 選取您已匯出的資料集。

1. 選擇**產生預測**。

1. 當 SageMaker Canvas 完成產生預測時，請選取資料集右側的圖示。

1. 選擇**預覽**以檢視預測。

## 部署模型
<a name="canvas-tutorial-deploy-a-model"></a>

評估您的模型後，您可以將其部署至端點。您可以向端點提交請求以取得預測。

使用下列程序來部署模型。其假設您仍在**預測**頁面上。

**部署模型**

1. 選擇**部署**。

1. 選擇 **Create deployment (建立部署)**。

1. 選擇**部署**。

## 清除
<a name="canvas-tutorial-cleaning-up"></a>

您已成功完成教學課程。為了避免產生額外費用，請刪除您未使用的資源。

使用下列程序刪除您已建立的端點。其假設您仍在**部署**頁面上。

**刪除端點**

1. 選擇部署右側的選項按鈕。

1. 選取**刪除部署**。

1. 選擇 **刪除**。

刪除部署後，請刪除您已在 SageMaker Canvas 內建立的資料集。使用下列程序刪除資料集。

**刪除資料集**

1. 選擇左側導覽列上的**資料集**。

1. 選取您已分析的資料集，以及用於預測的合成資料集。

1. 選擇 **刪除**。

若要避免產生額外費用，您必須登出 SageMaker Canvas。如需詳細資訊，請參閱[登出 Amazon SageMaker Canvas](canvas-log-out.md)。

# Amazon SageMaker Canvas 設定和許可管理 (適用於 IT 管理員)
<a name="canvas-setting-up"></a>

以下頁面說明 IT 管理員如何設定 Amazon SageMaker Canvas 並將許可授予其組織內的使用者。您會了解如何設定儲存組態、管理資料加密和 VPCs、控制對生成式 AI 基礎模型等特定功能的存取、整合 Amazon Redshift 等 AWS 其他服務。遵循以下步驟，您可以根據組織的特定要求，為您的使用者量身打造 SageMaker Canvas。

您也可以使用 為您的使用者設定 SageMaker Canvas AWS CloudFormation。如需詳細資訊，請參閱《AWS CloudFormation 使用者指南》**中的 [AWS::SageMaker AI::App](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-app.html)。

**Topics**
+ [授予使用者上傳本機檔案的許可](canvas-set-up-local-upload.md)
+ [為您的使用者設定 SageMaker Canvas](setting-up-canvas-sso.md)
+ [設定您的 Amazon S3 儲存](canvas-storage-configuration.md)
+ [授予 Amazon S3 Storage Lens 的許可](canvas-permissions-cross-account.md)
+ [授予使用者在整個 ML 生命週期使用大型資料的許可](canvas-large-data-permissions.md)
+ [使用 加密 SageMaker Canvas 資料 AWS KMS](canvas-kms.md)
+ [將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker AI 空間](canvas-spaces-setup.md)
+ [授予您的使用者建立自訂影像和文字預測模型的許可](canvas-set-up-cv-nlp.md)
+ [授予使用者在 Canvas 中使用 Amazon Bedrock 和生成式 AI 功能的許可](canvas-fine-tuning-permissions.md)
+ [為您的使用者更新 SageMaker Canvas](canvas-update.md)
+ [請求提高配額](canvas-requesting-quota-increases.md)
+ [授予使用者匯入 Amazon Redshift 資料的許可](canvas-redshift-permissions.md)
+ [授予您的使用者將預測傳送至快速的許可](canvas-quicksight-permissions.md)
+ [應用程式管理](canvas-manage-apps.md)
+ [在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas](canvas-vpc.md)
+ [使用 OAuth 設定與資料來源的連線](canvas-setting-up-oauth.md)

# 授予使用者上傳本機檔案的許可
<a name="canvas-set-up-local-upload"></a>

如果您的使用者將檔案從其本機電腦上傳到 SageMaker Canvas，您必須將 CORS (跨來源資源共用) 組態連接到他們正在使用的 Amazon S3 儲存貯體。設定或編輯 SageMaker AI 網域或使用者設定檔時，您可以指定自訂 Amazon S3 位置或預設位置，也就是 SageMaker AI 建立的 Amazon S3 儲存貯體，其名稱使用下列模式：`s3://sagemaker-{Region}-{your-account-id}`。每當使用者上傳檔案時，SageMaker Canvas 都會將您的資料新增至儲存貯體。

若要授予使用者將本機檔案上傳至值區的許可，您可以使用下列其中一個程序將 CORS 組態連接至儲存貯體。您可以在編輯網域設定時使用第一種方法，您可以在此選擇加入以允許 SageMaker AI 為您將 CORS 組態連接至儲存貯體。您也可以使用第一種方法來編輯網域內的使用者設定檔。第二種方法是手動方法，您可以在其中自己將 CORS 組態連接到儲存貯體。

## SageMaker AI 網域設定方法
<a name="canvas-set-up-local-upload-domain"></a>

若要授予使用者上傳本機檔案的許可，您可以在網域設定中編輯 Canvas 應用程式組態。這會將跨來源資源共用 (CORS) 組態連接至 Canvas 儲存組態的 Amazon S3 儲存貯體，並授予網域中的所有使用者將本機檔案上傳到 SageMaker Canvas 的許可。根據預設，設定新網域時，會開啟許可選項，但您可以視需要開啟和關閉此選項。

**注意**  
如果在儲存組態 Amazon S3 儲存貯體上您有現有的 CORS 組態，則開啟本機檔案上傳選項會以新組態覆寫現有組態。

下列程序說明如何在 SageMaker AI 主控台中編輯網域設定來開啟此選項。

1. 前往位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中選擇 **Domains** (網域)。

1. 從網域清單中選擇您的網域。

1. 在網域詳細資訊頁面上，選取**應用程式組態**索引標籤。

1. 前往 **Canvas** 區段，然後選擇**編輯**。

1. 開啟**啟用本機檔案上傳**切換。這會連接 CORS 組態並授予本機檔案上傳許可。

1. 選擇**提交**。

指定網域中的使用者現在應該具有本機檔案上傳許可。

您也可以遵循上述程序並進入使用者設定檔設定，而非整體網域設定，將許可授予網域中的特定使用者設定檔。

## Amazon S3 儲存貯體方法
<a name="canvas-set-up-local-upload-s3"></a>

如果您想要將 CORS 組態手動連接至 SageMaker AI Amazon S3 儲存貯體，請使用以下程序。

1. 前往 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 登入。

1. 選擇您的儲存貯體。如果您的網域使用 SageMaker AI 建立的儲存貯體，則儲存貯體的名稱會使用下列模式：`s3://sagemaker-{Region}-{your-account-id}`。

1. 選擇**許可**。

1. 導覽至**跨來源資源共享 (CORS)**。

1. 選擇**編輯**。

1. 新增下列 CORS 政策：

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. 選擇**儲存變更**。

在上述程序中，CORS 政策必須在 `AllowedMethods` 下列出 `"POST"`。

完成該過程後，您應該：
+ 指派給每個使用者的 IAM 角色。
+ 每個使用者的 Amazon SageMaker Studio Classic 執行時期許可。SageMaker Canvas 使用 Studio Classic 從您的使用者執行命令。
+ 如果使用者從其本機電腦上傳檔案，則會連接至其 Amazon S3 儲存貯體的 CORS 政策。

如果您的使用者在更新 CORS 政策之後仍無法上傳本機檔案，瀏覽器可能正在快取先前的上傳嘗試中的 CORS 設定。如果他們遇到問題，請指示他們清除瀏覽器緩存，然後再試一次。

# 為您的使用者設定 SageMaker Canvas
<a name="setting-up-canvas-sso"></a>

若要設定 Amazon SageMaker Canvas ，請執行下列動作：
+ 建立一個 Amazon SageMaker AI 網域。
+ 建立網域的使用者設定檔
+ 為您的使用者設定 Okta 單一登入 (Okta SSO)。
+ 啟用模型的連結共用。

使用 Okta 單一登入 (Okta SSO) 授予您的使用者存取 Amazon SageMaker Canvas 。SageMaker Canvas 支援 SAML 2.0 SSO 方法。以下各節將引導您完成設定 Okta SSO 的程序。

若要設定網域，請參閱[使用 Amazon SageMaker AI 的自訂設定](onboard-custom.md)並遵循使用 IAM 驗證設定您網域的指示。您可使用下列資訊來協助您完成本節中的程序：
+ 您可以忽略有關建立專案的步驟。
+ 您不需要提供其它 Amazon S3 儲存貯體的存取。您的使用者可以使用我們在建立角色時提供的預設儲存貯體。
+ 若要授予使用者與資料科學家共用筆記本的存取權，請開啟**筆記本共用組態**。
+ 使用 Amazon SageMaker Studio Classic 版本 3.19.0 或更新的版本。如需更新 Amazon SageMaker Studio Classic 的相關資訊，請參閱[關閉並更新 Amazon SageMaker Studio Classic](studio-tasks-update-studio.md)。

使用下列程序來設定 Okta。對於下列所有程序，您可以為 `IAM-role` 指定相同的 IAM 角色。

## 將 SageMaker Canvas 應用程式新增至 Okta
<a name="canvas-set-up-okta"></a>

設定 Okta 的登入方法。

1. 登入您的 Okta 管理員儀表板。

1. 選擇**新增應用程式**。搜尋**AWS 帳戶聯合**。

1. 選擇**新增**。

1. 選用：將名稱變更為 **Amazon SageMaker Canvas**。

1. 選擇**下一步**。

1. 針對**登入方法**，選擇 **SAML 2.0**。

1. 選擇**身分提供者中繼資料**以開啟中繼資料 XML 檔案。在本機儲存檔案。

1. 選擇**完成**。

## 在 IAM 中設定 ID 聯合身分
<a name="set-up-id-federation-IAM"></a>

AWS Identity and Access Management (IAM) 是您用來存取您 AWS 帳戶的 AWS 服務。您可以透過 IAM AWS 帳戶存取 。

1. 登入 AWS 主控台。

1. 選擇 **AWS Identity and Access Management (IAM)**。

1. 選擇**身分提供者**。

1. 選擇**建立提供者**。

1. 對於**設定提供者**，指定下列項目：
   + **提供者類型** — 從下拉式清單中選擇 **SAML**。
   + **提供者名稱** — 指定 **Okta**。
   + **中繼資料文件** — 從步驟 7 上傳您在本機儲存的 XML 文件[將 SageMaker Canvas 應用程式新增至 Okta](#canvas-set-up-okta)。

1. 在**身分提供者**下找到您的身分。複製其**提供者 ARN** 值。

1. 對於**角色**，請選擇您用於 Okta SSO 存取的 IAM 角色。

1. 在 IAM 角色**信任關係**標籤下，選擇**編輯信任關係**。

1. 指定您複製的**提供者 ARN** 值，以修改 IAM 信任關係政策，並新增下列政策：

------
#### [ JSON ]

****  

   ```
     {
     "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:AssumeRoleWithSAML",
             "sts:TagSession"
           ],
           "Condition": {
             "StringEquals": {
               "SAML:aud": "https://signin.aws.amazon.com/saml"
             }
           }
         },
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:SetSourceIdentity"
           ]
         }
       ]
     }
   ```

------

1. 要獲得**許可**，請新增下列政策：

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AmazonSageMakerPresignedUrlPolicy",
              "Effect": "Allow",
              "Action": [
                   "sagemaker:CreatePresignedDomainUrl"
              ],
              "Resource": "*"
         }
     ]
   }
   ```

------

## 在 Okta 中設定 SageMaker Canvas
<a name="canvas-configure-okta"></a>

使用下列程序在 Okta 中設定 Amazon SageMaker Canvas。

若要將 Amazon SageMaker Canvas 設定為使用 Okta，請遵循本節中的步驟。您必須為每個 **SageMakerStudioProfileName** 欄位指定唯一的使用者名稱。例如，您可以使用 `user.login` 作為值。如果使用者名稱與 SageMaker Canvas 設定檔名稱不同，請選擇不同的唯一識別屬性。例如，您可以使用員工的 ID 號碼作為設定檔名稱。

有關值的範例，您可以為**屬性**，請參閱過程後面的代碼。

1. 在**目錄**下選擇**群組**。

1. 新增下列模式的群組：`sagemaker#canvas#IAM-role#AWS-account-id`。

1. 在 Okta 中，開啟 **AWS 帳戶聯合**應用程式整合組態。

1. 為 AWS 帳戶聯合應用程式選取**登入**。

1. 選擇**編輯**並指定下列項目：
   + SAML 2.0
   + **預設轉送狀態** – https://*Region*.console.aws.amazon.com/sagemaker/home?region=*Region*\$1/studio/canvas/open/*StudioId*。您可以在主控台中找到 Studio Classic ID：[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. 選擇**屬性**。

1. 在 **SageMakerStudioProfileName** 欄位中，為每個使用者名稱指定唯一值。使用者名稱必須與您在 AWS 主控台中建立的使用者名稱相符。

   ```
   Attribute 1:
   Name: https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerStudioUserProfileName 
   Value: ${user.login}
   
   Attribute 2:
   Name: https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys
   Value: {"SageMakerStudioUserProfileName"}
   ```

1. 選取**環境類型**。選擇**一般 AWS**。
   + 如果未列出您的環境類型，您可以在 ACS URL 欄位中設定 **ACS URL**。如果列出您的環境類型，您便無需輸入 ACS URL

1. 針對**身分提供者 ARN**，指定您在前述程序的步驟 6 中使用的 ARN。

1. 指定**工作階段持續時間**。

1. 選擇**加入所有角色**。

1. 指定下列欄位以開啟**使用群組對應**：
   + **應用程式篩選器** — `okta`
   + **群組篩選器** — `^aws\#\S+\#(?IAM-role[\w\-]+)\#(?accountid\d+)$`
   + **角色值模式** — `arn:aws:iam::$accountid:saml-provider/Okta,arn:aws:iam::$accountid:role/IAM-role`

1. 選擇**儲存/下一步**。

1. 在**指派**底下，將應用程式指派給您建立的群組。

## 在 IAM 中新增存取控制的選擇性政策
<a name="canvas-optional-access"></a>

在 IAM 中，您可以將下列政策套用至建立使用者設定檔的管理員使用者。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateSageMakerStudioUserProfilePolicy",
            "Effect": "Allow",
            "Action": "sagemaker:CreateUserProfile",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": [
                        "studiouserid"
                    ]
                }
            }
        }
    ]
}
```

------

如果您選擇將上述政策新增至管理員使用者，則必須使用透過[在 IAM 中設定 ID 聯合身分](#set-up-id-federation-IAM)取得的下列許可。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "AmazonSageMakerPresignedUrlPolicy",
           "Effect": "Allow",
           "Action": [
               "sagemaker:CreatePresignedDomainUrl"
           ],
           "Resource": "*",
           "Condition": {
                  "StringEquals": {
                      "sagemaker:ResourceTag/studiouserid": "${aws:PrincipalTag/SageMakerStudioUserProfileName}"
                 }
            }
      }
  ]
}
```

------

# 設定您的 Amazon S3 儲存
<a name="canvas-storage-configuration"></a>

設定 SageMaker Canvas 應用程式時，模型成品、資料集和其他應用程式資料的預設儲存位置是 Canvas 建立的 Amazon S3 儲存貯體。此預設 Amazon S3 儲存貯體遵循命名模式 `s3://sagemaker-{Region}-{your-account-id}`，並與 Canvas 應用程式位於同一區域。不過，您可以自訂儲存位置，並指定自己的 Amazon S3 儲存貯體來存放 Canvas 應用程式資料。出於以下任何原因，您可能想要使用自己的 Amazon S3 儲存貯體來存放應用程式資料：
+ 您的組織有 Amazon S3 儲存貯體的內部命名慣例。
+ 您想要啟用對模型成品或其他 Canvas 資料的跨帳戶存取權。
+ 您希望遵守內部安全指南，例如限制使用者使用特定 Amazon S3 儲存貯體或模型成品。
+ 您希望獲得 Canvas 產生的日誌的增強可見性和存取權，獨立於 AWS 主控台或 SageMaker Studio Classic。

透過指定自己的 Amazon S3 儲存貯體，您可以增強對自己儲存的控制權，並符合您的組織的規定。

若要開始使用，您可以建立新的 SageMaker AI 網域或使用者設定檔，也可以更新現有的網域或使用者設定檔。請注意，使用者設定檔設定會覆寫網域層級設定。例如，您可以在網域層級使用預設儲存貯體組態，但是您可以為個別使用者指定自訂 Amazon S3 儲存貯體組態。為網域或使用者設定檔指定自己的 Amazon S3 儲存貯體後，Canvas 會在輸入 Amazon S3 URI 下建立一個名為 `Canvas/<UserProfileName>` 的子資料夾，並將 Canvas 應用程式中產生的所有成品儲存在此子資料夾下。

**重要**  
如果您更新現有的網域或使用者設定檔，您將無法再從先前位置存取 Canvas 成品。您的檔案仍然位於舊的 Amazon S3 位置，但您無法再從 Canvas 檢視檔案。新組態會在您下次登入應用程式時生效。

如需授予跨帳戶存取 Amazon S3 儲存貯體的詳細資訊，請參閱 *Amazon S3 使用者指南*中的[授予跨帳戶物件許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example4.html#access-policies-walkthrough-example4-overview)。

以下部分描述如何為 Canvas 儲存組態指定自訂 Amazon S3 儲存貯體。如果您要設定新的 SageMaker AI 網域 (或網域中的新使用者)，請使用 [新網域設定方法](#canvas-storage-configuration-new-domain) 或 [新使用者設定檔設定方法](#canvas-storage-configuration-new-user)。如果您有現有的 Canvas 使用者設定檔，並且想要更新設定檔的儲存組態，請使用 [現有的使用者方法](#canvas-storage-configuration-existing-user)。

## 開始之前
<a name="canvas-storage-configuration-prereqs"></a>

如果您要從不同 AWS 帳戶指定 Amazon S3 URI，或者如果您使用的是使用 加密的儲存貯體 AWS KMS，則必須先設定許可，才能繼續。您必須授予 AWS IAM 許可，以確保 Canvas 可以在您的儲存貯體中下載和上傳物件。如需如何授予必要許可的詳細，請參閱[授予 Amazon S3 Storage Lens 的許可](canvas-permissions-cross-account.md)。

此外，您 Canvas 儲存位置中訓練資料夾的最終 Amazon S3 URI 必須在 128 個字元以內。最終的 Amazon S3 URI 包含您的儲存貯體路徑 `s3://<your-bucket-name>/<folder-name>/` 以及 Canvas 新增至您的儲存貯體的路徑：`Canvas/<user-profile-name>/Training`。例如，小於 128 個字元的可接受路徑為 `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`。

## 新網域設定方法
<a name="canvas-storage-configuration-new-domain"></a>

如果您要設定新網域和 Canvas 應用程式，請使用此區段，在網域層級設定儲存位置。除非您為個別使用者設定檔指定不同的儲存位置，否則此設定會套用至您在網域中建立的所有新使用者。

針對您的網域執行**標準設定**時，請在**步驟 3：設定應用程式 - 選用**頁面上，針對 **Canvas** 區段使用下列程序：

1. 對於 **Canvas 儲存組態**，請執行下列動作：

   1. 如果您要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的預設 SageMaker AI 儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選用) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. 完成網域設定，然後選擇**提交**。

您的網域現在已設定為使用您為 SageMaker Canvas 應用程式儲存指定的 Amazon S3 位置。

## 新使用者設定檔設定方法
<a name="canvas-storage-configuration-new-user"></a>

如果您要在網域中設定新的使用者設定檔，請使用此區段來設定使用者的儲存位置。此組態會覆寫網域層級組態。

將使用者設定檔新增至您的網域時，請針對**步驟 2：設定應用程式**，為 **Canvas** 區段使用下列程序：

1. 對於 **Canvas 儲存組態**，請執行下列動作：

   1. 如果您要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的 SageMaker AI 建立的預設儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選用) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. 設定好使用者設定檔並選擇**提交**。

您的使用者設定檔現在已設定為使用您為 SageMaker Canvas 應用程式儲存指定的 Amazon S3 位置。

## 現有的使用者方法
<a name="canvas-storage-configuration-existing-user"></a>

如果您有現有的 Canvas 使用者設定檔，並且想要更新 Amazon S3 儲存位置，則可以編輯 SageMaker AI 網域或使用者設定檔設定。變更會在您下次登入 Canvas 應用程式時生效。

**注意**  
當您變更現有 Canvas 應用程式的儲存位置時，您將無法存取先前儲存位置的 Canvas 成品。成品仍然存放在舊的 Amazon S3 位置，但您無法再從 Canvas 檢視它們。

請記住，使用者設定檔設定會覆寫一般網域設定，因此您可以更新特定使用者設定檔的 Amazon S3 儲存位置，而無需變更所有使用者的設定檔。您可以使用下列程序，更新現有網域或使用者的儲存組態。

------
#### [ Update an existing domain ]

使用下列程序來更新網域的儲存組態。

1. 開啟位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從網域清單中選擇您的網域。

1. 在**網域詳細資訊**頁面上，選擇**應用程式組態**索引標籤。

1. 向下捲動到 **Canvas** 區段，然後選擇**編輯**。

1. **編輯 Canvas 設定**頁面隨即開啟。對於 **Canvas 儲存組態**區段，請執行下列動作：

   1. 如果您要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的 SageMaker AI 建立的預設儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選用) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. 完成您要對網域進行的任何其他修改，然後選擇**提交**以儲存變更。

------
#### [ Update an existing user profile ]

使用下列程序來更新使用者設定檔的儲存區組態。

1. 開啟位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從**網域**清單中選擇您的網域。

1. 從網域中的使用者清單中，選擇您要編輯其組態的使用者。

1. 在**使用者詳細資訊**頁面，選擇**編輯**。

1. 在導覽窗格中，選擇 **Canvas 設定**。

1. 對於 **Canvas 儲存組態**，請執行下列動作：

   1. 如果您要將位置設定為遵循 `s3://sagemaker-{Region}-{your-account-id}` 模式的預設 SageMaker AI 儲存貯體，請選擇**系統管理**。

   1. 選取**自訂 S3**以指定自己的 Amazon S3 儲存貯體為儲存位置。然後，輸入 Amazon S3 URI。

   1. (選用) 針對**加密金鑰**，請指定 KMS 金鑰，以加密儲存在指定位置的 Canvas 成品。

1. 完成您想對使用者概況進行的任何其他修改，然后選擇**提交**以保存您的變更。

------

Canvas 使用者設定檔的儲存位置現在應該已更新。下次登入 Canvas 應用程式時，您會收到儲存位置已更新的通知。您將無法存取您在 Canvas 中建立的任何先前成品。您仍然可以存取 Amazon S3 中的檔案，但無法再在 Canvas 中檢視這些檔案。

# 授予 Amazon S3 Storage Lens 的許可
<a name="canvas-permissions-cross-account"></a>

為使用者設定 SageMaker AI 網域或使用者設定檔以存取 SageMaker Canvas 時，您可以為 Canvas 成品指定 Amazon S3 儲存位置。這些成品包括已儲存的輸入資料集副本、模型加工品、預測和其他應用程式資料。您可以使用預設 SageMaker AI 建立的 Amazon S3 儲存貯體，也可以自訂儲存位置並指定自己的儲存貯體來存放 Canvas 應用程式資料。

您可以在另一個 AWS 帳戶中指定 Amazon S3 儲存貯體來存放 Canvas 資料，但必須先授予跨帳戶許可，Canvas 才能存取儲存貯體。

以下各節說明如何授予 Canvas 的許可，以便在另一個帳戶中的 Amazon S3 儲存貯體上傳和下載物件。當您的儲存貯體使用 加密時，還有其他許可 AWS KMS。

## 要求
<a name="canvas-permissions-cross-account-prereqs"></a>

開始之前，檢查下列要求：
+ 跨帳戶 Amazon S3 儲存貯體 （和任何相關聯的 AWS KMS 金鑰） 必須與 Canvas 使用者網域或使用者設定檔位於相同的 AWS 區域。
+ 您 Canvas 儲存位置中訓練資料夾的最終 Amazon S3 URI 必須在 128 個字元以內。最終的 Amazon S3 URI 包含您的儲存貯體路徑 `s3://<your-bucket-name>/<folder-name>/` 以及 Canvas 新增至您的儲存貯體的路徑：`Canvas/<user-profile-name>/Training`。例如，小於 128 個字元的可接受路徑為 `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`。

## 儲存貯體的跨帳戶 Amazon S3 主控台 ACL 許可
<a name="canvas-permissions-cross-account-s3"></a>

以下部分概述授予必要許可，以便 Canvas 可以在另一個帳戶中存取 Amazon S3 儲存貯體的基本步驟。如詳細說明，請參閱 *Amazon S3 使用者指南*中的[範例 2：儲存貯體擁有者授予跨帳戶許可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html)。

1. 在帳戶 A 建立一個 Amazon S3 儲存貯體 `bucketA`。

1. Canvas 使用者存在於另一個名為帳戶 B 的帳戶中。在下列步驟中，我們將 Canvas 使用者的 IAM 角色在帳戶 B 中稱為 `roleB`。

   透過連接 IAM 政策，讓帳戶 B 中的 IAM 角色 `roleB` 獲得許可從帳戶 A 的 `bucketA` 中下載 (`GetObject`) 和上傳 (`PutObject`) 物件。

   若要限制存取特定儲存貯體資料夾，請在資源元素中定義資料夾名稱，例如 `arn:aws:s3:::<bucketA>/FolderName/*`。如需更多資訊，請參閱[如何使用 IAM 政策授予使用者特定資料夾的存取](https://aws.amazon.com/premiumsupport/knowledge-center/iam-s3-user-specific-folder/)許可？
**注意**  
儲存貯體層級動作如 `GetBucketCors` 和 `GetBucketLocation` 應該新增至值區層級資源，而不是資料夾。

   下列 IAM 政策範例授予 `roleB` 存取 `bucketA` 中物件的必要許可：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           }
       ]
   }
   ```

------

1. 設定帳戶 A 中 `bucketA` 的儲存貯體政策，對帳戶 B 中的 IAM 角色 `roleB` 授予許可。
**注意**  
管理員也必須在儲存貯體**許可**區段下關閉**封鎖所有公開存取**。

   下列儲存貯體政策範例，讓 `bucketA` 授予 `roleB` 必要的許可：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

設定前述許可後，帳戶 B 中的 Canvas 使用者設定檔現在可以使用帳戶 A 中的 Amazon S3 儲存貯體做為 Canvas 成品的儲存位置。

## 使用 加密的跨帳戶 Amazon S3 儲存貯體的許可 AWS KMS
<a name="canvas-permissions-cross-account-s3-kms"></a>

下列程序說明如何授予必要的許可，讓 Canvas 可以在另一個使用 加密的帳戶中存取您的 Amazon S3 儲存貯體 AWS KMS。這些步驟與上述程序類似，但具有其他許可。如需授予跨帳戶 KMS 金鑰許可的更多相關資訊，請參閱 *AWS KMS 開發人員指南*中的[允許其他帳戶中的使用者使用 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)。

1. 在帳戶 A 中建立一個 Amazon S3 儲存貯體 `bucketA` 和一個 Amazon S3 KMS 金鑰 `s3KmsInAccountA`。

1. Canvas 使用者存在於另一個名為帳戶 B 的帳戶中。在下列步驟中，我們將 Canvas 使用者的 IAM 角色在帳戶 B 中稱為 `roleB`。

   授予帳戶 B 中的 IAM 角色 `roleB` 執行下列動作的許可：
   + 在帳戶 A 的 `bucketA` 中下載 (`GetObject`) 和上傳 (`PutObject`) 物件。
   + 存取帳戶 A `s3KmsInAccountA` 中的 AWS KMS 金鑰。

   下列 IAM 政策範例授予 `roleB` 存取 `bucketA` 中物件和使用 KMS 金鑰 `s3KmsInAccountA` 的必要許可：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           },
           {
               "Action": [
                   "kms:DescribeKey",
                   "kms:CreateGrant",
                   "kms:RetireGrant",
                   "kms:GenerateDataKey",
                   "kms:GenerateDataKeyWithoutPlainText",
                   "kms:Decrypt"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/s3KmsInAccountA"
           }
       ]
   }
   ```

------

1. 在帳戶 A 中設定 `bucketA` 的儲存貯體政策和 `s3KmsInAccountA` 的金鑰政策，將許可授予帳戶 B 的 IAM 角色 `roleB`。

   下列範例儲存貯體政策為 `bucketA` 授予 `roleB` 必要的許可：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/roleB"
               },
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

   下列範例是您連接至帳戶 A 中 KMS 金鑰 `s3KmsInAccountA` 以授予 `roleB` 存取權的金鑰政策。如需有關如何建立和連接金鑰政策聲明的更多相關資訊，請參閱 *AWS KMS 開發人員指南*中的[建立金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html)。

   ```
   {
     "Sid": "Allow use of the key",
     "Effect": "Allow",
     "Principal": {
       "AWS": [
         "arn:aws:iam::accountB:role/roleB"
       ]
     },
     "Action": [
           "kms:DescribeKey",
           "kms:CreateGrant",
           "kms:RetireGrant",
           "kms:GenerateDataKey",
           "kms:GenerateDataKeyWithoutPlainText",
           "kms:Decrypt"
     ],
     "Resource": "*"
   }
   ```

設定前述許可後，帳戶 B 中的 Canvas 使用者設定檔現在可以使用帳戶 A 中的加密 Amazon S3 儲存貯體做為 Canvas 成品的儲存位置。

# 授予使用者在整個 ML 生命週期使用大型資料的許可
<a name="canvas-large-data-permissions"></a>

Amazon SageMaker Canvas 使用者若使用超過 10 GB 的 CSV 格式資料集或超過 2.5 GB 的 Parquet 格式資料集，則需要特定許可才能進行大型資料處理。這些許可對於管理整個機器學習生命週期的大規模資料至關重要。當資料集超過指定的閾值或應用程式的本機記憶體容量時，SageMaker Canvas 會使用 Amazon EMR Serverless 進行高效處理。這適用於：
+ 資料匯入：使用隨機或分層取樣匯入大型資料集。
+ 資料準備：將已處理的資料從 Canvas 中的 Data Wrangler 匯出至 Amazon S3、新 Canvas 資料集或 Canvas 模型。
+ 模型建置：在大型資料集上訓練模型。
+ 推論：對大型資料集進行預測。

根據預設，SageMaker Canvas 會使用 EMR Serverless，搭配下列應用程式設定執行這些遠端任務：
+ 預先初始化容量：未設定
+ 應用程式限制：最大容量為 400 個 vCPU、每個帳戶的並行 vCPU 數量最多可有 16個、3000 GB 記憶體、20000 GB 磁碟
+ 中繼存放區組態： AWS Glue Data Catalog
+ 應用程式日誌： AWS 受管儲存 （已啟用），使用 AWS 擁有的加密金鑰
+ 應用程式行為：在應用程式閒置 15 分鐘後，自動啟動任務提交和自動停止

若要啟用這些大型資料處理功能，使用者需要必要的許可，這些許可可以透過 Amazon SageMaker AI 網域設定授予。授予這些許可的方法取決於您的 Amazon SageMaker AI 網域最初的設定方式。我們將涵蓋三個主要案例：
+ 快速網域設定
+ 自訂網域設定 (具有公有網際網路存取/沒有 VPC)
+ 自訂網域設定 (具有 VPC 且沒有公有網際網路存取)

每個案例都需要特定步驟，以確保使用者具有必要的許可，以在 SageMaker Canvas 的整個機器學習生命週期中利用 EMR Serverless 進行大型資料處理。

## 案例 1：快速網域設定
<a name="canvas-large-data-quick-setup"></a>

如果您在建立 SageMaker AI 網域時使用了**快速設定**選項，請遵循下列步驟：

1. 導覽至 Amazon SageMaker AI 網域設定：

   1. 開啟 Amazon SageMaker AI 主控台，網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

   1. 在左側導覽窗格中選擇 **Domains** (網域)。

   1. 選擇網域。

   1. 選擇**應用程式組態**索引標籤。

   1. 捲動至 **Canvas** 區段，然後選擇**編輯**。

1. 啟用大型資料處理：

   1. 在**大型資料處理組態**區段中，開啟**啟用 EMR Serverless 進行大型資料處理**。

   1. 建立或選取 EMR Serverless 角色：

      1. 選擇**建立並使用新的執行角色**來建立新的 IAM 角色，該角色與 EMR Serverless 和連接的 [AWS 受管政策：AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) 政策具有信任關係。Canvas 會擔任此 IAM 角色來建立 EMR Serverless 任務。

      1. 或者，如果您已有執行角色具有 EMR Serverless 的信任關係，請選取**使用現有的執行角色**，然後從下拉式清單中選擇您的角色。
         + 現有角色必須具有以字首 `AmazonSageMakerCanvasEMRSExecutionAccess-` 開頭的名稱。
         + 您選取的角色也應該至少具有 [AWS 受管政策：AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy) 政策中所述的許可。
         + 角色應該具有 EMR Serverless 信任政策，如下所示：

------
#### [ JSON ]

****  

           ```
           {
               "Version":"2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Sid": "EMRServerlessTrustPolicy",
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "emr-serverless.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole",
                       "Condition": {
                           "StringEquals": {
                               "aws:SourceAccount": "111122223333"
                           }
                       }
                   }
               ]
           }
           ```

------

1. (選用) 新增自訂 Amazon S3 儲存貯體的 Amazon S3 許可：

   1. Canvas 受管政策會自動為其名稱中包含 `sagemaker` 或 `SageMaker AI` 的 Amazon S3 儲存貯體授予讀取和寫入許可。它還會為具有標籤 `"SageMaker": "true"` 的自訂 Amazon S3 儲存貯體中的物件授予讀取許可。

   1. 對於沒有必要標籤的自訂 Amazon S3 儲存貯體，請將下列政策新增至您的 EMR Serverless 角色：

   1. 

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:DeleteObject"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ]
              }
          ]
      }
      ```

------

   1. 我們建議您將許可範圍縮小為您想要 Canvas 存取的特定 Amazon S3 儲存貯體。

1. 儲存您的變更並重新啟動您的 SageMaker Canvas 應用程式。

## 案例 2：自訂網域設定 (具有公有網際網路存取/沒有 VPC)
<a name="canvas-large-data-custom-no-vpc"></a>

如果您建立或使用自訂網域，請遵循案例 1 中的步驟 1-3，然後執行以下額外步驟：

1. 將 Amazon ECR `DescribeImages` 操作的許可新增至 Amazon SageMaker AI 執行角色，因為 Canvas 會使用公有 Amazon ECR Docker 映像檔進行資料準備和模型訓練：

   1. 登入 AWS 主控台，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

   1. 選擇**角色**。

   1. 在搜尋方塊中，依名稱搜尋您的 SageMaker AI 執行角色，然後選取該角色。

   1. 將下列政策新增至您的 SageMaker AI 執行角色。這可以透過將其新增為新的內嵌政策，或將政策聲明附加至現有的政策來完成此操作。請注意，IAM 角色最多可連接 10 個政策。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [{
              "Sid": "ECRDescribeImagesOperation",
              "Effect": "Allow",
              "Action": "ecr:DescribeImages",
              "Resource": [
                  "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container",
                  "arn:aws:ecr:*:*:repository/ap-dataprep-emr"
              ]
          }]
      }
      ```

------

1. 儲存您的變更並重新啟動您的 SageMaker Canvas 應用程式。

## 案例 3：自訂網域設定 (月有 VPC 且沒有公有網際網路存取)
<a name="canvas-large-data-custom-vpc"></a>

如果您建立或使用自訂網域，請遵循案例 2 中的所有步驟，然後遵循以下額外步驟：

1. 確保您的 VPC 子網路為私有的：

   1. 確認子網路的路由表沒有將 `0.0.0.0/0` 對應至網際網路閘道的項目。

1. 新增用於建立網路介面的許可：

   1. 使用 SageMaker Canvas 搭配 EMR Serverless 進行大規模資料處理時，EMR Serverless 需要能夠建立 Amazon EC2 ENIs，以啟用 EMR Serverless 應用程式與 VPC 資源之間的網路通訊。

   1. 將下列政策新增至您的 Amazon SageMaker AI 執行角色。這可以透過將其新增為新的內嵌政策，或將政策聲明附加至現有的政策來完成此操作。請注意，IAM 角色最多可連接 10 個政策。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowEC2ENICreation",
                  "Effect": "Allow",
                  "Action": [
                      "ec2:CreateNetworkInterface"
                  ],
                  "Resource": [
                      "arn:aws:ec2:*:*:network-interface/*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com"
                      }
                  }
              }
          ]
      }
      ```

------

1. (選用) 將 ENI 建立限制在特定子網路：

   1. 若要將 ENI 的建立限制在 VPC 內的特定子網路，以進一步保護您的設定，您可以使用特定條件標記每個子網路。

   1. 使用下列 IAM 政策來確保 EMR Serverless 應用程式只能在允許的子網路和安全群組內建立 Amazon EC2 ENI：

      ```
      {
          "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags",
          "Effect": "Allow", 
          "Action": [
              "ec2:CreateNetworkInterface"
          ],
          "Resource": [
              "arn:aws:ec2:*:*:subnet/*",
              "arn:aws:ec2:*:*:security-group/*"
          ],
          "Condition": {
              "StringEquals": {
                  "aws:ResourceTag/KEY": "VALUE"
              }
          }
      }
      ```

1. 請依照頁面上的步驟[在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas](canvas-vpc.md)來設定 Amazon S3 的 VPC 端點，這是 EMR Serverless 和其他 SageMaker Canvas 所使用的 AWS 服務所需要。

1. 儲存您的變更並重新啟動您的 SageMaker Canvas 應用程式。

遵循以下步驟，您可以在 SageMaker Canvas 中針對各種網域設定啟用大型資料處理，包括具有自訂 VPC 組態的網域設定。請記得在進行這些變更以套用新許可之後重新啟動 SageMaker Canvas 應用程式。

# 使用 加密 SageMaker Canvas 資料 AWS KMS
<a name="canvas-kms"></a>

使用 Amazon SageMaker Canvas 時，您可能會擁有想要加密的資料，例如您的私人公司資訊或客戶資料。SageMaker Canvas AWS Key Management Service 用來保護您的資料。 AWS KMS 是一項服務，可用來建立和管理加密資料的密碼編譯金鑰。如需 的詳細資訊 AWS KMS，請參閱《 *AWS KMS 開發人員指南*[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)》中的 。

Amazon SageMaker Canvas 為您提供數個加密資料的選項。SageMaker Canvas 會在應用程式內為建立模型和產生深入解析等工作提供預設加密。您也可以選擇加密 Amazon S3 中存放的資料，以保護靜態資料。SageMaker Canvas 支援匯入加密的資料集，因此您可以建立加密的工作流程。下列各節說明如何使用 AWS KMS 加密來保護資料，同時使用 SageMaker Canvas 建置模型。

## 在 Canvas 中加密您的資料
<a name="canvas-kms-app-data"></a>

使用 SageMaker Canvas，您可以使用兩個不同的 AWS KMS 加密金鑰來加密 SageMaker Canvas 中的資料，您可以在使用標準[網域設定設定網域](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html)時指定。這些金鑰是在下列網域設定步驟中指定：
+ **步驟 3：設定應用程式 - (選用)** - 設定 **Canvas 儲存組態**區段時，您可以指定**加密金鑰**。這是 SageMaker Canvas 用於長期儲存模型物件和資料集的 KMS 金鑰，這些物件和資料集存放在為您網域提供的 Amazon S3 儲存貯體中。如果使用 [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html) API 建立 Canvas 應用程式，請使用 `S3KMSKeyId` 欄位來指定此金鑰。
+ **步驟 6：設定儲存體** - SageMaker Canvas 使用一個金鑰來加密為 Canvas 應用程式建立的 Amazon SageMaker Studio 私有空間，其中包括臨時應用程式儲存體、視覺化和運算任務 (例如建置模型)。您可以使用預設 AWS 受管金鑰或指定自己的金鑰。如果您指定 AWS KMS 金鑰，儲存在 `/home/sagemaker-user`目錄中的資料會使用金鑰加密。如果您未指定 AWS KMS 金鑰，內部的資料`/home/sagemaker-user`會使用 AWS 受管金鑰加密。無論您是否指定 AWS KMS 金鑰，工作目錄以外的所有資料都會使用 AWS 受管金鑰加密。若要進一步了解 Studio 空間和 Canvas 應用程式儲存體，請參閱[將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker AI 空間](canvas-spaces-setup.md)。如果使用 [CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html) API 建立 Canvas 應用程式，請使用 `KmsKeyID` 欄位來指定此金鑰。

上述金鑰可以是相同或不同的 KMS 金鑰。

### 先決條件
<a name="canvas-kms-app-data-prereqs"></a>

若要將自己的 KMS 金鑰用於上述任一目的，您必須先授予使用者的 IAM 角色許可才能使用金鑰。然後，您可以在設定網域時指定 KMS 金鑰。

授予角色使用金鑰的最簡單方法是修改金鑰政策。使用以下處理程序為您的角色授予必要的許可。

1. 開啟 [AWS KMS 主控台](https://console.aws.amazon.com/kms/)。

1. 在**金鑰政策**區段中，選擇**切換為政策檢視**。

1. 修改金鑰政策，授予 IAM 角色 `kms:GenerateDataKey` 和 `kms:Decrypt` 動作的許可。此外，如果您要修改加密 Studio 空間中 Canvas 應用程式儲存體的金鑰政策，請授予 `kms:CreateGrant` 動作。您可以新增類似以下的陳述式：

   ```
   {
     "Sid": "ExampleStmt",
     "Action": [
       "kms:CreateGrant", #this permission is only required for the key that encrypts your SageMaker Canvas application storage
       "kms:Decrypt",
       "kms:GenerateDataKey"
     ],
     "Effect": "Allow",
     "Principal": {
       "AWS": "<arn:aws:iam::111122223333:role/Jane>"
     },
     "Resource": "*"
   }
   ```

1. 選擇**儲存變更**。

較不偏好的方法是修改使用者的 IAM 角色，以授予使用者使用或管理 KMS 金鑰的許可。如果您使用此方法，KMS 金鑰政策也必須允許透過 IAM 進行存取管理。若要了解如何透過使用者的 IAM 角色授予 KMS 金鑰的許可，請參閱 *AWS KMS 開發人員指南*中的 [IAM 政策陳述式中指定 KMS 金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)。

### 在 Canvas 應用程式中 SageMaker 密您的資料
<a name="canvas-kms-app-data-app"></a>

您可以在 SageMaker Canvas 中使用的第一個 KMS 金鑰用於加密存放在 Amazon Elastic Block Store (Amazon EBS) 磁碟區，以及 SageMaker AI 在您網域中建立的 Amazon Elastic File System 中存放的應用程式資料。SageMaker Canvas 在使用計算執行個體建立模型和產生深入解析時所建立的基礎應用程式和臨時儲存系統中，使用此金鑰加密您的資料。SageMaker Canvas 每當 SageMaker Canvas 啟動任務以處理您的資料時，就會將金鑰傳遞給 AWS 其他服務，例如 Autopilot。

您可以指定此金鑰，方法是在 `CreateDomain` API 呼叫中或是在主控台中執行標準網域設定時設定 `KmsKeyID`。如果您未指定自己的 KMS 金鑰，SageMaker AI 會使用預設的 AWS 受管 KMS 金鑰來加密 SageMaker Canvas 應用程式中的資料。

若要透過主控台指定您自己的 KMS 金鑰，以便在 SageMaker Canvas 應用程式中使用，請先使用**標準設定**設定您的 Amazon SageMaker AI 網域。請使用下列程序，完成網域的**網路和儲存區段**。

1. 填寫您想要的 Amazon VPC 設定。

1. 對於**加密金鑰**，請選擇**輸入 KMS 金鑰 ARN**。

1. 針對 **KMS ARN**，請輸入 KMS 金鑰的 ARN，其格式應類似下列：`arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

### 加密儲存在 Amazon S3 中的 SageMaker Canvas 資料
<a name="canvas-kms-app-data-s3"></a>

您可以指定的第二個 KMS 金鑰會用於 SageMaker Canvas 存放到 Amazon S3 的資料。此 KMS 金鑰是在 `CreateDomain` API 呼叫的 `S3KMSKeyId` 欄位中指定，或在 SageMaker AI 主控台中執行標準網域設定時指定。SageMaker Canvas 會儲存重複的輸入資料集、應用程式和模型資料，並將資料輸出至您帳戶的區域預設 SageMaker S3 AI 儲存貯體。此儲存貯體的命名模式為 `s3://sagemaker-{Region}-{your-account-id}`，而 SageMaker Canvas 會將資料儲存在 `Canvas/` 資料夾中。





1. 開啟**啟用筆記本資源共用**。

1. 對於**可共用筆記本資源的 S3 位置**，請保留預設的 Amazon S3 路徑。請注意，SageMaker Canvas 不會使用此 Amazon S3 路徑；此 Amazon S3 路徑用於 Studio Classic 筆記本。

1. 對於**加密金鑰**，請選擇**輸入 KMS 金鑰 ARN**。

1. 針對 **KMS ARN**，請輸入 KMS 金鑰的 ARN，其格式應類似下列：`arn:aws:kms:us-east-1:111122223333:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

## 從 Amazon S3 匯入加密資料集
<a name="canvas-kms-datasets"></a>

您的使用者可能擁有已使用 KMS 金鑰加密的資料集。雖然上一節說明如何加密 SageMaker Canvas 中的資料和存放在 Amazon S3 的資料，但如果您想要從已加密的 Amazon S3 匯入資料，則必須授予使用者的 IAM 角色額外的許可 AWS KMS。

若要授予使用者從 Amazon S3 將加密資料集匯入 SageMaker Canvas 的許可，請將下列許可新增至您用於使用者設定檔的 IAM 執行角色。

```
      "kms:Decrypt",
      "kms:GenerateDataKey"
```

如需有關如何編輯管理許可的相關資訊，請參閱 *IAM 使用者指南*中的[新增和移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。如需 KMS 金鑰的詳細資訊，請參閱 *AWS KMS 開發人員指南*中的 [AWS Key Management Service的金鑰政策](https://docs.aws.amazon.com//kms/latest/developerguide/key-policies.html)。

## FAQs
<a name="canvas-kms-faqs"></a>

如需有關 SageMaker Canvas AWS KMS 支援的常見問題解答，請參閱下列常見問題集項目。

### 問：SageMaker Canvas 會保留我的 KMS 金鑰？
<a name="canvas-kms-faqs-1"></a>

答：否。SageMaker Canvas 可能會暫時快取您的金鑰或將其傳遞給其他服務 AWS （例如 Autopilot)，但 SageMaker Canvas 不會保留您的 KMS 金鑰。

### 問：我在設定網域時指定了 KMS 金鑰。為什麼我的資料集無法在 SageMaker Canvas 中匯入？
<a name="canvas-kms-faqs-2"></a>

答：您的使用者的 IAM 角色可能沒有使用該 KMS 金鑰的許可。若要授予您的使用者許可，請參閱[先決條件](#canvas-kms-app-data-prereqs)。另一個可能的錯誤是 Amazon S3 儲存貯體上有儲存貯體政策，需要使用與您在網域中指定的 KMS 金鑰不符的特定 KMS 金鑰。請務必為 Amazon S3 儲存貯體和網域指定相同的 KMS 金鑰。

### 問：如何為我的帳戶尋找該區域的預設 SageMaker AI Amazon S3 儲存貯體？
<a name="canvas-kms-faqs-3"></a>

答：預設的 Amazon S3 儲存貯體遵循命名模式 `s3://sagemaker-{Region}-{your-account-id}`。此儲存貯體中的 `Canvas/` 資料夾會儲存您的 SageMaker Canvas 應用程式資料。

### 問：是否可以變更用於存放 SageMaker Canvas 資料的預設 SageMaker AI Amazon S3 儲存貯體？
<a name="canvas-kms-faqs-4"></a>

答：否，SageMaker AI 會為您建立此儲存貯體。

### 問：SageMaker Canvas 在預設的 SageMaker AI Amazon S3 儲存貯體中存放什麼？
<a name="canvas-kms-faqs-5"></a>

答：SageMaker Canvas 使用預設的 SageMaker AI Amazon S3 儲存貯體來存放輸入資料集、模型成品和模型輸出的重複項目。

### 問：搭配 SageMaker Canvas 使用 KMS 金鑰時，支援哪些使用案例？
<a name="canvas-kms-faqs-6"></a>

答：使用 SageMaker Canvas，您可以將自己的加密金鑰與 搭配使用 AWS KMS ，以建置迴歸、二進位和多類別分類、時間序列預測模型，以及使用模型進行批次推論。

# 將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker AI 空間
<a name="canvas-spaces-setup"></a>

您的 Amazon SageMaker Canvas 應用程式資料會存放在 *Amazon SageMaker Studio 私有空間*，例如您匯入的資料集和模型成品。空間包含應用程式資料的儲存磁碟區 (每個使用者設定檔具有 100 GB 的儲存體)、空間類型 (在此情況下為 Canvas 應用程式)，以及應用程式容器的映像。當您第一次設定 Canvas 並啟動應用程式時，SageMaker AI 會建立指派給使用者設定檔的預設私有空間，並存放您的 Canvas 資料。您不需要進行任何額外的組態來設定空間，因為 SageMaker AI 會自動代表您建立空間。不過，如果您不想要使用預設空間，您可以選擇指定自己建立的空間。如果您想要隔離資料，這會很有用。以下頁面說明如何建立和設定您自己的 Studio 空間來存放 Canvas 應用程式資料。

**注意**  
您只能為新的 Canvas 應用程式設定自訂 Studio 空間。您無法修改現有 Canvas 應用程式的空間組態。

## 開始之前
<a name="canvas-spaces-setup-prereqs"></a>

您的 Amazon SageMaker AI 網域或使用者設定檔必須至少有 100 GB 的儲存體，才能建立和使用 SageMaker Canvas 應用程式。

如果您透過 SageMaker AI 主控台建立了網域，預設會佈建足夠的儲存體，而且您不需要採取任何其他動作。如果您使用 [CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) 或 [ CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API 建立了網域或使用者設定檔，請確定您將 `MaximumEbsVolumeSizeInGb` 值設定為 100 GB 或更高。若要設定更大的儲存值，您可以建立新的網域或使用者設定檔，也可以使用 [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) 或 [UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html) API 更新現有的網域或使用者設定檔。

## 建立新空間
<a name="canvas-spaces-setup-new-space"></a>

首先，建立一個設定為存放 Canvas 應用程式資料的新 Studio 空間。這是您在下一個步驟中建立新 Canvas 應用程式時指定的空間。

若要建立空間，您可以使用 適用於 Python (Boto3) 的 AWS SDK 或 AWS CLI。

------
#### [ SDK for Python (Boto3) ]

下列範例說明如何使用 適用於 Python (Boto3) 的 AWS SDK `create_space`方法建立可用於 Canvas 應用程式的空間。請務必指定這些參數：
+ `DomainId`：指定 SageMaker AI 網域的 ID。若要尋找您的 ID，您可以前往 SageMaker AI 主控台 (網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))，並在**網域區段**中尋找您的網域。
+ `SpaceName`：指定新空間的名稱。
+ `EbsVolumeSizeinGb`：指定空間的儲存磁碟區大小 (以 GB 為單位)。下限值是 `5`，上限值是 `16384`。
+ `SharingType`：將此欄位指定為 `Private`。如需詳細資訊，請參閱[Amazon SageMaker Studio 空間](studio-updated-spaces.md)。
+ `OwnerUserProfileName`：指定使用者設定檔名稱。若要尋找與網域相關聯的使用者設定檔名稱，您可以前往 SageMaker AI 主控台 (網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))，並在**網域區段**中尋找您的網域。在網域的設定中，您可以檢視使用者設定檔。
+ `AppType`：將此欄位指定為 `Canvas`。

```
response = client.create_space(
    DomainId='<your-domain-id>', 
    SpaceName='<your-new-space-name>',
    SpaceSettings={
        'AppType': 'Canvas',
        'SpaceStorageSettings': {
            'EbsStorageSettings': {
                'EbsVolumeSizeInGb': <storage-volume-size>
            }
        },
    },
    OwnershipSettings={
        'OwnerUserProfileName': '<your-user-profile>'
    },
    SpaceSharingSettings={
        'SharingType': 'Private'
    }  
)
```

------
#### [ AWS CLI ]

下列範例說明如何使用 AWS CLI `create-space`方法建立可用於 Canvas 應用程式的空間。請務必指定這些參數：
+ `domain-id`：指定網域的 ID。若要尋找您的 ID，您可以前往 SageMaker AI 主控台 (網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))，並在**網域區段**中尋找您的網域。
+ `space-name`：指定新空間的名稱。
+ `EbsVolumeSizeinGb`：指定空間的儲存磁碟區大小 (以 GB 為單位)。下限值是 `5`，上限值是 `16384`。
+ `SharingType`：將此欄位指定為 `Private`。如需詳細資訊，請參閱[Amazon SageMaker Studio 空間](studio-updated-spaces.md)。
+ `OwnerUserProfileName`：指定使用者設定檔名稱。若要尋找與網域相關聯的使用者設定檔名稱，您可以前往 SageMaker AI 主控台 (網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/))，並在**網域區段**中尋找您的網域。在網域的設定中，您可以檢視使用者設定檔。
+ `AppType`：將此欄位指定為 `Canvas`。

```
  
create-space
--domain-id <your-domain-id>
--space-name <your-new-space-name>  
--space-settings '{
        "AppType": "Canvas", 
        "SpaceStorageSettings": {
            "EbsStorageSettings": {"EbsVolumeSizeInGb": <storage-volume-size>}
        },
     }'
--ownership-settings '{"OwnerUserProfileName": "<your-user-profile>"}'
--space-sharing-settings '{"SharingType": "Private"}'
```

------

您現在應該有一個空間。追蹤您空間的名稱以進行下一個步驟。

## 建立新的 Canvas 應用程式
<a name="canvas-spaces-setup-new-app"></a>

建立空間後，請建立新的 Canvas 應用程式，將空間指定為其儲存位置。

若要建立新的 Canvas 應用程式，您可以使用 適用於 Python (Boto3) 的 AWS SDK 或 AWS CLI。

**重要**  
您必須使用 適用於 Python (Boto3) 的 AWS SDK 或 AWS CLI 來建立 Canvas 應用程式。不支援在透過 SageMaker AI 主控台建立 Canvas 應用程式時指定自訂空間。

------
#### [ SDK for Python (Boto3) ]

下列範例說明如何使用 適用於 Python (Boto3) 的 AWS SDK `create_app`方法建立新的 Canvas 應用程式。請務必指定這些參數：
+ `DomainId`：指定 SageMaker AI 網域的 ID。
+ `SpaceName`：指定您在上一個步驟建立的空間名稱。
+ `AppType`：將此欄位指定為 `Canvas`。
+ `AppName`：指定 `default` 做為應用程式名稱。

```
response = client.create_app(  
    DomainId='<your-domain-id>',
    SpaceName='<your-space-name>',
    AppType='Canvas', 
    AppName='default'  
)
```

------
#### [ AWS CLI ]

下列範例說明如何使用 AWS CLI `create-app`方法建立新的 Canvas 應用程式。請務必指定這些參數：
+ `DomainId`：指定 SageMaker AI 網域的 ID。
+ `SpaceName`：指定您在上一個步驟建立的空間名稱。
+ `AppType`：將此欄位指定為 `Canvas`。
+ `AppName`：指定 `default` 做為應用程式名稱。

```
create-app
--domain-id <your-domain-id>
--space-name <your-space-name>
--app-type Canvas
--app-name default
```

------

您現在應該具有新的 Canvas 應用程式，其會使用自訂 Studio 空間做為應用程式資料的儲存位置。

**重要**  
每當您刪除 Canvas 應用程式 (或登出) 且必須重新建立應用程式時，您必須在 `SpaceName` 欄位中提供您的空間，以確保 Canvas 使用您的空間。

空間會連接到您在空間組態中指定的使用者設定檔。您可以刪除 Canvas 應用程式而不刪除空間，而且存放在空間中的資料仍會保留。只有在您刪除使用者設定檔或直接刪除空間時，才會刪除存放在您空間中的資料。

# 授予您的使用者建立自訂影像和文字預測模型的許可
<a name="canvas-set-up-cv-nlp"></a>

**重要**  
允許 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 建立 Amazon SageMaker 資源的自訂 IAM 政策也必須授與許可，才能將標籤新增至這些資源。需要將標籤新增至資源的許可，因為 Studio 和 Studio Classic 會自動標記它們建立的任何資源。如果 IAM 政策允許 Studio 和 Studio Classic 建立資源，但不允許標記，則在嘗試建立資源時可能會發生 "AccessDenied" 錯誤。如需詳細資訊，請參閱[提供標記 SageMaker AI 資源的許可](security_iam_id-based-policy-examples.md#grant-tagging-permissions)。  
提供許可來建立 SageMaker 資源的 [AWS Amazon SageMaker AI 的 受管政策](security-iam-awsmanpol.md) 已包含建立這些資源時新增標籤的許可。

在 Amazon SageMaker Canvas 中，您可以建立[自訂模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)以滿足您的特定業務需求。這些自訂模型類型中的兩個是單標籤圖像預測和多類別文字預測。建立這些模型類型的許可包含在稱為 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) 的 AWS Identity and Access Management (IAM) 政策中，如果您保持[開啟 Canvas 基本許可](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)，SageMaker AI 預設會連接至使用者的 IAM 執行角色。如果您使用自訂 IAM 組態，則必須明確地將許可新增至使用者的 IAM 執行角色，以便他們能夠建立自訂映像和文字預測模型類型。若要授予建立影像和文字預測模型的必要許可，請閱讀以下章節，瞭解如何將最低許可政策連接至您的角色。

若要將許可新增至使用者的 IAM 角色，請執行下列動作：

1. 前往 [IAM 主控台](https://console.aws.amazon.com/iamv2)。

1. 選擇**角色**。

1. 在搜尋方塊中，依據名稱搜尋使用者的 IAM 角色並加以選取。

1. 在使用者角色頁面的**許可**下，選擇**新增許可**。

1. 選擇**建立內嵌政策**。

1. 選取 JSON 索引標籤，然後將下列最低許可政策貼到編輯器。

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sagemaker:CreateAutoMLJobV2",
                   "sagemaker:DescribeAutoMLJobV2"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 選擇**檢閱政策**。

1. 輸入政策的**名稱**。

1. 選擇**建立政策**。

如需 AWS 受管政策的詳細資訊，請參閱《*IAM 使用者指南*》中的[受管政策和內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)。

# 授予使用者在 Canvas 中使用 Amazon Bedrock 和生成式 AI 功能的許可
<a name="canvas-fine-tuning-permissions"></a>

Amazon SageMaker Canvas 中的生成式 AI 功能採用 Amazon Bedrock 基礎模型技術，這些模型是大型語言模型 (LLM)，能夠了解和產生類似人類的文字。此頁面描述如何授予 SageMaker Canvas 中下列功能所需的許可：
+ [與 Amazon Bedrock 模型聊天並進行比較](canvas-fm-chat.md)：透過 SageMaker Canvas 存取 Amazon Bedrock 模型並開始與其對話聊天。
+ [使用 Data Wrangler 中的聊天功能進行資料準備](canvas-chat-for-data-prep.md)：使用自然語言來探索、視覺化和轉換您的資料。此功能採用 Anthropic Claude 2 技術。
+ [微調 Amazon Bedrock 基礎模型](canvas-fm-chat-fine-tune.md)：根據您自己的資料微調 Amazon Bedrock 基礎模型，以接收自訂回應。

若要使用這些功能，您必須先請求存取您想要使用的特定 Amazon Bedrock 模型。然後，將必要的 AWS IAM 許可和與 Amazon Bedrock 的信任關係新增至使用者的執行角色。若要將許可授予角色，您可以選擇下列其中一種方法：
+ 建立新的 Amazon SageMaker AI 網域或使用者設定檔，並開啟 Amazon Bedrock 許可。如需詳細資訊，請參閱[Amazon Sagemaker Canvas 使用入門](canvas-getting-started.md)。
+ 編輯現有 Amazon SageMaker AI 網域或使用者設定檔的設定。
+ 手動將許可和信任關係新增至網域或使用者的 IAM 角色。

## 步驟 1：新增 Amazon Bedrock 模型存取
<a name="canvas-bedrock-access"></a>

預設不會授予 Amazon Bedrock 模型的存取權，因此您必須前往 Amazon Bedrock 主控台，請求存取您 AWS 帳戶的模型。

若要了解如何請求存取特定 Amazon Bedrock 模型，請在《Amazon Bedrock 使用者指南》**中的頁面[管理對 Amazon Bedrock 基礎模型的存取](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)上遵循程序來**新增模型存取**。

## 步驟 2：將許可授予使用者的 IAM 角色
<a name="canvas-bedrock-iam-permissions"></a>

設定 Amazon SageMaker AI 網域或使用者設定檔時，使用者的 IAM 執行角色必須連接 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 政策，以及與 Amazon Bedrock 具有信任關係，以便您的使用者可以從 SageMaker Canvas 存取 Amazon Bedrock 模型。

您可以修改網域設定，並建立新的執行角色 (SageMaker AI 會為您將所需的許可連接至其中) 或指定現有的角色。

或者，您可以透過 IAM 主控台手動修改現有 IAM 角色的許可。

兩種方法如下節所述。

### 透過網域設定授予許可
<a name="canvas-fine-tuning-permissions-console"></a>

您可以編輯網域或使用者設定檔設定，以開啟 **Canvas 即用型模型組態**設定，並指定 Amazon Bedrock 角色。

若要編輯網域設定並授予網域中 Canvas 使用者存取 Amazon Bedrock 模型的權限，請執行下列動作：

1. 前往位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中選擇 **Domains** (網域)。

1. 從網域清單中選擇您的網域。

1. 選擇**應用程式組態**索引標籤。

1. 在 **Canvas** 區段中，選擇**編輯**。

1. **編輯 Canvas 設定**頁面隨即開啟。(選用) 針對 **Canvas 即用型模型組態**區段，請執行下列動作：

   1. 開啟**啟用 Canvas 即用型模型選項**。

   1. 針對 **Amazon Bedrock 角色**，選取**建立並使用新的執行角色**來建立新的 IAM 執行角色，該角色已連接 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 政策，並與 Amazon Bedrock 具有信任關係。當您存取 Amazon Bedrock 模型、使用聊天進行資料準備功能，或在 Canvas 中微調 Amazon Bedrock 模型時，Amazon Bedrock 會擔任此 IAM 角色。如果您已有具有信任關係的執行角色，請選取**使用現有的執行角色**，然後從下拉式清單中選擇您的角色。

1. 選擇**提交**來儲存您的變更。

您的使用者現在應具備存取 Amazon Bedrock 模型、使用聊天進行資料準備功能，以及在 Canvas 中微調 Amazon Bedrock 模型所需的許可。

您可以使用上述相同程序來編輯個別使用者的設定，但要從網域頁面進入個別使用者的設定檔，並改為編輯使用者設定。授予個別使用者的許可不適用於網域中的其他使用者，而透過網域設定授予的許可則適用於網域中的所有使用者設定檔。

如需如何編輯網域設定的指示，請參閱[檢視和編輯網域](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view-edit.html)。

### 透過 IAM 手動授予許可
<a name="canvas-fine-tuning-permissions-manual"></a>

您可以手動授予使用者存取和微調 Canvas 中 Amazon Bedrock 模型的許可，方法是將許可新增至為網域或使用者設定檔指定的 IAM 角色。IAM 角色必須連接 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 政策，並與 Amazon Bedrock 具有信任關係。

下節說明如何將政策連接至您的 IAM 角色，並與 Amazon Bedrock 建立信任關係。

首先，記下您網域或使用者設定檔的 IAM 角色。請注意，授予個別使用者的許可不適用於網域中的其他使用者，而透過網域授予的許可則適用於網域中的所有使用者設定檔。

若要設定 IAM 角色並授予在 Canvas 中微調基礎模型的許可，請執行下列動作：

1. 移至 IAM 主控台 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左側導覽窗格中，選擇 **Roles** (角色)。

1. 從角色清單中依名稱搜尋使用者的 IAM 角色，然後加以選取。

1. 在 **Permissions (許可)** 標籤上，選擇 **Add permissions (新增許可)**。在下拉式清單中，選擇**連接政策**。

1. 搜尋 `AmazonSageMakerCanvasBedrockAccess` 策略並將其選取。

1. 選擇**新增許可**。

1. 回到 IAM 角色的頁面，選擇**信任關係**索引標籤。

1. 選擇**編輯信任政策**。

1. 在政策編輯器中，尋找右側面板中的**新增主體選項**，然後選擇**新增**。

1. 在對話方塊中，針對**主體類型**，選取**AWS 服務**。

1. 針對 **ARN**，輸入 **bedrock.amazonaws.com**。

1. 選擇**新增主體**。

1. 選擇**更新政策**。

您現在應有一個 IAM 角色，連接 [AmazonSageMakerCanvasBedrockAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasBedrockAccess.html) 政策並與 Amazon Bedrock 具有信任關係。如需有關 AWS 受管政策的資訊，請參閱《*IAM 使用者指南*》中的 [受管政策和內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)。

# 為您的使用者更新 SageMaker Canvas
<a name="canvas-update"></a>

您可以使用者或 IT 管理員身分更新至最新版本的 Amazon SageMaker Canvas。您可以一次為單一使用者更新 Amazon SageMaker Canvas。

若要更新 Amazon SageMaker Canvas 應用程式，您必須刪除先前的版本。

**重要**  
刪除舊版 Amazon SageMaker Canvas 並不會刪除使用者已建立的資料或模型。

使用下列程序登入 AWS、開啟 Amazon SageMaker AI 網域，以及更新 Amazon SageMaker Canvas。使用者可以在重新登入時開始使用 SageMaker Canvas 應用程式。

1. 在 [Amazon SageMaker 執行時期](https://console.aws.amazon.com/sagemaker/)登入 Amazon SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 在**網域**頁面上，選擇您的網域。

1. 從**使用者設定檔**清單中，選擇使用者設定檔。

1. 對於**應用程式**清單，找到 Canvas 應用程式 (**應用程式類型**顯示 **Canvas**)，然後選擇**刪除應用程式**。

1. 完成對話方塊，然後選擇**確認動作**。

下列影像顯示使用者設定檔頁面，並反白顯示上述程序中的**刪除應用程式**動作。

![\[使用者設定檔頁面的螢幕擷取畫面，標示刪除應用程式動作。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-update-app-1.png)


# 請求提高配額
<a name="canvas-requesting-quota-increases"></a>

您的使用者可能會使用超過配額所指定數量 AWS 的資源。如果您的使用者受到資源限制，並在 SageMaker Canvas 中遇到錯誤，您可以為他們請求增加配額。

如需 SageMaker AI 配額以及如何請求增加配額的詳細資訊，請參閱[配額](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html#regions-quotas-quotas)。

Amazon SageMaker Canvas 使用下列服務來處理使用者的請求：
+ Amazon SageMaker Autopilot
+ Amazon SageMaker Studio Classic 網域

如需 SageMaker Canvas 操作的可用配額清單，請參閱 [Amazon SageMaker AI 端點和配額](https://docs.aws.amazon.com//general/latest/gr/sagemaker.html)。

## 要求增加執行個體以建立自訂模型
<a name="canvas-requesting-quota-increases-instances"></a>

建立自訂模型時，如果您在建置後分析期間遇到錯誤，告訴您增加 `ml.m5.2xlarge` 執行個體配額，請使用下列資訊來解決問題。

您必須將`ml.m5.2xlarge`執行個體類型的 SageMaker AI 託管端點配額提高為 AWS 帳戶中的非零值。建立模型後，SageMaker Canvas 會在 SageMaker AI 託管端點上託管模型，並使用端點來產生建置後分析。如果您沒有將 `ml.m5.2xlarge` 執行個體的預設帳戶配額增加為 0，SageMaker Canvas 將無法完成此步驟，並在建置後分析期間產生錯誤。

如需增加配額的程序，請參閱《Service Quotas 使用者指南》**中的[請求增加配額](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。

# 授予使用者匯入 Amazon Redshift 資料的許可
<a name="canvas-redshift-permissions"></a>

您的使用者可能已將資料集儲存在 Amazon Redshift 中。在使用者可以將資料從 Amazon Redshift 匯入 SageMaker Canvas 之前，您必須先將 `AmazonRedshiftFullAccess` 受管政策新增至您用於使用者設定檔的 IAM 執行角色，並將 Amazon Redshift 做為服務主體新增至角色的信任政策。您也必須將 IAM 執行角色與 Amazon Redshift 叢集建立關聯。完成以下各節中的程序，為您的使用者提供匯入 Amazon Redshift 資料所需的許可。

## 將 Amazon Redshift 許可新增至 IAM 角色
<a name="canvas-redshift-permissions-iam-role"></a>

您必須將 Amazon Redshift 許可授予使用者設定檔中指定的 IAM 角色。

若要將 `AmazonRedshiftFullAccess` 政策新增至使用者的 IAM 角色，請執行以下動作。

1. 登入 IAM 主控台，網址為 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 選擇**角色**。

1. 在搜尋方塊中，依據名稱搜尋使用者的 IAM 角色並加以選取。

1. 在使用者角色頁面的**許可**下，選擇**新增許可**。

1. 選擇**連接政策**。

1. 搜尋`AmazonRedshiftFullAccess`受管的策略並選取。

1. 選擇**連接政策**以將政策連接到角色。

連接政策之後，角色的**許可**區段現在應包含 `AmazonRedshiftFullAccess`。

若要將 Amazon Redshift 做為服務主體新增至 IAM 角色，請執行下列動作。

1. 在 IAM 角色的同一頁面上，選擇**信任關係**下的**編輯信任政策**。

1. 在**編輯信任政策**編輯器中，更新信任政策以將 Amazon Redshift 新增為服務主體。允許 Amazon Redshift 代表您存取其他 AWS 服務的 IAM 角色具有下列的信任關係：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "redshift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 編輯信任政策之後，請選擇**更新政策**。

您現在應該擁有已連接政策 `AmazonRedshiftFullAccess` 的 IAM 角色，以及與 Amazon Redshift 建立的信任關係，讓使用者能夠將 Amazon Redshift 資料匯入 SageMaker Canvas。如需 AWS 受管政策的詳細資訊，請參閱《*IAM 使用者指南*》中的[受管政策和內嵌政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html)。

## 將 IAM 角色與叢集產生關聯
<a name="canvas-redshift-permissions-cluster"></a>

在 Amazon Redshift 叢集的設定中，您必須在上一節中將授予許可的 IAM 角色建立關聯。

將 IAM 角色與叢集產生關聯。

1. 登入 Amazon Redshift 主控台，網址為 https：//[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)。

1. 在導覽功能表上，選擇**叢集**，然後選擇您要更新的叢集名稱。

1. 在**動作**下拉式功能表中，選擇**管理 IAM 角色**。便會顯示**叢集許可**頁面。

1. 對於**可用的 IAM 角色**，請輸入 ARN 或 IAM 角色的名稱，或從清單中選擇 IAM 角色。

1. 選擇**關聯 IAM 角色**，將其新增至**已關聯 IAM 角色**清單。

1. 選擇**儲存變更** 來將 IAM 角色與叢集建立關聯。

Amazon Redshift 會修改叢集以完成變更，而您先前授予 Amazon Redshift 許可的 IAM 角色現在已與您的 Amazon Redshift 叢集建立關聯。您的使用者現在擁有將 Amazon Redshift 資料匯入 SageMaker Canvas 的必要許可。

# 授予您的使用者將預測傳送至快速的許可
<a name="canvas-quicksight-permissions"></a>

您必須授予 SageMaker Canvas 使用者許可，才能將批次預測傳送至 Quick。在快速中，使用者可以使用資料集建立分析和報告，並準備儀表板來共用其結果。如需有關將預測傳送至 QuickSight 進行分析的詳細資訊，請參閱[將預測傳送至 Quick](canvas-send-predictions.md)。

若要授予與 QuickSight 中的使用者共用批次預測的必要許可，您必須將許可政策新增至您用於使用者設定檔的 AWS Identity and Access Management (IAM) 執行角色。以下部分說明如何將最少許可政策連接至您的角色。

**將許可政策新增至您的 IAM 角色**

**若要新增許可政策，請遵循下列程序：**

1. 登入 IAM 主控台，網址為 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 選擇**角色**。

1. 在搜尋方塊中，依據名稱搜尋使用者的 IAM 角色並加以選取。

1. 在使用者角色頁面的**許可**下，選擇**新增許可**。

1. 選擇**建立內嵌政策**。

1. 選取 JSON 索引標籤，然後將下列最低許可政策貼到編輯器。以您自己的 AWS 帳號取代預留位置 `<your-account-number>`。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "quicksight:CreateDataSet",
                   "quicksight:ListUsers",
                   "quicksight:ListNamespaces",
                   "quicksight:CreateDataSource",
                   "quicksight:PassDataSet",
                   "quicksight:PassDataSource"
               ],
               "Resource": [
                   "arn:aws:quicksight:*:111122223333:datasource/*",
                   "arn:aws:quicksight:*:111122223333:user/*",
                   "arn:aws:quicksight:*:111122223333:namespace/*",
                   "arn:aws:quicksight:*:111122223333:dataset/*"
               ]
           }
       ]
   }
   ```

------

1. 選擇**檢閱政策**。

1. 輸入政策的**名稱**。

1. 選擇**建立政策**。

您現在應該在執行角色上連接一個客戶管理的 IAM 政策，以授予 Canvas 使用者必要的許可，以便將批次預測傳送給 QuickSight 中的使用者。

# 應用程式管理
<a name="canvas-manage-apps"></a>

下列各節描述如何管理 SageMaker Canvas 應用程式。您可以從 SageMaker AI 主控台的**網域**區段檢視、刪除或重新啟動應用程式。

**Topics**
+ [檢查是否有作用中的應用程式](canvas-manage-apps-active.md)
+ [刪除應用程式](canvas-manage-apps-delete.md)
+ [重新啟動應用程式](canvas-manage-apps-relaunch.md)

# 檢查是否有作用中的應用程式
<a name="canvas-manage-apps-active"></a>

若要檢查您是否有任何主動執行中的 SageMaker Canvas 應用程式，請使用下列程序。

1. 開啟 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**儀表板**。

1. 在 **LCNC** 區段中，Canvas 有一個資料列，告訴您有多少作用中的應用程式正在執行。選擇數字以檢視應用程式清單。

**狀態**欄會顯示應用程式的狀態，例如**就緒**、**擱置中**或**已刪除**。如果應用程式為**就緒**，則您的 SageMaker Canvas 工作區執行個體處於作用中狀態。您可以從主控台刪除應用程式，也可以重新開啟 Canvas 並登出。

# 刪除應用程式
<a name="canvas-manage-apps-delete"></a>

如果您想要終止 SageMaker Canvas 工作區執行個體，您可以從 SageMaker Canvas 應用程式登出，或從 SageMaker AI 主控台刪除您的應用程式。從您開始使用 SageMaker Canvas 到停止使用時，*工作區執行個體*專供您使用。刪除應用程式只會終止工作區執行個體，並停止工作區執行個體費用。模型和資料集不受影響，但是當您再次啟動應用程式時，快速建置任務會自動重新啟動。

若要透過 AWS 主控台刪除 Canvas 應用程式，請先關閉開啟 Canvas 應用程式的瀏覽器索引標籤。然後，使用下列程序來刪除 SageMaker Canvas 應用程式。

1. 開啟 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 在**網域**頁面上，選擇您的網域。

1. 在**網域詳細資訊**頁面上，選擇**資源**。

1. 在**應用程式**下，尋找應用程式類型欄中顯示 **Canvas** 的應用程式。 ****

1. 選取 Canvas 應用程式旁的核取方塊，然後選擇**停止**。

您現在已成功停止應用程式並終止工作區執行個體。

您也可以從 SageMaker Canvas 應用程式中[登出](canvas-log-out.md)，以終止工作區執行個體。

# 重新啟動應用程式
<a name="canvas-manage-apps-relaunch"></a>

如果您刪除或登出 SageMaker Canvas 應用程式，並想要重新啟動應用程式，請使用下列程序。

1. 導覽至 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在導覽窗格中，選擇 **Canvas**。

1. 在 SageMaker Canvas 登陸頁面的**開始**使用方塊中，從下拉式清單中選取您的使用者設定檔。

1. 選擇**開啟 Canvas **以開啟應用程式。

Canvas SageMaker 開始啟動應用程式。

如果您在先前程序中遇到任何問題，也可以使用下列次要程序。

1. 開啟 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 在**網域**頁面上，選擇您的網域。

1. 在**網域詳細資料**頁面的**使用者設定檔**下，選取您要檢視的 SageMaker Canvas 應用程式的使用者設定檔名稱。

1. 選擇**啟動**，然後從下拉清單中選擇** Canvas**。

Canvas SageMaker 開始啟動應用程式。

# 在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas
<a name="canvas-vpc"></a>

Amazon SageMaker Canvas 應用程式會在 AWS 受管 Amazon Virtual Private Cloud (VPC) 的容器中執行。如果您想要進一步控制對資源的存取，或在沒有公用網際網路存取的情況下執行 SageMaker Canvas，您可以設定 Amazon SageMaker AI 網域和 VPC 設定。在您自己的 VPC 中，您可以設定安全群組 (控制 Amazon EC2 執行個體傳入和傳出流量的虛擬防火牆) 和子網路 (VPC 中的 IP 地址範圍) 等設定。若要進一步了解虛擬私人雲端，請參閱 [Amazon VPC 的運作方式](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html)。

當 SageMaker Canvas 應用程式在 AWS 受管 VPC 中執行時，可以使用網際網路連線或透過客戶受管 VPC 中建立的 VPC 端點 （無需公有網際網路存取） 與其他 AWS 服務互動。SageMaker Canvas 應用程式可透過 Studio Classic 建立的網路介面存取這些 VPC 端點，該介面提供連線至客戶受管 VPC 的能力。SageMaker Canvas 應用程式的預設行為是具有網際網路存取許可。使用網際網路連線時，先前任務的容器會透過網際網路存取 AWS 資源，例如存放訓練資料和模型成品的 Amazon S3 儲存貯體。

但是，如果您有控制資料和工作容器存取的安全性需求，建議您設定 SageMaker Canvas 和 VPC，以便無法透過網際網路存取資料和容器。SageMaker AI 會使用您在為 SageMaker Canvas 設定網域時指定的 VPC 組態設定。

如果您想要在沒有網際網路存取的情況下設定 SageMaker Canvas 應用程式，則必須在登入 [Amazon SageMaker AI 網域](gs-studio-onboard.md)時設定 VPC 設定、設定 VPC 端點並授予必要的 AWS Identity and Access Management 許可。如需在 Amazon SageMaker AI 中設定 VPC 的相關資訊，請參閱[選擇一個 Amazon VPC](onboard-vpc.md)。以下部分描述了如何在沒有公共網際網路存取權的情況下，在 VPC 中執行 SageMaker Canvas。

## 在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas
<a name="canvas-vpc-configure"></a>

您可以透過自己的 VPC AWS ，將流量從 SageMaker Canvas 傳送至其他服務。如果您自己的 VPC 無法存取公用網際網路，而且您已在**僅限 VPC** 模式下設定網域，則 SageMaker Canvas 也將無法存取公用網際網路。這包括所有請求，例如存取 Amazon S3 中的資料集或標準組建的訓練任務，而且請求會透過 VPC 中的 VPC 端點進行，而非公用網際網路。當您加入網域和 [選擇一個 Amazon VPC](onboard-vpc.md) 時，您可以將自己的 VPC 指定為網域的預設 VPC，以及指定所需的安全群組和子網路設定。然後，SageMaker AI 會在您的 VPC 中建立網路介面，讓 SageMaker Canvas 用來存取 VPC 中的 VPC 端點。

請務必使用允許[安全群組內 TCP 流量](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances)的傳入和傳出規則，在 VPC 中設定一或多個安全群組。對於 Jupyter Server 應用程式和 Kernel Gateway 應用程式之間的連接為必要。您必須至少允許存取範圍 `8192-65535` 內的連接埠。另外，請務必為每個使用者設定檔建立不同的安全群組，並從同一個安全群組新增輸入存取。我們不建議針對使用者設定檔重複使用網域層級安全群組。如果網域層級安全群組允許對本身進行輸入存取，則網域中的所有應用程式都可以存取網域中的所有其他應用程式。請注意，安全群組和子網路設定是在您完成加入網域之後設定的。

加入網域時，如果您選擇**僅限公用網際網路**做為網路存取類型，則 VPC 會受 SageMaker AI 管理，並允許網際網路存取。

您可以透過選擇**僅限 VPC** 來變更此行為，以便 SageMaker AI 將所有流量傳送至 SageMaker AI 在您指定的 VPC 中建立的網路介面。選擇此選項時，您必須提供與 SageMaker API 和 SageMaker AI 執行時期通訊所需的子網路、安全群組和 VPC 端點，以及 SageMaker Canvas 使用的各種 AWS 服務 (例如 Amazon S3 和 Amazon CloudWatch)。請注意，您只能從與您的 VPC 位於同一區域的 Amazon S3 儲存貯體匯入資料。

下列程序顯示如何設定這些設定以在沒有網際網路的情況下使用 SageMaker Canvas。

### 步驟 1：加入 Amazon SageMaker AI 網域
<a name="canvas-vpc-configure-onboard"></a>

若要將 SageMaker Canvas 流量傳送到您自己 VPC 中的網路介面，而不是透過網際網路，請指定您要在加入 [Amazon SageMaker AI 網域](gs-studio-onboard.md)時使用的 VPC。您還必須在 VPC 中至少指定兩個 SageMaker AI 可以使用的子網路。選擇**標準設定**，並在設定網域的**網路和儲存區段**時執行下列程序。

1. 選擇您想要的 **VPC**。

1. 選擇兩個或多個**子網路**。如果您未指定子網路，SageMaker AI 會使用 VPC 中的所有子網路。

1. 選擇一或多個**安全群組**。

1. 選擇**僅限 VPC**，在託管 SageMaker Canvas 的 AWS 受管 VPC 中關閉直接網際網路存取。

停用網際網路存取後，請完成加入程序以設定您的網域。如需 Amazon SageMaker AI 網域 VPC 設定的詳細資訊，請參閱[選擇一個 Amazon VPC](onboard-vpc.md)。

### 步驟 2：設定 VPC 端點和存取
<a name="canvas-vpc-configure-endpoints"></a>

**注意**  
若要在您自己的 VPC 中設定 Canvas，您必須為虛擬私人 VPC 端點啟用私人 DNS 主機名稱。如需詳細資訊，請參閱[透過 VPC 介面端點連線至 SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/interface-vpc-endpoint.html)。

SageMaker Canvas 只會存取其他服務 AWS 來管理和存放其功能的資料。例如，如果您的使用者存取 Amazon Redshift 資料庫，它就會連線到 Amazon Redshift。它可以使用網際網路連線或 VPC 端點連線到 Amazon Redshift 等 AWS 服務。如果您想要設定從 VPC 到不使用公有網際網路之 AWS 服務的連線，請使用 VPC 端點。

VPC 端點會建立 AWS 服務的私有連線，該服務使用與公有網際網路隔離的聯網路徑。例如，如果您使用自己的 VPC 端點設定對 Amazon S3 的存取權，則 SageMaker Canvas 應用程式可以透過 VPC 擬私人雲端中的網路介面，然後透過連線到 Amazon S3 的 VPC 端點存取 Amazon S3。SageMaker Canvas 和 Amazon S3 之間的通訊是私有的。

如需設定您的 VPC 端點的更多相關資訊，請參閱 [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html)。如果您在 Canvas 中搭配 VPC 使用 Amazon Bedrock 模型，有關控制資料存取的更多相關資訊，請參閱 *Amazon Bedrock 使用者指南*中的[使用 VPC 保護工作](https://docs.aws.amazon.com/bedrock/latest/userguide/usingVPC.html#configureVPC)。

以下是您可以與 SageMaker Canvas 搭配使用的每個服務的 VPC 端點：


| 服務 | Endpoint | 端點類型 | 
| --- | --- | --- | 
|  AWS Application Auto Scaling  |  com.amazonaws.*Region*.application-autoscaling  | 介面 | 
|  Amazon Athena  |  com.amazonaws.*Region*.athena  | 介面 | 
|  Amazon SageMaker AI  |  com.amazonaws.*Region*.sagemaker.api com.amazonaws.*Region*.sagemaker.runtime com.amazonaws.*Region*.notebook  | 介面 | 
|  Amazon SageMaker AI 資料科學助理  |  com.amazonaws.*Region*.sagemaker-data-science-assistant  | 介面 | 
|  AWS Security Token Service  |  com.amazonaws.*Region*.sts  | 介面 | 
|  Amazon Elastic Container Registry (Amazon ECR)  |  com.amazonaws.*Region*.ecr.api com.amazonaws.*Region*.ecr.dkr  | 介面 | 
|  Amazon Elastic Compute Cloud (Amazon EC2)  |  com.amazonaws.*Region*.ec2  | 介面 | 
|  Amazon Simple Storage Service (Amazon S3)  |  com.amazonaws.*Region*.s3  | 閘道 | 
|  Amazon Redshift  |  com.amazonaws.*Region*.redshift-data  | 介面 | 
|  AWS Secrets Manager  |  com.amazonaws.*Region*.secretsmanager  | 介面 | 
|  AWS Systems Manager  |  com.amazonaws.*Region*.ssm  | 介面 | 
|  Amazon CloudWatch  |  com.amazonaws.*Region*.monitoring  | 介面 | 
|  Amazon CloudWatch Logs  |  com.amazonaws.*Region*.logs  | 介面 | 
|  Amazon Forecast  |  com.amazonaws.*Region*.forecast com.amazonaws.*Region*.forecastquery  | 介面 | 
|  Amazon Textract  |  com.amazonaws.*Region*.textract  | 介面 | 
|  Amazon Comprehend  |  com.amazonaws.*Region*.comprehend  | 介面 | 
|  Amazon Rekognition  |  com.amazonaws.*Region*.rekognition  | 介面 | 
|  AWS Glue  |  com.amazonaws.*Region*.glue  | 介面 | 
|  AWS Application Auto Scaling  |  com.amazonaws.*Region*.application-autoscaling  | 介面 | 
|  Amazon Relational Database Service (Amazon RDS)  |  com.amazonaws.*Region*.rds  | 介面 | 
|  Amazon Bedrock (請參閱資料表後面的備註)  |  com.amazonaws.*Region*.bedrock-runtime  | 介面 | 
|  Amazon Kendra  |  com.amazonaws.*Region*.kendra  | 介面 | 
|  Amazon EMR Serverless  |  com.amazonaws.*Region*.emr-serverless  | 介面 | 
|  Amazon Q Developer (請參閱資料表後面的備註)  |  com.amazonaws.*Region*.q  | 介面 | 

**注意**  
Amazon Q Developer VPC 端點目前僅適用於美國東部 (維吉尼亞北部) 區域。若要從其他區域連線至其中，您可以根據您的安全性和基礎設施喜好設定，選擇下列其中一個選項：  
**設定 NAT 閘道** 在 VPC 的私有子網路中設定 NAT 閘道，以啟用 Q Developer 端點的網際網路連線。如需詳細資訊，請參閱[在 VPC 私有子網路中設定 NAT 閘道](https://repost.aws/knowledge-center/nat-gateway-vpc-private-subnet)。
**啟用跨區域 VPC 端點存取。**為 Q Developer 設定跨區域 VPC 端點存取。使用此選項可安全地連線，而不需要網際網路存取。如需詳細資訊，請參閱[設定跨區域 VPC 端點存取](https://repost.aws/knowledge-center/vpc-endpoints-cross-region-aws-services)。

**注意**  
對於 Amazon Bedrock，介面端點服務名稱 `com.amazonaws.Region.bedrock` 已被棄用。使用上表中列出的服務名稱建立新的 VPC 端點。  
此外，您無法在沒有網際網路存取的情況下，從 Canvas VPC 微調基礎模型。這是因為 Amazon Bedrock 不支援 VPC 端點用於模型自訂 API。若要進一步了解如何在 Canvas 中微調基礎模型，請參閱[微調基礎模型](canvas-fm-chat-fine-tune.md)。

您還必須為 Amazon S3 新增端點政策，以控制對 VPC 端點的 AWS 主體存取。如需如何檢查 VPC 端點政策的詳細資訊，請參閱[使用端點政策控制對 VPC 端點的存取](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)。

以下是兩個您可以使用的 VPC 端點政策。如果您只想要授予 Canvas 基本功能的存取權，例如匯入資料和建立模型，請使用第一個政策。如果您想要授予 Canvas 中其他[生成式 AI 功能](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat.html)的存取權，請使用第二個政策。

------
#### [ Basic VPC endpoint policy ]

下列政策會授予必要的 VPC 端點存取權，讓您可在 Canvas 中進行基本操作。

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------
#### [ Generative AI VPC endpoint policy ]

下列政策會授予必要的 VPC 端點存取權，讓您可在 Canvas 中進行基本操作，以及使用生成式 AI 基礎模型。

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:CreateBucket",
                "s3:GetBucketCors",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*",
                "arn:aws:s3:::*fmeval/datasets*",
                "arn:aws:s3:::*jumpstart-cache-prod*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        }
```

------

### 步驟 3：授予 IAM 許可
<a name="canvas-vpc-configure-permissions"></a>

SageMaker Canvas 使用者必須擁有必要的 AWS Identity and Access Management 許可，才能允許連線至 VPC 端點。您授予許可的 IAM 角色必須與您在加入 Amazon SageMaker AI 網域時所使用的角色相同。您可以將 SageMaker AI 受管 `AmazonSageMakerFullAccess` 政策連接到使用者的 IAM 角色，以授予該使用者必要許可。如果您需要更嚴格的 IAM 許可並改用自訂政策，請將 `ec2:DescribeVpcEndpointServices` 許可授予使用者角色。SageMaker Canvas 需要這些許可，才能驗證標準建置工作所需的 VPC 端點是否存在。如果偵測到這些 VPC 端點，則依預設會在您的 VPC 中執行標準建置工作。否則，它們將在預設 AWS 受管 VPC 中執行。

如需有關將 `AmazonSageMakerFullAccess` IAM 政策連接至使用者 IAM 角色的指示，請參閱[新增與移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

若要授予使用者的 IAM 角色詳細的 `ec2:DescribeVpcEndpointServices` 許可，請遵循下列程序。

1. 登入 AWS 管理主控台 並開啟 [IAM 主控台](https://console.aws.amazon.com/iam/)。

1. 在導覽窗格中，選擇**角色**。

1. 在清單中，選擇您要授予許可的角色名稱。

1. 選擇**許可**索引標籤標籤。

1. 選擇**新增許可**，然後選擇**建立內嵌政策**。

1. 選擇 **JSON** 索引標籤，然後輸入下列授予 `ec2:DescribeVpcEndpointServices` 許可的政策：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "ec2:DescribeVpcEndpointServices",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 選擇**檢閱政策**然後輸入政策的**名稱** (例如 `VPCEndpointPermissions`)。

1. 選擇**建立政策**。

使用者的 IAM 角色現在應具有存取您的 VPC 中設定的 VPC 端點的許可。

### (選擇性) 步驟 4：覆寫特定使用者的安全群組設定
<a name="canvas-vpc-configure-override"></a>

如果您是管理員，則可能希望不同的使用者擁有不同的 VPC 設定或使用者特定的 VPC 設定。當您覆寫特定使用者的預設 VPC 安全群組設定時，這些設定會傳遞至該使用者的 SageMaker Canvas 應用程式。

當您在 Studio Classic 中設定新的使用者設定檔時，您可以覆寫特定使用者在您的 VPC 中可存取的安全群組。您可以使用 [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) SageMaker API 呼叫 (或搭配 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) 使用[ create\$1user\$1profile](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_user_profile))，然後在 `UserSettings` 中，您可以為使用者指定 `SecurityGroups`。

# 使用 OAuth 設定與資料來源的連線
<a name="canvas-setting-up-oauth"></a>

以下章節說明您必須採取的步驟，以便設定連接至 SageMaker Canvas 資料來源的 OAuth 連線。[OAuth](https://oauth.net/2/) 是一種常見的驗證平台，用於在不共享密碼的情況下授予資源存取許可。您可以使用 OAuth 從 Canvas 快速連接到資料，並將資料匯入以構建模型。Canvas 目前支援 Snowflake 與 Salesforce Data Cloud。

**注意**  
您僅能針對每個資料來源建立一個 OAuth 連線。

## 針對 Salesforce Data Cloud 設定 OAuth
<a name="canvas-setting-up-oauth-salesforce"></a>

若要針對 Salesforce Data Cloud 設定 OAuth，請遵循下列一般步驟：

1. 登入至 Salesforce Data Cloud。

1. 在 Salesforce Data Cloud 中建立新的應用程式連線，然後執行下列動作：

   1. 啟用 OAuth 設定。

   1. 當系統提示您輸入回呼 URL (或存取資料的資源 URL) 時，請指定 Canvas 應用程式的 URL。Canvas 應用程式 URL 遵循以下格式：`https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default`

   1. 複製消費者金鑰和機密。

   1. 複製您的授權網址和權杖 URL。

如需有關在 Salesforce Data Cloud 中執行前面任務的詳細說明，請參閱 Data Wrangler 說明文件中的 [從 Salesforce 資料雲端匯入資料。](data-wrangler-import.md#data-wrangler-import-salesforce-data-cloud)，有關從 Salesforce Data Cloud 端匯入資料的說明文件。

從 Salesforce Data Cloud 啟用存取並取得連線資訊後，您必須建立 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 秘密來儲存資訊，並將其新增至 Amazon SageMaker AI 網域或使用者設定檔。請注意，您可以在網域和使用者設定檔中新增密碼，但 Canvas 會先在使用者設定檔中尋找密碼。

若要將密碼新增至您的網域或使用者設定檔，請執行下列動作：

1. 前往 [Amazon SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker)。

1. 在導覽窗格中選擇**網域**。

1. 從**網域**清單中選擇您的網域。

   1. 如果您要將機密新增至網域，請執行下列動作：

      1. 選擇網域。

      1. 在**網域設定**頁面上，選擇**網域設定**索引標籤。

      1. 選擇**編輯**。

   1. 若要將機密新增至您的使用者設定檔，請執行下列動作：

      1. 選擇使用者的網域。

      1. 在**網域設定**頁面上，選擇使用者設定檔。

      1. 在**使用者詳細資訊**頁面選擇**編輯**。

1. 在導覽窗格中，選擇** Canvas 設定**。

1. 針對 **OAuth 設定**，請選擇**新增 OAuth 組態**。

1. 針對**資料來源**，請選取 **Salesforce Data Cloud**。

1. 針對**機密設定**，選取**建立新的機密**。或者，如果您已使用登入資料建立 AWS Secrets Manager 秘密，請輸入秘密的 ARN。若要建立新的機密，請執行下列動作：

   1. 針對**身分提供者**，選取 **SALESFORCE**。

   1. 針對**用戶端 ID**、**用戶端機密**、**授權 URL** 和**權杖 URL**，請輸入您在上一個程序中從 Salesforce Data Cloud 收集的所有資訊。

1. 儲存您的網域或使用者設定檔設定。

您現在應該可以從 Canvas 建立與 Salesforce Data Cloud 的連線以取用資料。

## 為 Snowflake 設定 OAuth
<a name="canvas-setting-up-oauth-snowflake"></a>

若要設定 Snowflake 的驗證，Canvas 支援您可以使用的身分提供者，而不必讓使用者直接在 Canvas 中輸入憑證。

以下是 Canvas 支援的身分提供者的 Snowflake 文件連結：
+ [Azure AD](https://docs.snowflake.com/en/user-guide/oauth-azure.html)
+ [Okta](https://docs.snowflake.com/en/user-guide/oauth-okta.html)
+ [Ping Federate](https://docs.snowflake.com/en/user-guide/oauth-pingfed.html)

下列步驟說明您必須進行的一般程序：如需有關執行這些步驟的更多詳細說明，您可以參閱 Data Wrangler 說明文件中的[設定 Snowflake OAuth 存取權](data-wrangler-import.md#data-wrangler-snowflake-oauth-setup)區段，獲得有關從 Snowflake 匯入資料指示。

若要設定 Snowflake 的 OAuth，請執行下列動作：

1. 將 Canvas 註冊為身分提供者的應用程式。此動作需要指定一個重新導向至 Canvas 的 URL，且應該為以下格式：`https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default`

1. 在身分提供者中建立建一個伺服器或 API，其會把 OAuth 權杖發送到 Canvas，以便 Canvas 可以存取 Snowflake。在設定伺服器時請使用授權碼並重新整理權杖授予類型、指定存取權杖生命週期，並設定重新整理權杖政策。此外，在 Snowflake 的外部 OAuth 安全性整合中啟用 `external_oauth_any_role_mode`。

1. 從身分提供者獲得以下資訊：權杖 URL、授權 URL、用戶端 ID、用戶端機密。針對 Azure AD，也會擷取 OAuth 範圍憑證。

1. 將上一個步驟中擷取的資訊存放在 AWS Secrets Manager 秘密中。

   1. 針對 Okta 和 Ping Federate，機密格式應該如下所示：

      ```
      {"token_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/token",
      "client_id":"example-client-id", "client_secret":"example-client-secret", "identity_provider":"OKTA"|"PING_FEDERATE",
      "authorization_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/authorize"}
      ```

   1. 針對 Azure AD，機密也應該包含 OAuth 範圍憑證為 `datasource_oauth_scope` 欄位。

設定身分提供者和秘密後，您必須建立 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 秘密來儲存資訊，並將其新增至 Amazon SageMaker AI 網域或使用者設定檔。請注意，您可以在網域和使用者設定檔中新增密碼，但 Canvas 會先在使用者設定檔中尋找密碼。

若要將密碼新增至您的網域或使用者設定檔，請執行下列動作：

1. 前往 [Amazon SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker)。

1. 在導覽窗格中選擇**網域**。

1. 從**網域**清單中選擇您的網域。

   1. 如果您要將機密新增至網域，請執行下列動作：

      1. 選擇網域。

      1. 在**網域設定**頁面上，選擇**網域設定**索引標籤。

      1. 選擇**編輯**。

   1. 若要將機密新增至您的使用者設定檔，請執行下列動作：

      1. 選擇使用者的網域。

      1. 在**網域設定**頁面上，選擇使用者設定檔。

      1. 在**使用者詳細資訊**頁面選擇**編輯**。

1. 在導覽窗格中，選擇** Canvas 設定**。

1. 針對 **OAuth 設定**，請選擇**新增 OAuth 組態**。

1. 針對**資料來源**，請選取** Snowflake**。

1. 針對**機密設定**，選取**建立新的機密**。或者，如果您已使用登入資料建立 AWS Secrets Manager 秘密，請輸入秘密的 ARN。若要建立新機密，請執行下列動作：

   1. 針對**身分提供者**，選取 **SNOWFLAKE**。

   1. 對於**用戶端 ID**、**用戶端機密**、**授權 URL** 和**權杖 URL**，請輸入您在上一個程序中從身分提供者收集的所有資訊。

1. 儲存您的網域或使用者設定檔設定。

您現在應該可以從 Canvas 建立與 Snowflake 的連線以取用資料。

# 使用 Amazon Q Developer 解決 Canvas 中 ML 問題的生成式 AI 輔助
<a name="canvas-q"></a>

使用 Amazon SageMaker Canvas 時，您可以使用自然語言與 Amazon Q Developer 聊天，以利用生成式 AI 並解決問題。Q Developer 是一個助理，可協助您將目標轉換為機器學習 (ML) 任務，並描述 ML 工作流程的每個步驟。Q Developer 可協助 Canvas 使用者減少利用 ML 並為組織做出資料驅動型決策所需的時間、精力和資料科學專業知識。

透過與 Q Developer 的對話，您可以在 Canvas 中啟動動作，例如準備資料、建置 ML 模型、進行預測，以及部署模型。Q Developer 會針對後續步驟提出建議，並在您完成每個步驟時為您提供內容。它也會通知您結果；例如，Canvas 可以根據最佳實務轉換資料集，而且 Q Developer 可以列出已使用的轉換及其原因。

Amazon Q Developer 可在 SageMaker Canvas 中同時免費提供給 Amazon Q Developer 專業方案和免費方案使用者。不過，標準費用適用於 SageMaker Canvas 工作區執行個體等資源，以及用於建置或部署模型的任何資源。如需定價的詳細資訊，請參閱 [Amazon SageMaker Canvas 定價](https://aws.amazon.com/sagemaker-ai/canvas/pricing/)。

Amazon Q 的使用是根據 [MIT 的 0 授權](https://github.com/aws/mit-0)向您授權，並受 [AWS 負責任的 AI 政策](https://aws.amazon.com/machine-learning/responsible-ai/policy/)約束。當您從美國境外使用 Q Developer 時，Q Developer 會跨美國區域處理資料。如需詳細資訊，請參閱 [Amazon Q Developer 中的跨區域推論](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/cross-region-inference.html)。

**注意**  
無論您使用免費方案還是專業方案訂閱，SageMaker Canvas 中的 Amazon Q Developer 都不會使用使用者內容來改善服務。基於服務遙測目的，Q Developer 可能會追蹤您的使用情況，例如提出的問題數量，以及接受還是拒絕建議。此遙測資料不包含個人可識別資訊，例如 IP 位址。

## 運作方式
<a name="canvas-q-how-it-works"></a>

Amazon Q Developer 是採用生成式 AI 技術的助理，適用於 SageMaker Canvas，您可以使用自然語言進行查詢。Q Developer 針對機器學習工作流程的每個步驟提出建議，從而解釋概念，並視需要為您提供選項和更多詳細資訊。您可以使用 Q Developer 來協助處理迴歸、二進制分類和多類別分類使用案例。

例如，若要預測客戶流失，請透過 Q Developer 將歷史客戶流失資訊的資料集上傳至 Canvas。Q Developer 建議適當的 ML 模型類型和步驟，以修正資料集問題、建置模型並進行預測。

**重要**  
Amazon Q Developer 旨在用於討論 SageMaker Canvas 內的機器學習問題。它會引導使用者完成 Canvas 動作，並選擇性地回答有關 AWS 服務的問題。Q Developer 僅以英文處理模型輸入。如需 Amazon Q Developer 使用方式的詳細資訊，請參閱《Amazon Q Developer 使用者指南》**中的 [Amazon Q Developer 功能](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/features.html)。

## 支援的 區域
<a name="canvas-q-regions"></a>

Amazon Q Developer 可在 SageMaker Canvas 中使用，如下所示 AWS 區域：
+ 美國東部 (維吉尼亞北部)
+ 美國東部 (俄亥俄)
+ 美國西部 (奧勒岡)
+ 亞太區域 (孟買)
+ 亞太區域 (首爾)
+ 亞太區域 (新加坡)
+ 亞太地區 (雪梨)
+ 亞太地區 (東京)
+ 歐洲 (法蘭克福)
+ 歐洲 (愛爾蘭)
+ Europe (Paris)

## Canvas 中可用的 Amazon Q Developer 功能
<a name="canvas-q-capabilities"></a>

下列清單摘要說明 Q Developer 可以提供協助的 Canvas 任務：
+ **描述您的目標** - Q Developer 可以建議 ML 模型類型和一般方法來解決您的問題。
+ **匯入和分析資料集** - 告知 Q Developer 您的資料集存放位置，或上傳檔案以將其儲存為 Canvas 資料集。提示 Q Developer 識別資料集的任何問題，例如極端值或缺失值。Q Developer 提供有關資料集的摘要統計資料，並列出任何已識別的問題。

  Q Developer 支援個別資料欄的下列統計資料查詢：
  + 數值欄 - `number of valid values`、`feature type`、`mean`、`median`、`minimum`、`maximum`、`standard deviation`、`25th percentile`、`75th percentile`、`number of outliers`
  + 分類欄 - `number of missing values`、`number of valid values`、`feature type`、`most frequent`、`most frequent category`、`most frequent category count`、`least frequent`、`least frequent category`、`least frequent category count`、`categories`
+ **修正資料集問題** - 提示 Q Developer 使用 Canvas 的資料轉換功能來建立資料集的修訂版本。Canvas 會建立 Data Wrangler 資料流程，並根據資料科學最佳實務套用轉換。如需詳細資訊，請參閱[資料準備](canvas-data-prep.md)。

  如果您想要執行的資料分析或資料準備任務比使用 Q Developer 可以完成的更進階，建議您前往 Data Wrangler 資料流程介面。
+ **訓練模型** - Q Developer 會針對您的問題告訴您建議的 ML 模型類型，以及提議的模型建置組態。您可以使用建議的預設設定來執行快速建置，也可以修改組態並執行標準建置。備妥時，提示 Q Developer 建置您的 Canvas 模型。

  支援所有自訂模型類型。如需模型類型和快速與標準建置的詳細資訊，請參閱[自訂模型的運作方式](canvas-build-model.md)。
+ **評估模型準確性** - 建立模型後，Q Developer 會提供模型如何跨各種指標評分的摘要。這些指標可協助您判斷模型的實用性和準確性。Q Developer 可以詳細說明任何概念或指標。

  若要檢視完整詳細資訊和視覺化，請從聊天或 Canvas 的**我的模型**頁面開啟模型。如需詳細資訊，請參閱[模型評估](canvas-evaluate-model.md)。
+ **取得新資料的預測** - 您可以上傳新的資料集，並提示 Q Developer 協助您開啟 Canvas 的預測功能。

  Q Developer 會在應用程式中開啟新視窗，您可以在其中進行單一預測或使用新資料集進行批次預測。如需詳細資訊，請參閱[使用自訂模型進行預測](canvas-make-predictions.md)。
+ **部署模型** - 若要部署模型進行生產，請要求 Q Developer 協助您透過 Canvas 部署模型。Q Developer 會開啟新視窗，您可以在其中設定部署。

  部署後，檢視部署詳細資訊的位置為 1) Canvas 的**我的模型**頁面上模型的**部署**索引標籤，或 2) **ML Ops** 頁面上的**部署**索引標籤。如需詳細資訊，請參閱[將模型部署到端點](canvas-deploy-model.md)。

## 先決條件
<a name="canvas-q-prereqs"></a>

若要使用 Amazon Q Developer 在 SageMaker Canvas 中建置 ML 模型，請完成下列先決條件：

**設定 Canvas 應用程式**

請確定您已設定 Canvas 應用程式。如需如何設定 Canvas 應用程式的資訊，請參閱[Amazon Sagemaker Canvas 使用入門](canvas-getting-started.md)。

**授予 Q Developer 許可**

若要在使用 Canvas 時存取 Q Developer，您必須將必要的許可連接至用於 SageMaker AI 網域或使用者設定檔的 AWS IAM 角色。您可以透過本節所述的主控台執行此操作。如果您因為使用 主控台方法而遇到任何許可問題，請手動將 AWS 受管政策 [ AmazonSageMakerCanvasSMDataScienceAssistantAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) 連接至 IAM 角色。

網域層級連接的許可適用於網域中的所有使用者設定檔，除非在使用者設定檔層級授予或撤銷個別許可。

------
#### [ SageMaker AI console method ]

您可以透過編輯 SageMaker AI 網域或使用者設定檔設定來授予許可。

若要透過 SageMaker AI 主控台中的網域設定授予許可，請執行下列動作：

1. 開啟 Amazon SageMaker AI 主控台，網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從網域清單中選取您的網域。

1. 在**網域詳細資訊**頁面上，選取**應用程式組態**索引標籤。

1. 在 **Canvas** 區段中，選擇**編輯**。

1. 在**編輯 Canvas 設定**頁面上，前往 **Amazon Q Developer** 區段並執行下列動作：

   1. 開啟**在 SageMaker Canvas 中啟用 Amazon Q Developer 以進行自然語言 ML**，將與 Canvas 中 Q Developer 聊天的許可新增至網域的執行角色。

   1. （選用） 如果您想要詢問 Q **開發人員有關各種問題的一般 AWS 問題，請開啟啟用 Amazon Q 開發人員聊天**功能 AWS 服務 （例如：描述 Athena 的運作方式）。
**注意**  
對 Q Developer 進行一般 AWS 查詢時，您的請求會透過美國東部 （維吉尼亞北部） 進行路由 AWS 區域。若要防止您的資料透過美國東部 (維吉尼亞北部) 進行路由，請關閉**針對一般 AWS 問題啟用 Amazon Q Developer 聊天**切換。

------
#### [ Manual method ]

將 [ AmazonSageMakerCanvasSMDataScienceAssistantAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasSMDataScienceAssistantAccess) 政策連接至用於網域或使用者設定檔的 AWS IAM 角色。如需如何執行此動作的詳細資訊，請參閱《AWS IAM 使用者指南》**中的[新增和移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

------

**(選用) 從 VPC 設定對 Q Developer 的存取**

如果您有一個在沒有公有網際網路存取情況下設定的 VPC，您可以為 Q Developer 新增 VPC 端點。如需詳細資訊，請參閱[在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas](canvas-vpc.md)。

## 開始使用
<a name="canvas-q-get-started"></a>

若要使用 Amazon Q Developer 在 SageMaker Canvas 中建置 ML 模型，請執行下列動作：

1. 開啟您的 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中，選擇 **Amazon Q**。

1. 選擇**開始新的對話**以開啟新的聊天。

當您開始新的聊天時，Q Developer 會提示您陳述問題或提供資料集。

![\[Q Developer 在開始新的聊天時提供給您的問候語。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-greeting.png)


匯入資料後，您可以要求 Q Developer 提供您資料集的摘要統計資料，也可以詢問特定資料欄的相關問題。如需 Q Developer 支援的不同統計資料清單，請參閱上節[Canvas 中可用的 Amazon Q Developer 功能](#canvas-q-capabilities)。下列螢幕擷取畫面顯示要求資料集統計資料的範例，以及產品類別欄中最常見的類別。

![\[聊天對話方塊，要求 Q Developer 提供資料集統計資料和最常用的類別統計資料。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-dataset-statistics.png)


Q Developer 會追蹤您在對話期間匯入或建立的任何 Canvas 成品，例如轉換的資料集和模型。您可以從聊天或其他 Canvas 應用程式索引標籤存取它們。例如，如果 Q Developer 修正資料集中的問題，您可以從下列位置存取新的轉換資料集：
+ Q Developer 聊天介面中的成品側邊欄
+ Canvas 的**資料集**頁面，您可以在其中檢視原始和轉換的資料集。轉換的資料集已將**建置者 Amazon Q** 標籤新增至其中。
+ Canvas 的 **Data Wrangler** 頁面，其中 Q Developer 會為您的資料集建立新的資料流程

下列螢幕擷取畫面顯示聊天側邊欄中的原始資料集和已轉換資料集。

![\[顯示在 Q Developer 聊天側邊欄中的成品，即資料集和已轉換資料集。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-artifacts.png)


當您的資料備妥時，請要求 Q Developer 協助建置 Canvas 模型。Q Developer 可能會提示您確認幾個欄位並檢閱建置組態。如果您使用預設建置組態，則系統會使用快速建置來建置模型。如果您想要自訂建置組態的任何部分，例如選取使用的演算法或變更目標指標，則系統會使用標準建置來建置您的模型。

下列螢幕擷取畫面顯示如何提示 Q Developer 使用幾個提示啟動 Canvas 模型建置。此範例使用預設組態來啟動快速建置。

![\[與 Q Developer 的對話，其中提示使用者開始 Canvas 模型建置。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-training-chat.png)


建置模型後，您可以在聊天中使用自然語言或使用成品側邊欄功能表執行其他動作。例如，您可以檢視模型詳細資訊和指標、進行預測或部署模型。下列螢幕擷取畫面顯示側邊欄，您可以在其中選擇這些額外的選項。

![\[Q Developer 對話省略符號功能表已展開，顯示檢視模型詳細資訊、預測和部署的選項。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/amazon-q-ellipsis-menu.png)


您也可以前往 Canvas 的**我的模型**頁面並選取模型，以執行其中任何動作。從模型的頁面，您可以導覽至**分析**、**預測**和**部署**索引標籤，分別檢視模型指標和視覺化、進行預測，以及管理部署。

# 使用 記錄 Q 開發人員對話 AWS CloudTrail
<a name="canvas-q-cloudtrail"></a>

AWS CloudTrail 是一項服務，可記錄使用者、角色或在 Amazon SageMaker AI AWS 服務 中採取的動作。CloudTrail 會在使用 SageMaker Canvas (無程式碼 ML 介面) 時，擷取您與 Amazon Q Developer (對話式 AI 助理) 互動所產生的 API 呼叫。CloudTrail 資料會顯示請求詳細資訊、請求者的 IP 位址、提出請求者和請求時間。

您與 Q Developer 的互動會以 `SendConversation` API 呼叫的形式傳送至 SageMaker AI 資料科學助理服務，這是 Canvas 在後端利用的內部服務。`SendConversation` API 呼叫的事件來源為 `sagemaker-data-science-assistant.amazonaws.com`。

**注意**  
基於隱私和安全原因，您的對話內容會隱藏在日誌中，在請求和回應元素中顯示為 `HIDDEN_DUE_TO_SECURITY_REASONS`。

若要進一步了解 CloudTrail，請參閱[「*AWS CloudTrail 使用者指南」*](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。若要進一步了解 SageMaker AI 中的 CloudTrail，請參閱[使用 記錄 Amazon SageMaker AI API 呼叫 AWS CloudTrail](logging-using-cloudtrail.md)。

以下是 `SendConversation` API 的範例日誌檔案項目：

```
{
    "eventVersion":"1.10",
    "userIdentity": {
        "type":"AssumedRole",
        "principalId":"AROA123456789EXAMPLE:user-Isengard",
        "arn":"arn:aws:sts::111122223333:assumed-role/Admin/user",
        "accountId":"111122223333",
        "accessKeyId":"ASIAIOSFODNN7EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type":"Role",
                "principalId":"AROA123456789EXAMPLE",
                "arn":"arn:aws:iam::111122223333:role/Admin",
                "accountId":"111122223333",
                "userName":"Admin"
            },
            "attributes": {
                "creationDate":"2024-11-11T22:04:37Z",
                "mfaAuthenticated":"false"
            }
        }
    },
    "eventTime":"2024-11-11T22:09:22Z",
    "eventSource":"sagemaker-data-science-assistant.amazonaws.com",
    "eventName":"SendConversation",
    "awsRegion":"us-west-2",
    "sourceIPAddress":"192.0.2.0",
    "userAgent":"Boto3/1.33.13 md/Botocore#1.33.13 ua/2.0 os/linux#5.10.227-198.884.amzn2int.x86_64 md/arch#x86_64 lang/python#3.7.16 md/pyimpl#CPython cfg/retry-mode#legacy Botocore/1.33.13",
    "requestParameters": {
        "conversation": [
            {
                "utteranceId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
                "utterance":"HIDDEN_DUE_TO_SECURITY_REASONS",
                "timestamp":"Feb 4, 2020, 7:46:29 AM",
                "utteranceType":"User"
            }
        ],
        "utteranceId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
    },
    "responseElements": {
        "responseCode":"CHAT_RESPONSE",
        "conversationId":"1234567890abcdef0",
        "response": {
            "chat": {
                "body":"HIDDEN_DUE_TO_SECURITY_REASONS"
            }
        }
    },
    "requestID":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "eventID":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "readOnly":false,
    "eventType":"AwsApiCall",
    "managementEvent":true,
    "recipientAccountId":"123456789012",
    "eventCategory":"Management",
    "tlsDetails": {
        "tlsVersion":"TLSv1.2",
        "cipherSuite":"ECDHE-RSA-AES128-GCM-SHA256",
        "clientProvidedHostHeader":"gamma.us-west-2.data-science-assistant.sagemaker.aws.dev"
    }
}
```

# 資料匯入
<a name="canvas-importing-data"></a>

Amazon SageMaker Canvas 支援匯入表格式、影像和文件資料。您可以從本機電腦、Amazon S3 和 Amazon Redshift 等 Amazon 服務，以及外部資料來源匯入資料集。從 Amazon S3 匯入資料集時，您可以攜帶任何大小的資料集。使用您匯入的資料集來建置模型並預測其他資料集。

您可以建立自訂模型的每個使用案例都接受不同類型的輸入。例如，如果您要建置單一標籤影像分類模型，則應匯入影像資料。如需有關不同模型類型及其接受資料的更多相關資訊，請參閱[自訂模型的運作方式](canvas-build-model.md)。您可以針對下列資料類型，在 SageMaker Canvas 中匯入資料並建立自訂模型：
+ **表格式** (CSV、Parquet 或資料表)
  + 分類 — 使用分類資料建置 2 和 3 個以上類別預測的自訂分類預測模型。
  + 數字 — 使用數值資料建置自訂的數值預測模型。
  + 文字 — 使用文字資料建置自訂的多類別文字預測模型。
  + 時間序列 — 使用時間序列資料來建置自訂時間序列預測模型。
+ **映像** (JPG 或 PNG) — 使用映像資料建置自訂的單一標籤影像預測模型。
+ **文件** (PDF、JPG、PNG、TIFF) — 僅支援 SageMaker Canvas 即用型模型的文件資料。若要進一步了解可針對文件資料進行預測的即用型模型，請參閱[即用型模型](canvas-ready-to-use-models.md)。

您可以從下列資料來源將資料匯入 Canvas：
+ 本機電腦上的檔案
+ Amazon S3 儲存貯體
+ Amazon Redshift 佈建叢集 (非 Amazon Redshift Serverless)
+ AWS Glue Data Catalog 透過 Amazon Athena
+ Amazon Aurora
+ Amazon Relational Database Service (Amazon RDS)
+ Salesforce Data Cloud
+ Snowflake
+ Databricks、SQLServer、MariaDB 和其他透過 JDBC 連接器的 熱門資料庫
+ 超過 40 個外部軟體 SaaS 平台，例如 SAP OData

如需您可以從中匯入的資料來源完整清單，請參閱下表：


| 來源 | Type | 支援的資料類型 | 
| --- | --- | --- | 
| 本機檔案上傳 | 區域 | 表格式、影像、文件 | 
| Amazon Aurora | Amazon 內部 | 表格式 | 
| Amazon S3 儲存貯體 | Amazon 內部 | 表格式、影像、文件 | 
| Amazon RDS | Amazon 內部 | 表格式 | 
| Amazon Redshift 佈建叢集 (非 Redshift Serverless) | Amazon 內部 | 表格式 | 
| AWS Glue Data Catalog （透過 Amazon Athena) | Amazon 內部 | 表格式 | 
| [Databricks](https://www.databricks.com/) | 外部 | 表格式 | 
| Snowflake | 外部 | 表格式 | 
| [Salesforce Data Cloud](https://www.salesforce.com/products/genie/overview/) | 外部 | 表格式 | 
| sqlserver | 外部 | 表格式 | 
| MySQL | 外部 | 表格式 | 
| PostgreSQL | 外部 | 表格式 | 
| MariaDB | 外部 | 表格式 | 
| [Amplitude](https://docs.aws.amazon.com/appflow/latest/userguide/amplitude.html) | 外部 SaaS 平台 | 表格式 | 
| [CircleCI](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-circleci.html) | 外部 SaaS 平台 | 表格式 | 
| [DocuSign 監控](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-docusign-monitor.html) | 外部 SaaS 平台 | 表格式 | 
| [Domo](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-domo.html) | 外部 SaaS 平台 | 表格式 | 
| [Datadog](https://docs.aws.amazon.com/appflow/latest/userguide/datadog.html) | 外部 SaaS 平台 | 表格式 | 
| [Dynatrace](https://docs.aws.amazon.com/appflow/latest/userguide/dynatrace.html) | 外部 SaaS 平台 | 表格式 | 
| [Facebook 廣告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-ads.html) | 外部 SaaS 平台 | 表格式 | 
| [Facebook 粉絲專頁洞察](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-page-insights.html) | 外部 SaaS 平台 | 表格式 | 
| [Google Ads](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-ads.html) | 外部 SaaS 平台 | 表格式 | 
| [Google Analytics 4](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-analytics-4.html) | 外部 SaaS 平台 | 表格式 | 
| [Google 網站管理員](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-search-console.html) | 外部 SaaS 平台 | 表格式 | 
| [GitHub](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-github.html) | 外部 SaaS 平台 | 表格式 | 
| [GitLab](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-gitlab.html) | 外部 SaaS 平台 | 表格式 | 
| [Infor Nexus](https://docs.aws.amazon.com/appflow/latest/userguide/infor-nexus.html) | 外部 SaaS 平台 | 表格式 | 
| [Instagram 廣告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-instagram-ads.html) | 外部 SaaS 平台 | 表格式 | 
| [Jira Cloud](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-jira-cloud.html) | 外部 SaaS 平台 | 表格式 | 
| [LinkedIn 廣告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-linkedin-ads.html) | 外部 SaaS 平台 | 表格式 | 
| [LinkedIn 廣告](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-linkedin-ads.html) | 外部 SaaS 平台 | 表格式 | 
| [Mailchimp](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-mailchimp.html) | 外部 SaaS 平台 | 表格式 | 
| [Marketo](https://docs.aws.amazon.com/appflow/latest/userguide/marketo.html) | 外部 SaaS 平台 | 表格式 | 
| [Microsoft Teams](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-microsoft-teams.html) | 外部 SaaS 平台 | 表格式 | 
| [Mixpanel](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-mixpanel.html) | 外部 SaaS 平台 | 表格式 | 
| [Okta](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-okta.html) | 外部 SaaS 平台 | 表格式 | 
| [Salesforce](https://docs.aws.amazon.com/appflow/latest/userguide/salesforce.html) | 外部 SaaS 平台 | 表格式 | 
| [Salesforce Marketing Cloud](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-salesforce-marketing-cloud.html) | 外部 SaaS 平台 | 表格式 | 
| [Salesforce Pardot](https://docs.aws.amazon.com/appflow/latest/userguide/pardot.html) | 外部 SaaS 平台 | 表格式 | 
| [SAP OData](https://docs.aws.amazon.com/appflow/latest/userguide/sapodata.html) | 外部 SaaS 平台 | 表格式 | 
| [SendGrid](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-sendgrid.html) | 外部 SaaS 平台 | 表格式 | 
| [ServiceNow](https://docs.aws.amazon.com/appflow/latest/userguide/servicenow.html) | 外部 SaaS 平台 | 表格式 | 
| [Singular](https://docs.aws.amazon.com/appflow/latest/userguide/singular.html) | 外部 SaaS 平台 | 表格式 | 
| [Slack](https://docs.aws.amazon.com/appflow/latest/userguide/slack.html) | 外部 SaaS 平台 | 表格式 | 
| [Stripe](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-stripe.html) | 外部 SaaS 平台 | 表格式 | 
| [Trend Micro](https://docs.aws.amazon.com/appflow/latest/userguide/trend-micro.html) | 外部 SaaS 平台 | 表格式 | 
| [Typeform](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-typeform.html) | 外部 SaaS 平台 | 表格式 | 
| [Veeva](https://docs.aws.amazon.com/appflow/latest/userguide/veeva.html) | 外部 SaaS 平台 | 表格式 | 
| [Zendesk](https://docs.aws.amazon.com/appflow/latest/userguide/zendesk.html) | 外部 SaaS 平台 | 表格式 | 
| [Zendesk Chat](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-chat.html) | 外部 SaaS 平台 | 表格式 | 
| [Zendesk Sell](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-sell.html) | 外部 SaaS 平台 | 表格式 | 
| [Zendesk Sunshine](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-sunshine.html) | 外部 SaaS 平台 | 表格式 | 
| [Zoom Meetings](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zoom.html) | 外部 SaaS 平台 | 表格式 | 

如需有關如何匯入資料和輸入資料需求的資訊，例如影像的檔案大小上限等的指示，請參閱[建立資料集](canvas-import-dataset.md)。

Canvas 也在您的應用程式中提供多個範例資料集，協助您快速入門。若要進一步了解您可以試驗的 SageMaker AI 提供的範例資料集，請參閱[使用範例資料集](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-sample-datasets.html)。

將資料集匯入 Canvas 之後，您可以隨時更新資料集。您可以進行手動更新，也可以設定自動更新資料集的排程。如需詳細資訊，請參閱[更新資料集](canvas-update-dataset.md)。

如需各個資料集類型的更多資訊，請參閱下列章節：

**表格式**

若要從外部資料來源 (例如 Snowflake 資料庫或 SaaS 平台) 匯入資料，您必須在 Canvas 應用程式中驗證並連線至資料來源。如需詳細資訊，請參閱[連線至資料來源](canvas-connecting-external.md)。

如果您想要將大於 5 GB 的資料集從 Amazon S3 匯入至 Canvas，您可以使用 Amazon Athena 從 Amazon S3 查詢和取樣資料，以實現更快的取樣。

在 Canvas 中建立資料集之後，您可以使用 Data Wrangler 的資料準備功能來準備和轉換資料。您可以使用 Data Wrangler 來處理缺失值、轉換您的功能、將多個資料集聯結為單一資料集等。如需詳細資訊，請參閱[資料準備](canvas-data-prep.md)。

**提示**  
只要將資料排列到資料表中，就可以聯結來自各種來源的資料集，例如 Amazon Redshift、Amazon Athena 或 Snowflake。

**影像**

如需有關如何編輯影像資料集和執行指派或重新指派標籤、新增影像或刪除圖片等任務的資訊，請參閱[編輯影像資料集](canvas-edit-image.md)。

# 建立資料集
<a name="canvas-import-dataset"></a>

**注意**  
如果您要將大於 5 GB 的資料集匯入至 Amazon SageMaker Canvas，我們建議您使用 Canvas 中的 [Data Wrangler 功能](canvas-data-prep.md)來建立資料流程。Data Wrangler 支援進階資料準備功能，例如[聯結](canvas-transform.md#canvas-transform-join)和[串聯](canvas-transform.md#canvas-transform-concatenate)資料。建立資料流程後，您可以將資料流程匯出為 Canvas 資料集，並開始建置模型。如需詳細資訊，請參閱[匯出以建立模型](canvas-processing-export-model.md)。

下列各節描述如何在 Amazon SageMaker Canvas 中建立資料集。針對自訂模型，您可以為表格式和影像資料建立資料集。對於即用型模型，您可以使用表格式和影像資料集以及文件資料集。根據下列資訊選擇您的工作流程：
+ 如需分類、數值、文字和時間序列資料，請參閱[匯入表格式資料](#canvas-import-dataset-tabular)。
+ 如需影像資料，請參閱[匯入影像資料](#canvas-import-dataset-image)。
+ 如需文件資料，請參閱[匯入文件資料](#canvas-ready-to-use-import-document)。

資料集可以由多個檔案組成。例如您可能有多個 CSV 格式的庫存資料檔案。只要檔案的結構描述 (或資料欄名稱和資料類型) 相符，您就可以將這些檔案作為資料集上傳。

Canvas 也支援管理資料集的多個版本。當您建立資料集時，第一版會標籤為 `V1`。您可以透過更新您的資料集來建立新版本的資料集。您可以進行手動更新，或者設定自動以新資料更新資料集的排程。如需詳細資訊，請參閱[更新資料集](canvas-update-dataset.md)。

將您的資料匯入至 Canvas 時，必須確保其符合下列資料表中的 要求。此為您要建置的模型類型特定限制。


| 限制 | 2 個類別、3 個以上類別、數值和時間序列模型 | 文字預測模型 | 影像預測模型 | \$1即用型模型的文件資料 | 
| --- | --- | --- | --- | --- | 
| 支援的檔案類型 |  CSV 和 Parquet (本機上傳、Amazon S3 或資料庫) JSON (資料庫)  |  CSV 和 Parquet (本機上傳、Amazon S3 或資料庫) JSON (資料庫)  | JPG、PNG | PDF、JPG、PNG、TIFF | 
| 檔案大小上限 |  本機上傳：5 GB 資料來源：PBs  |  本機上傳：5 GB 資料來源：PBs  | 每個影像 30 MB | 每份文件 5 MB | 
| 您可以一次上傳的檔案數量上限 | 30 | 30 | N/A | N/A | 
| 欄數上限 | 1,000 | 1,000 | N/A | N/A | 
| **快速建置**的項目數上限 (列、影像或文件) | N/A | 7500 列 | 5000 張影像 | N/A | 
| **標準建置**的項目數上限 (列、影像或文件) | N/A | 150,000 列 | 180,000 張影像 | N/A | 
| **快速建置**的項目數下限 (列) |  2 個類別：500 列 3 個以上類別、數值、時間序列：N/A  | N/A | N/A | N/A | 
| **標準建置**的項目數下限 (列、影像或文件) | 250 列 | 50 列 | 50 張影像 | N/A | 
|  每個標籤的項目數下限 (列或影像) | N/A | 25 列 | 25 列 | N/A | 
| 標籤數量下限 |  2 個類別：2 3 個以上類別：3 數值、時間序列：N/A  | 2 | 2 | N/A | 
|  隨機採樣的範例大小下限 | 500 | N/A | N/A | N/A | 
|  隨機採樣的範例大小上限 | 200,000 | N/A | N/A | N/A | 
| 標籤數量上限 |  2 個類別：2 3 個以上類別、數值、時間序列：N/A  | 1000 | 1000 | N/A | 

\$1文件資料目前僅支援接受文件資料的[即用型模型](canvas-ready-to-use-models.md)。您無法使用文件資料建立自訂模型。

也請注意以下限制：
+ 從 Amazon S3 儲存貯體匯入資料時，請確定您的 Amazon S3 儲存貯體名稱不包含 `.`。如果您的儲存貯體名稱包含 `.`，您可能會在嘗試將資料匯入至 Canvas 時遇到錯誤。
+ 針對表格式資料，Canvas 不允許針對本機上傳和 Amazon S3 匯入選取副檔名為 .csv、.parquet、.parq 和 .pqt 以外的任何副檔名的檔案。CSV 檔案可以使用任何常用或自訂分隔符號，但除了表示新列時，它們不得具有換行字元。
+ 針對使用 Parquet 檔案的表格式資料，請注意下列事項：
  + Parquet 檔案不能包含例如地圖和清單等複雜類型。
  + Parquet 檔案的欄位名稱不可含有空格。
  + 如果使用壓縮，則 Parquet 檔案必須使用 gzip 或 Snappy 壓縮類型。如需有關前面壓縮類型的更多相關資訊，請參閱 [gzip 文件](https://www.gzip.org/)和 [snappy 文件](https://github.com/google/snappy)。
+ 針對影像資料，如果您有任何未標籤的影像，則必須在建置模型之前加以標籤。如需如何在 Canvas 應用程式中為影像指派標籤的詳細資訊，請參閱[編輯影像資料集](canvas-edit-image.md)。
+ 如果您設定了自動資料集更新或自動批次預測組態，您只能在 Canvas 應用程式中建立總共 20 個組態。如需更多更多資訊，請參閱[如何管理自動化](canvas-manage-automations.md)。

匯入資料集之後，您可以隨時在**資料集**頁面上檢視您的資料集。

## 匯入表格式資料
<a name="canvas-import-dataset-tabular"></a>

使用表格式資料集，您可以建立分類、數值、時間序列預測和文字預測模型。檢閱上述**匯入資料集**一節中的限制表，以確定您的資料集符合表格式資料的要求。

請遵循下列程序將表格式資料集匯入 Canvas：

1. 開啟您的 SageMaker Canvas 應用程式。

1. 在左側的導覽窗格中，選擇**資料集**。

1. 選擇**匯入資料**。

1. 從下拉式清單中，選擇**表格式**。

1. 在快顯對話方塊的**資料集名稱**欄位中，輸入資料集的名稱，然後選擇**建立**。

1. 在**建立表格式資料集**頁面上，開啟**資料來源**下拉式功能表。

1. 選擇您的資料來源：
   + 若要從您的電腦上傳檔案，請選擇**本機上傳**。
   + 若要從其他來源，例如 Amazon S3 儲存貯體或 Snowflake 資料庫等匯入資料，請在**搜尋資料來源列**中搜尋您的資料來源。然後，選擇所需的資料來源圖磚。
**注意**  
您只能從具有作用中連線的圖磚匯入資料。如果您要連線至無法使用的資料來源，請聯絡您的管理員。如果您是管理員，請參閱[連線至資料來源](canvas-connecting-external.md)。

   下列螢幕擷取畫面顯示**資料來源**下拉式清單。  
![\[顯示資料來源下拉式清單，以及搜尋列中資料來源搜尋的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/import-data-choose-source.png)

1. (選項) 如果您是第一次連線至 Amazon Redshift 或 Snowflake 資料庫，則會出現一個對話方塊來建立連線。使用您的憑證填寫對話方塊，然後選擇**建立連線**。如果您已有連線，請選擇您的連線。

1. 從資料來源中，選取要匯入的檔案。針對從本機上傳和 Amazon S3 匯入，您可以選取檔案。僅針對 Amazon S3，您也可以選擇直接在**輸入 S3 端點**欄位中輸入儲存貯體或 S3 存取點的 S3 URI、別名或 ARN，然後選擇要匯入的檔案。針對資料庫來源，您可以從左側導覽窗格拖放資料表。

1. (選用) 針對支援 SQL 查詢的表格式資料來源 (例如 Amazon Redshift、Amazon Athena 或 Snowflake)，您可以選擇**在 SQL 中編輯**，在匯入 SQL 之前進行 SQL 查詢。

   下列螢幕擷取畫面顯示 Amazon Athena 資料來源的**編輯 SQL** 檢視。  
![\[顯示 Amazon Athena 資料的編輯 SQL 檢視中的 SQL 查詢的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/import-data-edit-sql.png)

1. (選用) 選擇**預覽資料集**，在匯入前預覽您的資料集。

1. 在**匯入設定**中，輸入**資料集名稱**或使用預設資料集名稱。

1. (選用) 對於您從 Amazon S3 匯入的資料，會為您顯示**進階**設定，而且您可以填寫下列欄位：

   1. 如果您想要使用資料集的第一列做為資料欄名稱，請開啟**使用第一列做為標頭**選項。如果您選取了多個檔案，這適用於每個檔案。

   1. 如果您要匯入 CSV 檔案，針對**檔案編碼 (CSV)** 下拉式清單，選取資料集檔案的編碼。`UTF-8` 是預設值。

   1. 針對**分隔符號**下拉式清單，選取分隔資料中每個儲存格的分隔符號。預設分隔符號為 `,`。您也可以指定自訂分隔符號。

   1. 如果您想要 Canvas 手動剖析整個資料集找出多行儲存格，請選取**多行偵測**。根據預設，不會選取此選項，而且 Canvas 會透過取得資料範例來判斷是否使用多行支援。不過，Canvas 可能不會偵測範例中的任何多行儲存格。如果您有多行儲存格，建議您選取**多行偵測**選項，強制 Canvas 檢查整個資料集找出多行儲存格。

1. 當您準備好匯入資料時，請選擇**建立資料集**。

將資料集匯入 Canvas 時，您可以在**資料集**頁面上看到您的資料集清單。在此頁面上，您可以[檢視資料集詳細資訊](#canvas-view-dataset-details)。

當您的資料集**狀態**顯示為 `Ready` 時，Canvas 已成功匯入資料，您可以繼續[建置模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)。

如果您有資料來源 (例如 Amazon Redshift 資料庫或 SaaS 連接器) 的連線，則您可以返回該連線。針對 Amazon Redshift 和 Snowflake，您可以建立另一個資料集、返回至**匯入資料**頁面，然後選擇該連線的**資料來源**圖磚，以新增另一個連線。從下拉式清單中，您可以開啟先前的連線或選擇**新增連線**。

**注意**  
針對 SaaS 平台，每個資料來源只能有一個連線。

## 匯入影像資料
<a name="canvas-import-dataset-image"></a>

您可以透過影像資料集建置單一標籤影像預測自訂模型，以預測影像的標籤。請檢閱前面**匯入資料集**章節中的限制，以確定您的影像資料集符合影像資料的需求。

**注意**  
您只能從本機檔案上傳或 Amazon S3 儲存貯體匯入影像資料集。此外，針對影像資料集，每個標籤至少必須有 25 個影像。

請使用下列程序將影像資料集匯入 Canvas：

1. 開啟您的 SageMaker Canvas 應用程式。

1. 在左側的導覽窗格中，選擇**資料集**。

1. 選擇**匯入資料**。

1. 從下拉式清單中選擇**影像**。

1. 在快顯對話方塊的**資料集名稱**欄位中，輸入資料集的名稱，然後選擇**建立**。

1. 在**匯入**頁面上，開啟**資料來源**下拉式清單。

1. 選擇您的資料來源。若要從您的電腦上傳檔案，請選擇**本機上傳**。若要從 Amazon S3 匯入檔案，請選擇 **Amazon S3**。

1. 從電腦或 Amazon S3 儲存貯體中，選取您要上傳的影像或影像資料夾。

1. 當您準備好匯入您的資料時，請選擇**匯入資料**。

將資料集匯入 Canvas 時，您可以在**資料集**頁面上看到您的資料集清單。在此頁面上，您可以[檢視資料集詳細資訊](#canvas-view-dataset-details)。

當您的資料集**狀態**顯示為 `Ready` 時，Canvas 已成功匯入資料，您可以繼續[建置模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)。

建置模型時您可以編輯影像資料集，也可以指派或重新指派標籤、新增影像或刪除資料集中的影像。如需編輯影像資料集的更多相關資訊，請參閱[編輯影像資料集](canvas-edit-image.md)。

## 匯入文件資料
<a name="canvas-ready-to-use-import-document"></a>

用於費用分析、身分文件分析、文件分析和文件查詢的即用型模型支援文件資料。您無法使用文件資料建立自訂模型。

透過文件資料即，您可以產生費用分析、身分文件分析、文件分析和文件查詢即用型模型的預測。請檢閱[建立資料集](#canvas-import-dataset)章節中的限制表格，以確定您的文件資料集符合文件資料的需求。

**注意**  
您只能從本機檔案上傳或 Amazon S3 儲存貯體匯入文件資料集。

請遵循下列程序將文件資料集匯入 Canvas：

1. 開啟您的 SageMaker Canvas 應用程式。

1. 在左側的導覽窗格中，選擇**資料集**。

1. 選擇**匯入資料**。

1. 在下拉式清單中選擇**文件**。

1. 在快顯對話方塊的**資料集名稱**欄位中，輸入資料集的名稱，然後選擇**建立**。

1. 在**匯入**頁面上，開啟**資料來源**下拉式清單。

1. 選擇您的資料來源。若要從您的電腦上傳檔案，請選擇**本機上傳**。若要從 Amazon S3 匯入檔案，請選擇 **Amazon S3**。

1. 從電腦或 Amazon S3 儲存貯體中，選取您要上傳的文件檔案。

1. 當您準備好匯入您的資料時，請選擇**匯入資料**。

將資料集匯入 Canvas 時，您可以在**資料集**頁面上看到您的資料集清單。在此頁面上，您可以[檢視資料集詳細資訊](#canvas-view-dataset-details)。

當您的資料集的**狀態**顯示為時 `Ready`，Canvas 已成功匯入您的資料。

在**資料集**頁面上，您可以選擇要預覽的資料集，最多可顯示您的資料集的前 100 個文件。

## 檢視資料集詳細資訊
<a name="canvas-view-dataset-details"></a>



針對每個資料集，您可以檢視資料集中的所有檔案、資料集的版本歷史記錄，以及資料集的任何自動更新組態。您也可以從**資料集**頁面啟動動作，例如[更新資料集](canvas-update-dataset.md)或[自訂模型的運作方式](canvas-build-model.md)。

若要檢視資料集的詳細資訊，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側的導覽窗格中，選擇** Datasets** (資料集)。

1. 從資料集清單中，選擇您的資料集。

在**資料**索引標籤上，您可以檢視資料的預覽。如果您選擇**資料集詳細資訊**，您可以檢視屬於您的資料集的所有檔案。選擇檔案以在預覽中僅查看該檔案中的資料。針對影像資料集，預覽只會顯示資料集的前 100 個影像。

在**版本歷史記錄**索引標籤上，您可以看到資料集所有版本的清單。每當您更新資料集時就會建立新版本。若要進一步了解如何更新資料集，請參閱[更新資料集](canvas-update-dataset.md)。下面的螢幕擷取畫面顯示了 Canvas 應用程式的**版本歷史記錄**索引標籤。

![\[資料集版本歷史記錄索引標籤螢幕擷取畫面，以及資料集版本清單。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-version-history.png)


在**自動更新**索引標籤上，您可以啟用資料集的自動更新，並設定定期更新資料集的排程組態。若要進一步了解如何設定資料集的自動更新，請參閱[設定資料集的自動更新](canvas-update-dataset-auto.md)。下列螢幕擷取畫面顯示已開啟自動更新的**自動更新**索引標籤，以及已在資料集上執行的自動更新工作清單。

![\[資料集的自動更新索引標籤，其中顯示自動更新已開啟以及列出自動更新任務。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-auto-updates.png)


# 更新資料集
<a name="canvas-update-dataset"></a>

將初始資料集匯入 Amazon SageMaker Canvas 之後，您可能還有其他要新增到資料集的資料。例如，您可能會在每週結束時取得要新增至資料集的庫存資料。您可以更新現有的資料集，並在其中新增或移除檔案，而不必多次匯入資料。

**注意**  
您只能更新透過本機上傳或 Amazon S3 匯入的資料集。

您可以手動或自動更新您的資料集。如需自動資料集更新的詳細資訊，請參閱[設定資料集的自動更新](canvas-update-dataset-auto.md)。

每次更新您的資料集時，Canvas 就會建立新版本的資料集。您只能使用最新版本的資料集來建立模型或產生預測。如需檢視資料集的版本歷史記錄的更多相關資訊，請參閱[檢視資料集詳細資訊](canvas-import-dataset.md#canvas-view-dataset-details)。

您也可以將資料集更新與自動批次預測搭配使用，這會在每次您更新資料集時啟動批次預測工作。如需詳細資訊，請參閱[SageMaker Canvas 中的批次預測](canvas-make-predictions-batch.md)。

下節描述如何對您的資料集執行手動更新。

## 手動更新資料集
<a name="canvas-update-dataset-manual"></a>

若要手動更新，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側的導覽窗格中，選擇**資料集**。

1. 從資料集清單中，選擇您要更新的資料集。

1. 選擇**更新資料集**下拉式選單，然後選擇**手動更新**。系統會將您轉移至匯入資料工作流程。

1. 從**資料來源**下拉式清單中選擇**本機上傳**或 **Amazon S3**。

1. 此頁面會顯示資料的預覽。您可以在此處新增或移除資料集中的檔案。如果您要匯入表格式資料，則新檔案的結構描述 (欄位名稱和資料類型) 必須與現有檔案的結構描述相符。此外，您的新檔案不得超過資料集大小或檔案大小上限。如需這些限制的更多相關資訊，請參閱[匯入資料集](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html)。
**注意**  
如果您在資料集中新增與現有檔案名稱相同的檔案，則新檔案會覆寫舊版本的檔案。

1. 當您準備好儲存變更時，請選擇**更新資料集**。

現在您應已擁有資料集的新版本。

在**資料集**頁面上，您可以選擇**版本歷史記錄**索引標籤，查看資料集的所有版本，以及您所做的手動和自動更新歷史記錄。

# 設定資料集的自動更新
<a name="canvas-update-dataset-auto"></a>

將初始資料集匯入 Amazon SageMaker Canvas 之後，您可能還有其他要新增到資料集的資料。例如，您可能會在每週結束時取得要新增至資料集的庫存資料。您可以更新現有的資料集，並在其中新增或移除檔案，而不必多次匯入資料。

**注意**  
您只能更新透過本機上傳或 Amazon S3 匯入的資料集。

透過自動資料集更新，您可以指定 Canvas 以您指定的頻率檢查檔案的位置。如果您在更新期間匯入新檔案，則檔案的結構描述必須與現有資料集完全相符。

每次更新您的資料集時，Canvas 就會建立新版本的資料集。您只能使用最新版本的資料集來建立模型或產生預測。如需檢視資料集的版本歷史記錄的更多相關資訊，請參閱[檢視資料集詳細資訊](canvas-import-dataset.md#canvas-view-dataset-details)。

您也可以將資料集更新與自動批次預測搭配使用，這會在每次您更新資料集時啟動批次預測工作。如需詳細資訊，請參閱[SageMaker Canvas 中的批次預測](canvas-make-predictions-batch.md)。

下節描述如何對您的資料集執行自動更新。

自動更新是指設定 Canvas 組態，使其以指定頻率更新資料集。如果您定期獲得要新增至資料集的新資料檔案，建議您使用此選項。

設定自動更新組態時，您可以指定上傳檔案的 Amazon S3 位置，以及 Canvas 檢查位置和匯入檔案的頻率。每個 Canvas 更新資料集的執行個體都稱為*工作*。Canvas 會針對各個工作匯入 Amazon S3 位置中的所有檔案。如果您在資料集中擁有與現有檔案名稱相同的檔案，則 Canvas 會用新檔案覆寫舊檔案。

針對自動更新資料集，Canvas 不會執行結構描述驗證。如果在自動更新期間匯入的檔案結構描述與現有檔案的結構描述不符，或超過大小限制 (請參閱[匯入資料集](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html)以取得檔案大小限制的資料表)，則在工作執行時會發生錯誤。

**注意**  
您最多只能在 Canvas 應用程式中設定 20 個自動組態。此外，Canvas 只會在您登入 Canvas 應用程式時執行自動更新。如果您登出 Canvas 應用程式，自動更新會暫停，直到您重新登入為止。

若要設定資料集的自動更新，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側的導覽窗格中，選擇**資料集**。

1. 從資料集清單中，選擇您要更新的資料集。

1. 選擇**更新資料集**下拉式清單，然後選擇**自動更新**。您會被導向至資料集的**自動更新**索引標籤。

1. 開啟**啟用自動更新**切換。

1. 針對**指定資料來源**，輸入您計劃定期上傳檔案的資料夾 Amazon S3 路徑。

1. 在**選擇頻率**，選取**每小時**、**每週**或**每天**。

1. 針對**指定開始時間**，請使用行事曆和時間選擇器來選取您希望第一次自動更新工作開始的時間。

1. 當您準備好建立自動更新組態時，請選擇**儲存**。

Canvas 會在指定開始時間開始自動更新節奏的第一個工作。

# 檢視自動資料集更新工作
<a name="canvas-update-dataset-auto-view"></a>

若要在 Amazon SageMaker Canvas 中檢視自動資料集更新的任務歷程記錄，請在資料集詳細資訊頁面上選擇**自動更新**索引標籤。

資料集的每個自動更新都會在**工作歷史記錄**區段下的**自動更新**索引標籤中顯示為工作。您可以在每個工作中看到下列各項：
+ **已建立工作** - Canvas 開始更新資料集的時間戳記。
+ **檔案** - 資料集中的檔案數量。
+ **儲存格 (欄 x 列)** - 資料集中的欄數和列數。
+ **狀態** - 更新之後的資料集狀態。如果工作成功，則狀態為**就緒**。如果工作因任何原因而失敗，則狀態為**失敗**，您可以將游標暫留在狀態上以獲得更多詳細資訊。

# 編輯自動資料集更新組態
<a name="canvas-update-dataset-auto-edit"></a>

您可能想要變更資料集的自動更新組態，例如變更更新頻率。您也可能希望關閉自動更新組態，以暫停資料集的更新。

若要變更資料集的自動更新組態，請前往資料集的**自動更新**索引標籤，然後選擇**編輯**以變更組態。

若要暫停資料集更新，請關閉自動組態。您可以前往資料集的**自動更新**索引標籤，然後關閉**啟用自動更新**以關閉自動更新。您可以隨時重新開啟此切換，以繼續更新排程。

若要了解如何刪除組態，請參閱[刪除自動組態](canvas-manage-automations-delete.md)。

# 連線至資料來源
<a name="canvas-connecting-external"></a>

在 Amazon SageMaker Canvas 中，您可以透過 AWS 服務、SaaS 平台或其他使用 JDBC 連接器的資料庫，從本機檔案系統外部的位置匯入資料。例如您可能想要從 Amazon Redshift 中的資料倉儲匯入資料表，或者您可能想要匯入 Google Analytics (分析) 資料。

當您在 Canvas 應用程式中執行**匯入**工作流程來 匯入資料時，您可以選擇資料來源，然後選取要匯入的資料。針對某些資料來源，例如 Snowflake 和 Amazon Redshift，您必須指定憑證並新增至資料來源的連線。

下列螢幕擷取畫面顯示**匯入**工作流程中的資料來源工具列，並重點標示所有可用的資料來源。您只能從可用的資料來源匯入資料。如果您想要的資料來源無法使用，請聯絡您的管理員。

![\[在 Canvas 匯入資料頁面上，開啟 資料來源下拉式清單。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/data-sources.png)


以下各節提供有關建立與外部資料來源的連線以及從外部資料來源匯入資料的資訊。請先檢閱下一節，以確定從資料來源匯入資料所需的許可。

## 許可
<a name="canvas-connecting-external-permissions"></a>

請檢閱下列資訊，以確保您具有從資料來源匯入資料的必要許可：
+ **Amazon S3：**只要您的使用者有存取儲存貯體的許可，就可以從任何 Amazon S3 儲存貯體匯入資料。如需使用 AWS IAM 控制 Amazon S3 儲存貯體存取的詳細資訊，請參閱《[Amazon S3 使用者指南》中的 Amazon S3 中的身分和存取管理](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)。 *Amazon S3 *
+ **Amazon Athena：**如果您將 [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) 政策和 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) 政策連接到使用者的執行角色，則可以 AWS Glue Data Catalog 使用 Amazon Athena 查詢您的 。如果您是 Athena 工作群組的一員，請確定 Canvas 使用者擁有對資料執行 Athena 查詢的許可。如需更多資訊，請參閱 *Amazon Athena 使用者指南*中的[使用工作群組來執行查詢](https://docs.aws.amazon.com/athena/latest/ug/workgroups.html)。
+ **Amazon DocumentDB：**只要您有憑證 (使用者名稱和密碼) 來連線至資料庫，且具有連接到使用者執行角色的最低基本 Canvas 許可，就可以從任何 Amazon DocumentDB 資料庫匯入資料。如需 Canvas 許可的詳細資訊，請參閱[設定 Amazon SageMaker Canvas 的先決條件](canvas-getting-started.md#canvas-prerequisites)。
+ **Amazon Redshift：**若要授予從 Amazon Redshift 匯入資料的必要許可給自己，請參閱[授予使用者匯入 Amazon Redshift 資料的許可](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-redshift-permissions.html)。
+ **Amazon RDS：**如果您將 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) 政策連接到使用者的執行角色，那麼您就可以從 Canvas 存取您的 Amazon RDS 資料庫。
+ **SaaS 平台：**如果您有 [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) 政策和 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) 政策連接至使用者的執行角色，則您將具有從 SaaS 平台匯入資料的必要許可。如需連接至特定 SaaS 連接器的更多相關資訊，請參閱[搭配 Canvas 使用 SaaS 連接器](#canvas-connecting-external-appflow)。
+ **JDBC 連接器：**對於資料庫來源 (例如 Databricks、MySQL 或 MariaDB)，您必須在來源資料庫上啟用使用者名稱和密碼驗證，然後再嘗試從 Canvas 連線。如果您要連線到 Databricks 則必須擁有包含必要憑證的 JDBC URL。

## 連線至存放在 中的資料庫 AWS
<a name="canvas-connecting-internal-database"></a>

您可能想要匯入已存放的資料 AWS。您可以從 Amazon S3 匯入資料、使用 Amazon Athena 查詢 中的資料庫 AWS Glue Data Catalog、從 [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 匯入資料，或連線到佈建的 Amazon Redshift 資料庫 （而非 Redshift Serverless)。

您可以建立 Amazon Redshift 的多個連線。針對 Amazon Athena，您可以存取在 [AWS Glue Data Catalog](https://docs.aws.amazon.com/prescriptive-guidance/latest/serverless-etl-aws-glue/aws-glue-data-catalog.html) 上擁有的任何資料庫。針對 Amazon S3，只要您擁有必要的許可，就可以從儲存貯體匯入資料。

如需詳細資訊，請檢閱下列各節。

### 連線到 Amazon S3、Amazon Athena 或 Amazon RDS 中的資料
<a name="canvas-connecting-internal-database-s3-athena"></a>

針對 Amazon S3，只要您擁有存取儲存貯體的許可，就可以從 Amazon S3 儲存貯體匯入資料。

對於 Amazon Athena， AWS Glue Data Catalog 只要您擁有透過 [Amazon Athena 工作群組](https://docs.aws.amazon.com/athena/latest/ug/manage-queries-control-costs-with-workgroups.html)的許可，就可以存取 中的資料庫。

針對 Amazon RDS，如果您已將 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) 政策連接到您的使用者角色，那麼您就可以將資料從 Amazon RDS 資料庫匯入 Canvas。

若要從 Amazon S3 儲存貯體匯入資料，或使用 Amazon Athena 執行查詢和匯入資料表，請參閱[建立資料集](canvas-import-dataset.md)。您只能從 Amazon Athena 匯入表格式資料，而且可以從 Amazon S3 匯入表格式和影像資料。

### 連線至 Amazon DocumentDB 資料庫
<a name="canvas-connecting-docdb"></a>

Amazon DocumentDB 是一種全受管、無伺服器的文件資料庫服務。您可以將存放在 Amazon DocumentDB 資料庫中的非結構化文件資料匯入至 SageMaker Canvas，做為表格式資料集，然後使用資料建置機器學習模型。

**重要**  
您的 SageMaker AI 網域必須在**僅限 VPC** 模式下設定，才能新增與 Amazon DocumentDB 的連線。您只能在與 Canvas 應用程式相同的 Amazon VPC 中存取 Amazon DocumentDB 叢集。此外，Canvas 只能連線到已啟用 TLS 的 Amazon DocumentDB 叢集。如需如何在**僅限 VPC** 模式下設定 Canvas 的詳細資訊，請參閱[在沒有網際網路存取權的 VPC 中設定 Amazon SageMaker Canvas](canvas-vpc.md)。

若要從 Amazon DocumentDB 資料庫匯入資料，您必須具有憑證才能存取 Amazon DocumentDB 資料庫，並在建立資料庫連線時指定使用者名稱和密碼。您可以透過修改 Amazon DocumentDB 使用者許可來設定更精細的許可並限制存取。若要進一步了解 Amazon DocumentDB 中的存取控制，請參閱《Amazon DocumentDB 開發人員指南》**中的[使用角色型存取控制進行資料庫存取](https://docs.aws.amazon.com/documentdb/latest/developerguide/role_based_access_control.html)。

當您從 Amazon DocumentDB 匯入時，Canvas 會透過將欄位對應至資料表中的資料欄，將您的非結構化資料轉換為表格式資料集。系統會為資料中的每個複雜欄位 (或巢狀結構) 建立其他資料表，其中資料欄對應至複雜欄位的子欄位。如需此程序的詳細資訊和結構描述轉換範例，請參閱 [Amazon DocumentDB JDBC 驅動器結構描述探索](https://github.com/aws/amazon-documentdb-jdbc-driver/blob/develop/src/markdown/schema/schema-discovery.md) GitHub 頁面。

Canvas 只能連線到 Amazon DocumentDB 中的單一資料庫。若要從不同的資料庫匯入資料，您必須建立新的連線。

您可以使用下列方法，將資料從 Amazon DocumentDB 匯入至 Canvas：
+ [建立資料集](canvas-import-dataset.md)。您可以匯入 Amazon DocumentDB 資料，並在 Canvas 中建立表格式資料集。如果您選擇此方法，請務必遵循[匯入表格式資料](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-import-dataset.html#canvas-import-dataset-tabular)程序。
+ [建立資料流程](canvas-data-flow.md)。您可以在 Canvas 中建立資料準備管道，並將 Amazon DocumentDB 資料庫新增為資料來源。

若要繼續匯入您的資料，請遵循上述清單中連結的其中一個方法的程序。

當您到達任一工作流程中的步驟以選擇資料來源 (步驟 6 用於建立資料集，或步驟 8 用於建立資料流程) 時，請執行下列動作：

1. 對於**資料來源**，開啟下拉式功能表並選擇 **DocumentDB**。

1. 選擇 **Add Connection** (新增連線)。

1. 在對話方塊中，指定您的 Amazon DocumentDB 憑證：

   1. 輸入**連線名稱**。這是 Canvas 用來識別此連線的名稱。

   1. 針對**叢集**，選取 Amazon DocumentDB 中存放資料的叢集。Canvas 會自動將與 Canvas 應用程式位於相同 VPC 的 Amazon DocumentDB 叢集填入下拉式功能表。

   1. 輸入 Amazon DocumentDB 叢集的**使用者名稱**。

   1. 輸入 Amazon DocumentDB 叢集的**密碼**。

   1. 輸入您要連線至其中的**資料庫**名稱。

   1. **讀取喜好設定**選項決定 Canvas 從叢集上哪些類型的執行個體中讀取資料。選擇下列其中之一：
      + **次要優先** - Canvas 預設為從叢集的次要執行個體讀取，但如果次要執行個體無法使用，則 Canvas 會從主要執行個體讀取。
      + **次要** - Canvas 只會從叢集的次要執行個體讀取，這可防止讀取操作干擾叢集的一般讀取和寫入操作。

   1. 選擇 **Add Connection** (新增連線)。下圖顯示對話方塊，其中包含 Amazon DocumentDB 連線的上述欄位。  
![\[Canvas 中新增 DocumentDB 連線對話方塊的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/add-docdb-connection.png)

您現在應有 Amazon DocumentDB 連線，而且可在 Canvas 中使用您的 Amazon DocumentDB 資料來建立資料集或資料流程。

### 連線至 Amazon Redshift 資料庫
<a name="canvas-connecting-redshift"></a>

您可以從 Amazon Redshift 匯入資料，這是您的組織儲存資料的資料倉儲。您必須先連接 AWS `AmazonRedshiftFullAccess`受管政策，才能使用 Amazon Redshift 匯入資料。如需有關如何連接政策的指示，請參閱[授予使用者匯入 Amazon Redshift 資料的許可](canvas-redshift-permissions.md)。

若要從 Amazon Redshift 匯入資料，請執行以下操作：

1. 建立與 Amazon Redshift 資料庫的連線。

1. 選擇您要匯入的資料。

1. 匯入資料。

您可以使用 Amazon Redshift 編輯器將資料集拖曳到匯入窗格，然後將其匯入 SageMaker Canvas。如需對資料集傳回的值進一步控制，您可以使用下列各項：
+ SQL 查詢
+ 聯結

使用 SQL 查詢，您可以自訂資料集中值的匯入方式。例如，您可以指定資料集中傳回的資料欄，或指定資料欄的值範圍。

您可以使用聯結將 Amazon Redshift 中的多個資料集合併為單一資料集。您可以將資料集從 Amazon Redshift 拖曳到面板中，讓您能夠聯結資料集。

您可以使用 SQL 編輯器編輯已加入的資料集，並將聯結的資料集轉換為單一節點。您可以將另一個資料集聯結至節點。您可以將已選取的資料匯入到 SageMaker Canvas 中。

使用下列程序從 Amazon Redshift 匯入資料。

1. 在 SageMaker Canvas 應用程式中，前往**資料集**頁面。

1. 選擇**匯入資料**，然後從下拉式清單中選擇**表格式**。

1. 輸入資料集的名稱，然後選擇**建立**。

1. 對於**資料來源**，開啟下拉式功能表並選擇 **Redshift**。

1. 選擇 **Add Connection** (新增連線)。

1. 在對話方塊中，指定您的 Amazon Redshift 憑證：

   1. 針對**驗證方法**，請選擇 **IAM**。

   1. 輸入**叢集識別碼**，以指定要連線的叢集。只輸入叢集識別碼，而不要輸入 Amazon Redshift 叢集的完整端點。

   1. 輸入您要連接的資料庫之**資料庫名稱**。

   1. 輸入**資料庫使用者**，以識別您要用來連線至資料庫的使用者。

   1. 針對 **ARN**，請輸入 Amazon Redshift 叢集應該假定將資料移動和寫入至 Amazon S3 的角色的 IAM 角色 ARN。如需此角色的詳細資訊，請參閱《[Amazon Redshift 管理指南》中的授權 Amazon Redshift 代表您存取其他 AWS 服務](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html)。 **

   1. 輸入**連線名稱**。這是 Canvas 用來識別此連線的名稱。

1. 從具有連線名稱的索引標籤中，將要匯入的 .csv 檔案**拖曳至拖放資料表來匯入**窗格。

1. 選用：將其他資料表拖曳至匯入窗格。您可以使用 GUI 來聯結資料表。如需聯結中的具體細節，請選擇**在 SQL 中編輯**。

1. 選用：如果您使用 SQL 來查詢資料，您可以選擇**內容**來指定下列項目的值，將內容新增至連線：
   + **倉儲**
   + **資料庫**
   + **結構描述**

1. 選擇**匯入資料**。

下列影像顯示針對 Amazon Redshift 連線指定的欄位範例。

![\[Canvas 中新增 Redshift 連線對話方塊的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-add-connection.png)


下列影像顯示了在 Amazon Redshift 中聯結資料集時使用的頁面。

![\[Canvas 中匯入頁面的螢幕擷取畫面，顯示兩個正在聯結的資料集。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-join.png)


下列影像顯示了用於在 Amazon Redshift 中編輯聯結的 SQL 查詢。

![\[在 Canvas 的匯入頁面上，編輯 SQL 編輯器中 SQL 查詢的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-redshift-edit-sql.png)


## 使用 JDBC 連接器連接至您的資料
<a name="canvas-connecting-jdbc"></a>

您可以使用 JDBC 從諸如 Databricks、SQLServer、MySQL、PostgreSQL、MariaDB、Amazon RDS 和 Amazon Aurora 等來源連接到資料庫。

您必須確定您擁有必要的憑證和許可，才能從 Canvas 建立連線。
+ 針對 Databricks，您必須提供 JDBC URL。URL 格式可能會因 Databricks 執行個體而有所不同。如需尋找 URL 及其中指定參數的詳細資訊，請參閱 Databricks 說明文件中的 [JDBC 組態和連線參數](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#jdbc-configuration-and-connection-parameters)。以下是 URL 格式的範例：`jdbc:spark://aws-sagemaker-datawrangler.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3122619508517275/0909-200301-cut318;AuthMech=3;UID=token;PWD=personal-access-token`
+ 對於其他資料庫來源，您必須設定使用者名稱和密碼驗證，然後在從 Canvas 連線至資料庫時指定這些認證。

此外，您的資料來源必須可透過公用網際網路存取，或者如果 Canvas 應用程式在**僅限 VPC** 模式下執行，則資料來源必須在相同的 VPC 中執行。如需在 VPC 中設定 Amazon RDS 資料庫的詳細資訊，請參閱 *Amazon RDS 使用者指南*中的 [Amazon VPC VPCs 和 Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)。

設定資料來源認證後，您可以登入 Canvas 應用程式並建立與資料來源的連線。建立連線時，請指定您的認證 (或對於資料庫而言，URL)。

## 使用 OAuth Connect 至資料來源
<a name="canvas-connecting-oauth"></a>

Canvas 支援使用 OAuth 做為驗證方法，以連線至 Snowflake 和 Salesforce Data Cloud 中的資料。[OAuth](https://oauth.net/2/) 是一種通用的驗證平台，用於在不共享密碼的情況下授予資源存取權。

**注意**  
您只能為每個資料來源建立一個 OAuth 連線。

若要授權連線，您必須遵循[使用 OAuth 設定與資料來源的連線](canvas-setting-up-oauth.md)中所述的初始設定。

設定 OAuth 認證之後，您可以執行下列動作使用 OAuth 新增 Snowflake 或 Salesforce Data Cloud 連線：

1. 登入 Web 應用程式。

1. 建立表格式資料集。當系統提示您上傳資料時，請選擇 Snowflake 或 Salesforce Data Cloud 做為您的資料來源。

1. 建立與 Snowflake 或 Salesforce Data Cloud 資料來源的新連線。指定 OAuth 作為驗證方法，然後輸入您的連線詳細資料。

您現在應該可以從 Snowflake 或 Salesforce Data Cloud 中的資料庫匯入資料。

## 連接 SaaS 平台
<a name="canvas-connecting-saas"></a>

您可以從 Snowflake 和其他 40 多個外部 SaaS 平台匯入資料。如需連接器的完整清單，請參閱[資料匯入](canvas-importing-data.md)上的資料表。

**注意**  
您只能從 SaaS 平台匯入表格式資料，例如資料表。

### 搭配 Canvas 使用 Snowflake
<a name="canvas-using-snowflake"></a>

Snowflake 是一種資料儲存和分析服務，您可以將資料從 Snowflake 匯入 SageMaker Canvas。如需有關 Snowflake 的詳細資訊，請參閱 [Snowflake 文件](https://www.snowflake.com/en/)。

若要從 Snowflake 帳戶匯入資料，請執行以下動作：

1. 建立與 Snowflake 資料庫的連線。

1. 將表格從左側導覽功能表拖放到編輯器中，以選擇要匯入的資料。

1. 匯入資料。

您可以使用 Snowflake 編輯器將資料集拖曳至匯入窗格，然後將其匯入 SageMaker Canvas。如需對資料集傳回的值進一步控制，您可以使用下列各項：
+ SQL 查詢
+ 聯結

使用 SQL 查詢，您可以自訂資料集中值的匯入方式。例如，您可以指定資料集中傳回的資料欄，或指定資料欄的值範圍。

您可以在使用 SQL 或 Canvas 介面匯入 Canvas 之前，將多個 Snowflake 資料集合成單一資料集。您可以將資料集從 Snowflake 拖曳到可讓您聯結資料集的面板中，或者您也可以在 SQL 中編輯聯結，然後將 SQL 轉換為單一節點。您可以將其他節點連接到已轉換的節點。然後，您可以將已加入的資料集合成單一節點，並將這些節點加入不同的 Snowflake 資料集。最後，您可以將選擇的資料匯入到 Canvas 中。

請使用下列程序，將資料從 Snowflake 匯入 Amazon SageMaker Canvas。

1. 在 SageMaker Canvas 應用程式中，前往**資料集**頁面。

1. 選擇**匯入資料**，然後從下拉式清單中選擇**表格式**。

1. 輸入資料集的名稱，然後選擇**建立**。

1. 對於**資料來源**，開啟下拉式功能表並選擇 **Snowflake**。

1. 選擇 **Add Connection** (新增連線)。

1. 在**新增 Snowflake 連線**對話方塊中，指定您的 Snowflake 認證。針對**驗證方法**，選擇下列其中一項：
   + **基本 - 使用者名稱密碼** - 提供您的 Snowflake 帳戶 ID、使用者名稱和密碼。
   + **ARN** – 為了改善 Snowflake 登入資料的保護，請提供包含登入資料的 AWS Secrets Manager 秘密 ARN。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)。

     您的秘密應以下列 JSON 格式存放您的 Snowflake 憑證：

     ```
     {"accountid": "ID",
     "username": "username",
     "password": "password"}
     ```
   + **OAuth** - OAuth 可讓您在不提供密碼的情況下進行驗證，但需要額外的設定。如需設定分享之登入資料的詳細資訊，請參閱[使用 OAuth 設定與資料來源的連線](canvas-setting-up-oauth.md)。

1. 選擇 **Add Connection** (新增連線)。

1. 從具有連線名稱的索引標籤中，將要匯入的 .csv 檔案拖曳至**拖放資料表來匯入**窗格。

1. 選用：將其他資料表拖曳至匯入窗格。您可以使用使用者介面來連接表格。如需聯結中的具體細節，請選擇**在 SQL 中編輯**。

1. 選用：如果您使用 SQL 來查詢資料，您可以選擇**內容**來指定下列項目的值，將內容新增至連線：
   + **倉儲**
   + **資料庫**
   + **結構描述**

   將內容新增到連接可以更輕鬆地指定未來的查詢。

1. 選擇**匯入資料**。

下列影像顯示 Snowflake 連線指定的欄位範例。

![\[Canvas 中新增 Snowflake 連線對話方塊的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-connection.png)


下列影像顯示了用於將內容新增到連線的頁面。

![\[Canvas 中匯入頁面的螢幕擷取畫面，顯示內容對話方塊。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-connection-context.png)


下列影像顯示用於聯結 Snowflake 資料集的頁面。

![\[Canvas 中匯入頁面的螢幕擷取畫面，顯示正在聯結資料集。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-join.png)


下列影像顯示將 SQL 查詢用於編輯 Snowflake 中的聯結。

![\[在 Canvas 的匯入頁面上，編輯 SQL 編輯器中 SQL 查詢的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-snowflake-edit-sql.png)


### 搭配 Canvas 使用 SaaS 連接器
<a name="canvas-connecting-external-appflow"></a>

**注意**  
針對 SaaS 平台，除了 Snowflake 之外每個資料來源只能有一個連線。

您的管理員必須先驗證並建立與資料來源的連線，才能從 SaaS 平台匯入資料。如需管理員如何建立與 SaaS 平台之間的連線的更多相關資訊，請參閱 *Amazon AppFlow 使用者指南*中的[管理 Amazon AppFlow 連線](https://docs.aws.amazon.com/appflow/latest/userguide/connections.html)。

如果您是第一次開始使用 Amazon AppFlow 的管理員，請參閱 *Amazon AppFlow 使用者指南*中的[入門](https://docs.aws.amazon.com/appflow/latest/userguide/getting-started.html)。

要從 SaaS 平台匯入資料，您可以遵循標準 [匯入表格式資料](canvas-import-dataset.md#canvas-import-dataset-tabular) 程序，該程序向您展示如何將表格式資料集匯入 Canvas。

# Canvas 中的範例資料集
<a name="canvas-sample-datasets"></a>

SageMaker Canvas 提供解決獨特使用案例的範例資料集，讓您可以快速開始建置、訓練和驗證模型，而無需撰寫任何程式碼。與這些資料集相關聯的使用案例會強調 SageMaker Canvas 的功能，您可以利用這些資料集開始建置模型。您可以在 SageMaker Canvas 應用程式的**資料集**頁面中找到範例資料集。

下列資料集是 SageMaker Canvas 預設提供的範例。這些資料集涵蓋使用案例，例如預測房價、貸款違約以及預測糖尿病患者再住院率、預測銷售、預測機器故障以簡化製造單位的預測性維護，以及產生運輸和物流的供應鏈預測。這些資料集存放在預設 Amazon S3 儲存貯體的 `sample_dataset` 資料夾中，而 SageMaker AI 會在區域中為您的帳戶建立該資料夾。
+ **canvas-sample-diabetic-readmission.csv：**此資料集包含歷史資料，包括超過十五項患者和醫院結果的功能。您可以使用此資料集來預測高風險糖尿病患者是否有可能在出院 30 天內、30 天後入院或不再入院。使用 **redadmitted** 資料欄做為目標欄，並在此資料集中使用 3\$1 類別預測模型類型。若要進一步了解如何使用此資料集建立模型，請參閱 [SageMaker Canvas 工作坊頁面](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/5-hcls)。此資料集是從 [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/diabetes+130-us+hospitals+for+years+1999-2008) 取得。
+ **canvas-sample-housing.csv：**此資料集包含與給具體房價格相關的特徵資料。您可以使用此資料集來預測房價。使用 **median\$1house\$1value** 資料欄做為目標欄，並在此資料集中使用數值預測模型類型。若要進一步了解使用此資料集建立模型，請參閱 [SageMaker Canvas 工作坊頁面](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/2-real-estate)。這是從 [StatLib 儲存庫](https://www.dcc.fc.up.pt/~ltorgo/Regression/cal_housing.html)獲得的加州住房資料集。
+ **canvas-sample-loans.csv：**此資料集包含 2007-2011 年期間所有貸款的完整貸款資料，包括目前的貸款狀態和最新的付款資訊。您可以使用此資料集來預測客戶是否會償還貸款。使用 **loan\$1status** 資料欄做為目標欄，並在此資料集中使用 3\$1 類別預測模型類型。若要進一步了解如何使用此資料集建立模型，請參閱 [SageMaker Canvas 工作坊頁面](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/4-finserv)。此資料使用從 [Kaggle](https://www.kaggle.com/datasets/wordsforthewise/lending-club) 獲得的 LendingClub 資料。
+ **canvas-sample-maintenance.csv：**此資料集包含與指定維護失敗類型相關聯之特性的資料。您可以使用此資料集來預測未來會發生哪些失敗。使用**失敗類型**資料欄做為目標欄，並在此資料集中使用 3\$1 類別預測模型類型。若要進一步了解如何使用此資料集建立模型，請參閱 [SageMaker Canvas 工作坊頁面](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/6-manufacturing)。此資料集是從 [UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/AI4I+2020+Predictive+Maintenance+Dataset) 取得。
+ **canvas-sample-shipping-logs.csv：**此資料集包含所有已交付產品的完整運送資料，包括預估運送優先順序、承運商和寄件地。您可以使用此資料集來預測運送的預計送達天數時間。使用 **ActualShippingDays** 欄做為目標欄，並搭配此資料集使用數值預測模型類型。若要進一步了解如何使用此資料建立模型，請參閱 [SageMaker Canvas 工作坊頁面](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/7-supply-chain)。這是 Amazon 建立的合成資料集。
+ **canvas-sample-sales-forecasting.csv：**此資料集包含零售商店的歷史時間序列銷售資料。您可以使用此資料集來預測特定零售商店的銷售額。使用 **sales** 資料欄做為目標欄，並搭配此資料集使用時間序列預測模型類型。若要進一步了解如何使用此資料集建立模型，請參閱 [SageMaker Canvas 工作坊頁面](https://catalog.us-east-1.prod.workshops.aws/workshops/80ba0ea5-7cf9-4b8c-9d3f-1cd988b6c071/en-US/zzz-legacy/1-use-cases/3-retail)。這是 Amazon 建立的合成資料集。

# 重新匯入已刪除的範例資料集
<a name="canvas-sample-datasets-reimport"></a>

Amazon SageMaker Canvas 為各種使用案例提供範例資料集，強調 Canvas 的功能。若要進一步了解可用的範例資料集，請參閱[Canvas 中的範例資料集](canvas-sample-datasets.md)。如果您不想再使用範例資料集，可以從 SageMaker Canvas 應用程式的**資料集**頁面中刪除這些資料集。但是，這些資料集仍然儲存在您指定為 [Canvas 儲存位置](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-storage-configuration.html)的 Amazon S3 儲存貯體中，因此您可以稍後隨時存取它們。

如果使用預設 Amazon S3 儲存貯體時，儲存貯體名稱會遵循模式 `sagemaker-{region}-{account ID}`。您可以在目錄路徑 `Canvas/sample_dataset` 中找到範例資料集。

如果您從 SageMaker Canvas 應用程式刪除範例資料集，並想要再次存取範例資料集，請使用下列程序。

1. 導覽至 SageMaker Canvas 應用程式中的**資料集**頁面。

1. 選擇**匯入資料**。

1. 從 Amazon S3 儲存貯體清單中選取作為 Canvas 儲存位置的儲存貯體。如果使用預設 SageMaker AI 建立的 Amazon S3 儲存貯體，則其會遵循命名模式 `sagemaker-{region}-{account ID}`。

1. 選取 **Canvas** 資料夾。

1. 選取 **sample\$1dataset** 資料夾，其中包含 SageMaker Canvas 的所有範例資料集。

1. 選取您要匯入的資料集，然後選擇**匯入資料**。

# 資料準備
<a name="canvas-data-prep"></a>

**注意**  
先前，Amazon SageMaker Data Wrangler 是 SageMaker Studio Classic 體驗的一部分。現在，如果您更新為使用新的 Studio 體驗，則必須使用 SageMaker Canvas 存取 Data Wrangler 並接收最新的功能更新。如果您一直使用 Studio Classic 中的 Data Wrangler，但想要遷移到 Canvas 中的 Data Wrangler，您可能必須授予其他許可，才能建立和使用 Canvas 應用程式。如需詳細資訊，請參閱[(選用) 從 Studio Classic 中的 Data Wrangler 遷移至 SageMaker Canvas](studio-updated-migrate-ui.md#studio-updated-migrate-dw)。  
若要了解如何從 Studio Classic 中的 Data Wrangler 遷移您的資料流程，請參閱 [(選用) 將資料從 Studio Classic 遷移至 Studio](studio-updated-migrate-data.md)。

使用 Amazon SageMaker Canvas 中的 Amazon SageMaker Data Wrangler 來準備、特徵化和分析您的資料。您可以將 Data Wrangler 資料準備流程整合到您的機器學習 (ML) 工作流程中，幾乎不使用程式碼，簡化和精簡資料預先處理和特徵工程。您也可以新增自己的 Python 指令碼和轉換來自訂工作流程。
+ **資料流程**——建立資料流程來定義一系列機器學習資料準備步驟。您可以使用一個流程來合併不同資料來源的資料集、識別要套用至資料集的轉換數量和類型，以及定義可整合至機器學習管道的資料準備工作流程。
+ **轉換**——使用字串、向量和數值資料格式化工具等標準*轉換*來清理及轉換資料集。使用文字、日期/時間內嵌項目和分類編碼等轉換，將資料特徵化。
+ **產生資料洞見** - 使用 Data Wrangler 資料品質和洞見報告，自動驗證資料品質並偵測資料中的異常情況。
+ **分析**——在流程中的任何時間點分析您的資料集中的特徵。Data Wrangler 包含散佈圖和長條圖等內建資料視覺化工具，以及目標洩漏分析和快速建模等資料分析工具，以了解特徵相互關聯性。
+ **匯出**——將資料準備工作流程匯出至其他位置。以下為範例位置：
  + Amazon Simple Storage Service (Amazon S3) 儲存貯體
  + Amazon SageMaker Feature Store——將特徵及其資料存放在集中式存放區中。
+ **自動化資料準備** - 從您的資料流程建立機器學習工作流程。
  + Amazon SageMaker Pipelines - 建置工作流程，管理 SageMaker AI 資料準備、模型訓練和模型部署任務。
  + 序列推論管道 - 從您的資料流程建立序列推論管道。使用它對新資料進行預測。
  + Python 指令碼——將資料及其轉換存放在自訂工作流程的 Python 指令碼中。

# 建立資料流程
<a name="canvas-data-flow"></a>

使用 SageMaker Canvas 中的 Data Wrangler 流程或*資料流程*，來建立和修改資料準備管道。對於大於 5 GB 的資料集，我們建議您使用 Data Wrangler。

若要開始使用，請使用下列程序將您的資料匯入至資料流程。

1. 開啟 SageMaker Canvas。

1. 在左側導覽中，選擇 **Data Wrangler**。

1. 選擇**匯入並準備**。

1. 從下拉式功能表中，選擇**表格式**或**影像**。

1. 針對**選取資料來源**，選擇您的資料來源，然後選取您要匯入的資料。您可以選取最多 30 個檔案或一個資料夾。如果您有一個資料集已匯入至 Canvas，請選擇 **Canvas 資料集**作為來源。否則，請連線至資料來源，例如 Amazon S3 或 Snowflake，然後瀏覽您的資料。如需連線至資料來源或匯入資料的相關資訊，請參閱下列頁面：
   + [資料匯入](canvas-importing-data.md)
   + [連線至資料來源](canvas-connecting-external.md)

1. 選取您要匯入的資料後，選擇**下一步**。

1. (選用) 對於匯入表格式資料集時的**匯入設定**區段，展開**進階**下拉式功能表。您可以指定下列進階設定，進行資料流程匯入：
   + **取樣方法** - 選取您想要使用的取樣方法和範例大小。如需如何變更範例的詳細資訊，請參閱[編輯資料流程取樣組態](canvas-data-flow-edit-sampling.md)一節。
   + **檔案編碼 (CSV)** - 選取資料集檔案的編碼。`UTF-8` 是預設值。
   + **略過前幾列** - 如果您在資料集開頭有多餘的資料列，請輸入您要略過匯入的列數。
   + **分隔符號** - 選取分隔資料中每個項目的分隔符號。您也可以指定自訂分隔符號。
   + **多行偵測** - 如果您想要 Canvas 手動剖析整個資料集找出多行儲存格，請選取此選項。Canvas 會透過取得資料範例來決定是否使用多行支援，但 Canvas 可能不會偵測範例中的任何多行儲存格。在此情況下，我們建議您選取**多行偵測**選項，強制 Canvas 檢查您的整個資料集是否有多行儲存格。

1. 選擇**匯入**。

您現在應有新的資料流程，而且可以開始新增轉換步驟和分析。

# 資料流程 UI 的運作方式
<a name="canvas-data-flow-ui"></a>

為了協助您導覽資料流程，Data Wrangler 在頂端導覽窗格中具有下列索引標籤：
+ **資料流程** - 此索引標籤為您提供資料流程步驟的視覺化檢視，您可以在其中新增或移除轉換，以及匯出資料。
+ **資料** - 此索引標籤可讓您預覽資料，以便您可以檢查轉換的結果。您也可以查看資料流程步驟的排序清單，以及編輯或重新排序步驟。
**注意**  
在此索引標籤中，您只能預覽 Amazon S3 資料來源的資料視覺化 (例如每欄的值分佈)。不支援其他資料來源的視覺化，例如 Amazon Athena。
+ **分析** - 在此索引標籤中，您可以針對您建立的每個分析查看個別子索引標籤。例如，如果您建立長條圖和資料品質和洞見 (DQI) 報告，Canvas 會為每份報告建立索引標籤。

匯入資料集時，原始資料集會顯示在資料流量中，並命名為**來源**。SageMaker Canvas 會自動推論資料集中每個資料欄的類型，並建立名為**資料類型**的新資料框架。您可以選取此框架來更新推論的資料類型。

您在資料流程中使用的資料集、轉換和分析會以*步驟*表示。每次新增轉換步驟時，都將建立一個新的資料框架。將多個轉換步驟 (**聯結**或**串連**除外) 新增至相同的資料集時，這些步驟會堆疊。

在**合併資料**下，**聯結**和**串聯**會建立包含新聯結或串聯資料集的獨立步驟。

# 編輯資料流程取樣組態
<a name="canvas-data-flow-edit-sampling"></a>

將表格式資料匯入至 Data Wrangler 資料流程時，您可以選擇取得資料集的範例，以加速資料探索和清理程序。在資料集範例上執行探索性轉換通常比在整個資料集上執行轉換更快，而且當您準備好匯出資料集並建置模型時，您可以將轉換套用至完整資料集。

Canvas 支援下列取樣方法：
+ **FirstK** - Canvas 會從您的資料集中選取前 *K* 個項目，其中 *K* 是您指定的數字。此取樣方法很簡單，但如果您的資料集不是隨機排序，則可能會發生偏差。
+ **隨機** - Canvas 會隨機從資料集中選取項目，每個項目的選擇機率相等。此取樣方法有助於確保範例代表整個資料集。
+ **分層** - Canvas 會根據一或多個屬性 (例如年齡和收入層級)，將資料集分成群組 (或*分層*)。然後，從每個群組中隨機選取一定數量的項目。此方法可確保在範例中充分體現所有相關子群組。

您可以隨時編輯取樣組態，以變更用於資料探索的範例大小。

若要變更您的取樣組態，請執行下列動作：

1. 在資料流程圖中，選取您的資料來源節點。

1. 選擇底部導覽列上的**取樣**。

1. **取樣**對話方塊隨即開啟。在**取樣方法**下拉式清單中，選取所需的取樣方法。

1. 針對**範例大小上限**，輸入您要取樣的資料列數。

1. 選擇 **Update (更新)** 以儲存您的設定。

現在應套用取樣組態的變更。

# 為您的資料流程新增步驟
<a name="canvas-data-flow-add-step"></a>

在 Data Wrangler 資料流程中，您可以新增代表資料轉換和分析的步驟。

若要將步驟新增至資料流程，請選取任何資料集節點旁邊的 **＋** 或先前新增的步驟。然後，選取下列其中一個選項：
+ **編輯資料類型** (僅適用於**資料類型**步驟)：如果您尚未將任何轉換新增至**資料類型**步驟，您可以按兩下流程中的**資料類型**步驟，以開啟**資料**索引標籤，並編輯 Data Wrangler 在匯入資料集時推論的資料類型。
+ **新增轉換**：會新增轉換步驟。請參閱[轉換資料](canvas-transform.md)，以進一步了解您可以新增的資料轉換。
+ **取得資料洞見**：新增分析，例如長條圖或自訂視覺化。您可以使用此選項，在資料流量中的任何點分析資料。請參閱[執行探索性資料分析 (EDA)](canvas-analyses.md)，以進一步了解您可以新增的分析內容。
+ **聯結**：在**合併資料**下尋找此選項，以聯結兩個資料集，並將產生的資料集新增至資料流程。如需詳細資訊，請參閱 [聯結資料集](canvas-transform.md#canvas-transform-join)。
+ **串聯**：在**合併資料**下尋找此選項，以串聯兩個資料集，並將產生的資料集新增至資料流程。如需詳細資訊，請參閱 [串連資料集](canvas-transform.md#canvas-transform-concatenate)。

# 編輯資料流程步驟
<a name="canvas-data-flow-edit-steps"></a>

在 Amazon SageMaker Canvas 中，您可以編輯資料流程中的個別步驟以轉換資料集，而無需建立新的資料流程。以下頁面涵蓋如何編輯聯結和串聯步驟，以及資料來源步驟。

## 編輯聯結和串聯步驟
<a name="canvas-data-flow-edit-join-concat"></a>

在資料流程中，您可以靈活地編輯聯結和串聯步驟。您可以對資料處理工作流程進行必要的調整，確保您的資料正確合併和轉換，而不必重做整個資料流程。

若要編輯資料流程中的聯結或串聯步驟，請執行下列動作：

1. 開啟資料流程。

1. 選擇您要編輯的聯結或串聯節點旁邊的加號圖示 (**＋**)。

1. 從內容功能表選擇 **Edit (編輯)**。

1. 側邊面板隨即開啟，您可以在其中編輯聯結或串聯的詳細資訊。修改您的步驟欄位，例如聯結類型。若要交換資料節點並選取不同的節點來聯結或串聯，請選擇節點旁邊的刪除圖示，然後在資料流程檢視中，選取您要包含在轉換中的新節點。
**注意**  
在編輯過程中交換節點時，您只能選取聯結或串聯操作之前發生的步驟。您可以交換左節點或右節點，但一次只能交換一個節點。此外，您無法選取來源節點做為替換節點。

1. 選擇**預覽**以檢視合併操作的結果。

1. 選擇 **Update (更新)** 以儲存您的設定。

您的資料流程現在應該已更新。

## 編輯或取代資料來源步驟
<a name="canvas-data-flow-edit-source"></a>

您可能需要對資料來源或資料集進行變更，而不刪除套用至原始資料的轉換和資料流程步驟。在 Data Wrangler 內，您可以編輯或取代資料來源組態，同時保留資料流程的步驟。編輯資料來源時，您可以變更匯入設定，例如取樣大小或方法，以及任何進階設定。您也可以新增更多具有相同結構描述的檔案，或者對於查詢型資料來源，例如 Amazon Athena，您可以編輯查詢。取代資料來源時，您有選項可以選取不同的資料集，或甚至從不同的資料來源匯入資料，只要新資料的結構描述符合原始資料。

若要連線到資料來源組態，請執行以下動作。

1. 在 Canvas 應用程式中，前往 **Data Wrangler** 頁面。

1. 選擇要檢視的資料流程。

1. 在顯示資料流程步驟的**資料流程**索引標籤中，尋找您要編輯的**來源**節點。

1. 選擇**來源**節點旁的省略符號圖示。

1. 從內容功能表選擇 **Edit (編輯)**。

1. 對於 Amazon S3 資料來源和本機上傳，您有選項可以選取或上傳更多與原始資料具有相同結構描述的檔案。對於查詢型資料來源，例如 Amazon Athena，您可以在視覺化查詢建置器中移除和選取不同的資料表，也可以直接編輯 SQL 查詢。完成後，請選擇 **Next (下一步)**。

1. 對於**匯入設定**，進行任何所需的變更。

1. 完成後，請選擇**儲存變更**。

您的資料來源現在應已更新。

若要取代資料來源，請執行下列動作：

1. 在 Canvas 應用程式中，前往 **Data Wrangler** 頁面。

1. 選擇要檢視的資料流程。

1. 在顯示資料流程步驟的**資料流程**索引標籤中，尋找您要編輯的**來源**節點。

1. 選擇**來源**節點旁的省略符號圖示。

1. 從內容功能表中，選擇**取代**。

1. 完成[建立資料流程體驗](canvas-data-flow.md)，以選取另一個資料來源和資料。

1. 當您選取了資料並準備好更新來源節點時，請選擇**儲存**。

您現在應該會在資料流程中看到**來源**節點已更新。

# 重新排序資料流程中的步驟
<a name="canvas-data-flow-reorder-steps"></a>

將步驟新增至資料流程後，您可以選擇重新排序步驟，而不是以正確的順序刪除並重新新增這些步驟。例如，您可能會決定在格式化字串的步驟之前移動轉換來插補缺失值。

**注意**  
您無法變更特定步驟類型的順序，例如定義資料來源、變更資料類型、聯結、串聯或分割。無法重新排序的步驟會在 Canvas 應用程式 UI 中呈現灰色。

若要重新排序資料流程步驟，請執行下列動作：

1. 在 Data Wrangler 中編輯資料流程時，請選擇**資料**索引標籤。稱為**步驟**的側邊面板會依序列出您的資料流程步驟。

1. 將滑鼠暫留在轉換步驟上，然後選擇該步驟旁邊的**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 從內容功能表中，選擇**重新排序**。

1. 將資料流程步驟拖放至所需的順序。

1. 完成後，請選擇**儲存**。

您的資料流程步驟和圖表現在應該反映您所做的變更。

# 從資料流程中刪除步驟
<a name="canvas-data-flow-delete-step"></a>

在資料流程內，您可以靈活地刪除聯結和串聯步驟，並選擇是否仍將任何後續轉換套用至您的資料。

若要從資料流程中刪除聯結或串聯步驟，請執行下列動作：

1. 開啟資料流程。

1. 選擇您要刪除的聯結或串聯節點旁邊的加號圖示 (**＋**)。

1. 在內容功能表中，選擇 **Delete (刪除)**。

1. (選用) 如果您在聯結或串聯步驟之後有轉換步驟，您可以選擇是否要保留後續轉換步驟，並將其分別新增至每個資料節點。在**刪除聯結**側邊面板中，選擇要取消選取的節點，並移除任何後續的轉換步驟。您可以保持選取兩個節點以保留所有轉換步驟，也可以取消選取兩個節點以捨棄所有轉換步驟。

   下列螢幕擷取畫面顯示此步驟，只選取兩個資料節點的第二個。當成功刪除聯結時，後續的**重新命名資料欄**轉換只會由第二個資料節點保留。  
![\[Data Wrangler 中資料流程的螢幕擷取畫面，其中顯示刪除聯結檢視。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-data-flow-delete-step.png)

1. 選擇 **刪除**。

現在應該從您的資料流程中移除了聯結或串聯步驟。

# 執行探索性資料分析 (EDA)
<a name="canvas-analyses"></a>

Data Wrangler 包含內建分析，只要按幾下滑鼠，即可協助您產生視覺化和資料分析。您還可以使用自己的程式碼建立自訂分析。

在資料流程中選取一個步驟，然後選擇**新增分析**，藉此將一項分析新增至資料框。若要存取您已建立的分析，請選取包含分析的步驟，然後選取分析。

分析會使用最多 200,000 個資料列的範例來產生，而且您可以設定範例大小。如需變更資料流程範例大小的詳細資訊，請參閱[編輯資料流程取樣組態](canvas-data-flow-edit-sampling.md)。

**注意**  
分析針對 1000 個或更少資料欄的資料進行最佳化。使用其他資料欄產生資料分析時，您可能會遇到一些延遲。

您可以將下列分析新增至資料框：
+ 資料視覺化，包括長條圖和散佈圖。
+ 資料集的快速摘要，包括項目數量、最小值和最大值 (針對數值資料)，以及最常用和最不常用的類別 (針對分類資料)。
+ 資料集的快速模型，可用來產生每個功能的重要性分數。
+ 目標洩漏報告，可用於確定一個或多個功能是否與目標功能有密切關聯。
+ 使用您自己的程式碼自訂視覺化。

使用以下各章節以進一步了解這些選項。

## 取得有關資料和資料品質的洞見
<a name="canvas-data-insights"></a>

使用**資料品質與洞察報告**，對已匯入至 Data Wrangler 的資料執行分析。建議您在匯入資料集之後建立報告。您可以使用該報告來幫助您清理和處理資料。它為您提供相關資訊，像是缺少值的數量和極端值數量等。如果您的資料有問題，例如目標洩漏或不平衡，洞察報告可以提醒您注意這些問題。

使用下列程序建立資料品質與洞察報告。它假設您已將資料集匯入 Data Wrangler 流程。

**若要建立資料品質與洞察報告**

1. 選擇 Data Wrangler 流程中節點旁邊的省略符號。

1. 選取**取得資料洞見**。

1. 針對**分析類型**，選取**資料品質和洞見報告**。

1. **分析名稱**的部分，指定洞察報告的名稱。

1. 為**問題類型**指定**迴歸**或**分類**。

1. 針對**目標欄**，指定目標欄。

1. 針對**資料大小**，請指定下列其中一項：
   + **取樣資料集** - 使用來自資料流程的互動式範例，最多可包含 200,000 個資料列的資料集。如需如何編輯範例大小的相關資訊，請參閱[編輯資料流程取樣組態](canvas-data-flow-edit-sampling.md)。
   + **完整資料集** - 使用來自資料來源的完整資料集來建立報告。
**注意**  
對整個資料集建立資料品質與洞察報告，將使用 Amazon SageMaker Processing 任務。SageMaker 處理任務會佈建所需的其他運算資源，以取得所有資料的洞見。如需 SageMaker 處理任務的詳細資訊，請參閱 [使用 SageMaker Processing 的資料轉換工作負載](processing-job.md)。

1. 選擇**建立**。

下列主題顯示報告的各區段：

**Topics**
+ [摘要](#canvas-data-insights-summary)
+ [目標欄](#canvas-data-insights-target-column)
+ [快速模型](#canvas-data-insights-quick-model)
+ [功能摘要](#canvas-data-insights-feature-summary)
+ [範例](#canvas-data-insights-samples)
+ [定義](#canvas-data-insights-definitions)

您可以下載報告或線上查看報告。若要下載報告，請選取畫面右上角的下載按鈕。

### 摘要
<a name="canvas-data-insights-summary"></a>

洞察報告提供資料的簡短摘要，其中包含一般資訊，例如缺少值、無效值、功能類型、極端值計數等。它還可以包含高嚴重性警告，指出資料可能出現的問題。出現警告時，建議您進行調查。

### 目標欄
<a name="canvas-data-insights-target-column"></a>

當您建立資料品質與洞察報告時，Data Wrangler 會提供選取目標欄的選項。目標欄是您試圖預測的資料欄。當您選擇目標欄時，Data Wrangler 會自動建立目標欄分析。它還按照其預測能力的順序，對功能進行排名。當您選取目標欄時，您必須指定要試圖解決迴歸還是分類問題。

分類問題的話，Data Wrangler 顯示一個資料表和直方圖，其中包含最常見的分類。一個類別就是一個分類。它還會呈現觀測值或資料行，顯示缺少或無效的目標值。

迴歸問題的話，Data Wrangler 會顯示目標欄中所有值的長條圖。它還會呈現觀測值或資料行，顯示缺少、無效或極端的目標值。

### 快速模型
<a name="canvas-data-insights-quick-model"></a>

**快速模型**提供以您的資料訓練的模型，其預期的預測品質估計。

Data Wrangler 會將您的資料分割成訓練和驗證折疊。它使用 80％ 的樣本進行訓練，20％ 的值進行驗證。分類的話，取樣是採分層分割。分層分割情況下，每個資料分割區具有相同的標籤比例。分類問題的話，重要的是要在訓練和分類折疊之間保持相同的標籤比例。Data Wrangler 使用預設的超參數來訓練 XGBoost 模型。它適用於驗證資料提前停止的情形，並執行最小的功能預先處理。

分類模型的話，Data Wrangler 會傳回模型摘要和混淆矩陣。

 若要進一步了解分類模型摘要傳回的資訊，請參閱[定義](#canvas-data-insights-definitions)。

混淆矩陣為您提供以下資訊：
+ 預測標籤與實際標籤相符的次數。
+ 預測標籤與實際標籤不相符的次數。

實際標籤代表在資料中實際觀察到的情形。例如，如果您使用模型來偵測詐騙交易，則實際標籤代表該交易實際上是否為詐騙。預測標籤表示模型指派給資料的標籤。

您可以透過混淆矩陣，查看模型預測條件存在或不存在的情況。如果您要預測詐騙交易，則可以使用混淆矩陣來了解模型的敏感度和明確性。敏感度是指模型偵測詐騙交易的能力。明確性是指模型避免將非詐騙交易檢測為詐騙交易的能力。

### 功能摘要
<a name="canvas-data-insights-feature-summary"></a>

當您指定目標欄時，Data Wrangler 會依其預測力對功能排序。預測力是在資料分成 80% 訓練和 20% 驗證折疊之後測量的。針對訓練折疊上的每項個別特徵，Data Wrangler 都會對應一個模型。它會套用最少的特徵預處理，並測量驗證資料的預測效能。

它將分數標準化為 [0,1] 範圍。較高的預測分數，表示這些資料欄單獨使用時，對於預測目標更為有用。得分較低，表示這些欄對於預測目標欄來說不具預測能力。

當一欄單獨來看不具預測性時，它與其他欄搭配使用時通常也不會變得有預測性。您可以放心地使用預測分數，來判斷資料集內的特徵是否可預測。

分數較低通常表示該特徵是多餘的。分數為 1 意味著完美的預測能力，這通常表示目標洩漏。目標洩漏通常發生在資料集包含一個欄，其在預測時間內為不可用。例如，它可能是目標欄的副本。

### 範例
<a name="canvas-data-insights-samples"></a>

Data Wrangler 會提供有關您的樣本是否異常，或資料集內是否有所重複的資訊。

Data Wrangler 使用*隔離樹演算法*偵測異常樣本。隔離樹會將異常狀況分數與資料集的每個樣本 (列) 產生關聯。低異常狀況分數表示出現異常樣本。高分與非異常樣本有關。具有負異常狀況分數的樣本通常被視為異常，具有正異常狀況分數的樣本被視為非異常。

當您查看可能異常的樣本時，我們建議您注意不尋常的值。例如，您的極端值可能是由於收集和處理資料時發生錯誤而產生的。以下是根據 Data Wrangler 對隔離樹演算法實作的最異常樣本範例。我們建議您在檢查異常樣本時，運用領域知識和商業邏輯。

Data Wrangler 會偵測重複的資料列，並計算資料中重複資料列的比例。某些資料來源可能包含有效的重複項。其他資料來源可能具有指向資料收集問題的重複項目。由於錯誤的資料收集而產生的重複範例，可能會干擾將資料分割為獨立訓練和驗證折疊的機器學習程序。

以下是可能受到重複樣本影響的洞察報告元素：
+ 快速模型
+ 預測力估算
+ 自動超參數調校

您可以使用**管理列**底下的**捨棄重複**轉換工具，從資料集中移除重複樣本。Data Wrangler 會顯示最常重複的資料列。

### 定義
<a name="canvas-data-insights-definitions"></a>

下列是資料洞見報告中使用的技術詞彙定義。

------
#### [ Feature types ]

以下是每個特徵類型的定義：
+ **數值** — 數值可以是浮點數或整數，例如年齡或收入。機器學習模型假設數值已排序，並定義相關距離。例如，3 比 10 更接近 4，而 3 < 4 < 10。
+ **分類** - 資料欄項目屬於一組唯一值，通常比資料欄中的項目數小得多。例如，長度為 100 的欄可以包含唯一值`Dog`、`Cat`和`Mouse`。這些值可以是數值、文字或兩者的組合。 `Horse`、`House`、`8`、`Love`和`3.1`是有效值，並且可以在相同的分類欄中找到。有別於數字特徵，機器學習模型不會假設分類特徵值的順序或距離，即使所有值都是數字。
+ **二進位** — 二進位功能是一種特殊的分類功能類型，其中一組唯一值的基數為 2。
+ **文字** — 文字欄包含許多非數字的唯一值。在極端情況下，資訊欄的所有元素都是唯一的。在極端情況下，沒有任何項目是相同的。
+ **日期時間** — 日期時間欄包含日期或時間的相關資訊。它可以同時具有日期和時間的資訊。

------
#### [ Feature statistics ]

以下是每個特徵統計資料的定義：
+ **預測力**-預測力是衡量資訊欄在預測目標方面的有用程度。
+ **極端值** (在數值欄中) — Data Wrangler 使用兩種對極端值的統計資料來偵測極端值：中間值和強大的標準偏差 (RSTD)。RSTD 是透過將特徵值裁剪為 [5 百分位數, 95 百分位數] 範圍，並計算裁剪向量的標準偏差而得出。所有大於中間值 \$1 5 \$1 RSTD 或小於 中間值 - 5 \$1 RSTD 的值都被視為極端值。
+ **偏態** (在數值欄中) — 偏態用來衡量分佈的對稱性，並定義為分佈的三階矩除以標準偏差的三次方。常態分佈或任何其他對稱分佈的偏態為零。正值表示分佈的右尾長於左尾。負值表示分佈的左尾長於右尾。根據經驗法則，當偏態的絕對值大於 3 時，分佈會被視為偏斜。
+ **峰態** (以數值欄表示) — 皮爾森峰度測量分佈尾端的厚度。它被定義成第四矩除以第二矩的平方。常態分佈的峰態為 3。峰態值小於 3，代表分佈集中在平均值周圍，尾部比常態分佈的尾部輕。峰態值大於 3 代表尾部較重或極端值。
+ **缺少值**-類似空值的物件，空字串和僅由空格組成的字串，其被視為缺少值。
+ **數值功能或迴歸目標的有效值** — 可投射為有限浮點數的所有值都有效。缺少值無效。
+ **分類、二進位或文字功能或分類目標的有效值** — 所有未缺少的值都有效。
+ **日期時間功能** — 可轉換為日期時間物件的所有值都有效。缺少值無效。
+ **無效值** — 缺少或無法正確轉換的值。例如，在數值欄中，您無法轉換字串`"six"`或 Null 值。

------
#### [ Quick model metrics for regression ]

以下是快速模型指標的定義：
+ R2 或決定係數) — R2 是模型預測的目標中變化的比例。R2 在 [負無限，1] 的範圍內。1 是完美預測目標的模型的分數，0 表示簡單模型總是預測目標的平均值。
+ MSE 或均方誤差 — MSE 在 [0，無限] 範圍內。0 是完美預測目標的模型的分數。
+ MAE 或平均絕對誤差 — MAE 在 [0，無限] 範圍內，0 是完美預測目標模型的分數。
+ MSE 或均方根誤差 — RMSE 在 [0，無限] 範圍內。0 是完美預測目標的模型的分數。
+ 最大誤差 — 錯誤在資料集上的最大絕對值。最大誤差在 [0，無限] 範圍內。0 是完美預測目標的模型的分數。
+ 中間值絕對誤差 — 中間值絕對誤差在 [0，無限] 範圍內，0 是完美預測目標模型的分數。

------
#### [ Quick model metrics for classification ]

以下是快速模型指標的定義：
+ **準確度** — 準確度是準確預測樣本的比率。準確度在 [0, 1] 範圍內。0 是所有樣本預測失敗的模型分數，1 是完美模型的分數。
+ **平衡準確度** — 平衡準確度是在調整類別權重以平衡資料時，預測正確的樣本比例。不論分類出現的頻率如何，所有類別都被視為同等重要。平衡準確度在 [0, 1] 範圍內。0 是所有樣本預測錯誤的模型分數，1 是完美模型的分數。
+ **AUC (二進制分類)** — 這是接收者操作特性曲線下的面積。AUC 在 [0, 1] 範圍內，其中隨機模型傳回 0.5 的分數，完美模型會傳回 1 的分數。
+ **AUC (OVR)** — 對於多類別分類，這是使用一對多方法分別計算每個標籤的接收者操作特性曲線下的面積。Data Wrangler 報告面積的平均值。AUC 在 [0, 1] 範圍內，其中隨機模型傳回 0.5 的分數，完美模型會傳回 1 的分數。
+ **精確度**-精確度是針對特定類別定義的。精確度是是模型將一個類別正確分類的執行個體數，除以所有被模型分類為該類別的執行個體數之所得。精確度在 [0, 1] 範圍內，1 是沒有類別誤報的模型分數。如為二進制分類，Data Wrangler 報告正類別的精確度。
+ **召回率** － 召回率是針對特定類別定義的。召回率表示成功檢索到的相關類別執行個體數，占所有相關類別執行個體數的比例。召回率範圍在 [0, 1] 之間，1 是該類別所有執行個體經正確分類模型的分數。如為二進制分類，Data Wrangler 報告正類別的召回率。
+ **F1** — F1 是針對特定類別定義的。這是精確度和召回率之間的調和平均數。F1 在 [0, 1] 範圍內，1 是完美模型的分數。如為二進制分類，Data Wrangler 會針對具有正值的類別報告 F1。

------
#### [ Textual patterns ]

**模式**使用易於閱讀的格式來描述字串的文字格式。下列是文字模式的範例：
+ “\$1digits:4-7\$1” 描述長度介於 4 和 7 之間的數字序列。
+ “\$1alnum:5\$1” 描述長度恰好為 5 的英數混合字串。

Data Wrangler 會從資料中查看非空字串的樣本來推斷模式。它可以描述許多常用的模式。以百分比表示的**信賴度**，表示估計值與模式相符的資料量。使用文字模式，您可以查看資料中需要更正或捨棄的行。

以下說明 Data Wrangler 可以辨識的模式：


| 模式 | 文字格式 | 
| --- | --- | 
|  \$1alnum\$1  |  英數字串  | 
|  \$1any\$1  |  任何字詞字元字串  | 
|  \$1digits\$1  |  數字序列  | 
|  \$1lower\$1  |  一個小寫單字  | 
|  \$1mixed\$1  |  一個混合大小寫的單字  | 
|  \$1name\$1  |  開頭為大寫字母的單字  | 
|  \$1upper\$1  |  一個大寫單字  | 
|  \$1空格\$1  |  空格字元  | 

單字字元可以是底線，或可能出現在任何語言單字中的字元。例如，字串 `'Hello_word'` 和 `'écoute'` 都由單字字元組成。'H' 和 'é' 都是單字字元的範例。

------

## 偏差報告
<a name="canvas-bias-report"></a>

SageMaker Canvas 會在 Data Wrangler 中提供偏差報告，協助發現資料中的潛在偏差。偏差報告會分析目標欄 (標籤) 與您認為可能包含偏差的資料欄 (面向變數) 之間的關係。例如，如果您試圖預測客戶轉換率，則面向變數可能是客戶的年齡。偏差報告可協助您判斷您的資料是否偏向特定年齡群組。

若要在 Canvas 中產生偏差報告，請執行下列動作：

1. 在 Data Wrangler 的資料流程中，選擇流程中節點旁邊的**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 從內容功能表中，選擇**取得資料洞見**。

1. **建立分析**側邊面板隨即開啟。針對**分析類型**下拉式功能表，選取**偏差報告**。

1.  在**分析名稱**欄位中，輸入偏差報告的名稱。

1. 針對**選取模型預測的資料欄 (目標)** 下拉式功能表，選取您的目標資料欄。

1. 對於**預測資料欄是否為值或閾值？**，如果您的目標資料欄具有分類值，則選取**值**，或如果具有數值，則選取**閾值**。

1. 針對**預測值** (或**預測閾值**，視您在上一個步驟中的選擇而定)，輸入目標資料欄值或對應至正面結果的值。例如，如果預測客戶轉換，您的值可能是 `yes`，表示客戶已轉換。

1. 針對**選取要分析偏差的資料欄**下拉式功能表，選取您認為可能包含偏差的資料欄，也稱為面向變數。

1. 針對**資料欄是否為值或閾值？**，如果面向變數具有分類值，則選取**值**，或如果具有數值，則選取**閾值**。

1. 針對**要分析偏差的資料欄值** (或**要分析偏差的資料欄閾值**，視您在上一個步驟的選擇而定)，輸入一個或多個您要分析潛在偏差的值。例如，如果您要檢查是否對特定年齡的客戶有偏差，請使用該年齡範圍的開頭做為閾值。

1. 針對**選擇偏差指標**，選取您要包含在偏差報告中的偏差指標。將滑鼠懸停在資訊圖示上方，以取得每個指標的詳細資訊。

1. (選用) 當使用選項**您想要分析其他指標嗎？**提示您，請選取**是**以檢視並包含更多偏差指標。

1. 當您準備好建立偏差報告時，請選擇**新增**。

一旦產生，報告就會為您提供所選偏差指標的概觀。您可以隨時從資料流程的**分析**索引標籤檢視偏差報告。

## 直方圖
<a name="canvas-visualize-histogram"></a>

使用長條圖來查看特定功能的功能值計數。您可以使用**顏色顯示依據**選項，檢查功能之間的關係。

您可以使用**構面顯示依據**功能，為另一欄中的每個值，建立一欄的長條圖。

## 散佈圖
<a name="canvas-visualize-scatter-plot"></a>

使用**散佈圖**功能檢查功能之間的關係。若要建立散佈圖，請選取要在 **X 軸**和 **Y 軸**上繪製的功能。這兩個資料欄都必須是數字類型的資料欄。

您可以按附加資料欄為散佈圖著色。

此外，您可以按功能構面劃分散佈圖。

## 資料表摘要
<a name="canvas-table-summary"></a>

使用**資料表摘要**分析來快速總結資料。

對於包含數值資料的資料欄，包括對數和浮點資料，表格摘要裡會告訴您每欄的條目數 (count)、最小值 (min)、最大值 (max)、平均值 (mean)和標準差 (stddev)。

對於包含非數值資料的資料欄，像是字串、布林值或日期/時間資料的，表格摘要會告訴您每欄的項目數 (計數)、最少出現的值 (最小值) 和最常出現的值 (最大值)。

## 快速模型
<a name="canvas-quick-model"></a>

使用**快速模型**視覺化可快速評估您的資料，並為每項功能產生重要性分數。[功能重要性評分](http://spark.apache.org/docs/2.1.0/api/python/pyspark.ml.html#pyspark.ml.classification.DecisionTreeClassificationModel.featureImportances)評分代表該功能在預測目標標籤方面的有用程度。功能重要性評分介於 [0, 1] 之間，較高的數字表示該功能對整個資料集更為重要。在快速模型圖表的頂部，有一個模型分數。分類問題顯示 F1 評分。迴歸問題具有均方錯誤 (MSE) 評分。

建立快速模型圖表時，您可以選取要評估的資料集，以及要比較功能重要性的目標標籤。Data Wrangler 會進行以下項目：
+ 推論所選資料集中，目標標籤和每項功能的資料類型。
+ 決定問題類型。基於標籤欄中的數字相異值，Data Wrangler 判斷這是迴歸還是分類問題類型。Data Wrangler 設置一個分類閾值為 100。如果標籤欄中有超過 100 個相異值，則 Data Wrangler 會將其歸類為迴歸問題；沒有的話，會歸類為分類問題。
+ 預先處理功能和訓練用標籤資料。使用的演算法需要將功能編碼成向量類型，並將標籤編碼成雙精度浮點數類型。
+ 使用 70％ 資料訓練一組隨機森林演算法。Spark 的[RandomForestRegressor](https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-regression)用於訓練迴歸問題的模型。[RandomForestClassifier](https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-classifier)用於訓練分類問題的模型。
+ 使用剩餘 30% 的資料評估隨機森林模型。Data Wrangler 使用 F1 分數評估分類模型，並使用 MSE 分數評估迴歸模型。
+ 使用 Gini 重要性方法計算每個功能的功能重要性。

## 目標洩漏
<a name="canvas-analysis-target-leakage"></a>

當機器學習訓練資料集中存在與目標標籤密切關聯的資料，但在實際資料中無法使用時，就會發生目標洩漏。例如，您的資料集中可能有一個資料欄，作為您要使用模型預測資料欄的代理。

使用**目標洩漏**分析時，請指定下列項目：
+ **目標**：這是您希望機器學習 (ML) 模型能夠進行預測的功能。
+ **問題類型**：這是您正在使用的機器學習 (ML) 問題類型。問題類型可以是**分類**或**迴歸**。
+  (選用) **最大功能數**：這是視覺化中顯示的功能數量上限，顯示依據其目標洩漏風險進行排序。

在分類問題中，目標洩漏分析使用接收者操作特性下的區域，或每欄使用 AUC-ROC 曲線，最多到**功能最大值**。迴歸問題中，它使用判定係數或 R2 指標。

AUC-ROC 曲線提供了一個預測指標，在最多約 1000 個資料列的樣本中，針對每個資料欄使用交叉驗證個別運算。分數為 1 代表完美的預測能力，這通常表示目標洩漏。分數為 0.5 或更低，表示資料欄上的資訊本身無法提供任何有用的預測目標資訊。雖然資料欄本身可能不具有效資訊，但在與其他功能串聯使用來預測目標很有用，但分數較低可能表示該功能是多餘的。

## 多共線性
<a name="canvas-multicollinearity"></a>

多共線性是兩個或多個預測器變數彼此相關的情況。預測器變數是資料集內，用來預測目標變數的功能。當您具有多重共線性時，預測器變數不僅可以預測目標變數，還可以預測彼此。

您可以使用**變異數膨脹因子 (VIF)**、**主成份分析 (PCA)**或**套索功能選擇**，以測量資料中多重共線性。如需更多資訊，請參閱下列內容。

------
#### [ Variance Inflation Factor (VIF) ]

變異數膨脹因子 (VIF) 是對變數對之間共線性的測量方法。Data Wrangler 會傳回 VIF 評分，以衡量變數彼此相關的程度。VIF 分數是大於或等於 1 的正數。

分數為 1 表示變數與其他變數不相關。分數大於 1 表示相關性較高。

理論上，您可以獲得值為無限大的 VIF 分數。Data Wrangler 的評分上限為 50。如果您的 VIF 分數大於 50，Data Wrangler會將分數設定為 50。

您可以使用下列指南來解讀 VIF 評分：
+ VIF 分數小於或等於 5，表示變數與其他變數適度相關。
+ VIF 分數大於或等於 5，表示變數與其他變數高度相關。

------
#### [ Principle Component Analysis (PCA) ]

主成份分析 (PCA) 測量功能空間中沿不同方向的資料變異。功能空間包含了您用來預測資料集中，目標變數的所有預測器變數。

例如，如果您試圖預測在 *RMS 鐵達尼號*撞上冰山後仍存活下來的人，您的功能空間可以包括乘客的年齡、性別以及他們支付的票價。

從功能空間中，PCA 會產生變異數的排序清單。這些變異數也稱為奇異值。變異數清單中的值大於或等於 0。我們可以使用它們來確定資料中有多少的多重共線性。

當數字大致一致時，資料具有極少數多重共線性的執行個體。當值之間存在很多變異性時，就有許多的多重共線性的執行個體。在執行 PCA 之前，Data Wrangler 將每個功能標準化，使其平均值為 0，標準偏差為 1。

**注意**  
在這種情況下，PCA 也可以稱為奇異值分解 (SVD)。

------
#### [ Lasso feature selection ]

套索功能選擇使用 L1 正則化技術，只在資料集中包含最多的預測功能。

不論是分類或迴歸，正則化技術都會為每個功能產生一個係數。係數的絕對值為功能提供重要性分數。較高的重要性分數表示它對目標變數的預測性較高。一種常見的功能選擇方法，是使用所有非零套索係數的功能。

------

## 偵測時間序列資料中的異常狀況
<a name="canvas-time-series-anomaly-detection"></a>

您可以使用異常偵測視覺化來查看時間序列資料中的極端值。要了解決異常狀況的原因，您需要了解我們將時間序列分解為預測項和錯誤項。我們將時間序列的季節性和趨勢視為預測項。我們將殘差視為錯誤項。

錯誤項的話，您可以指定閾值，作為殘差可偏離平均值的標準差數，以便將其視為異常狀況。例如，您可以將閾值指定為 3 個標準差。任何超過 3 個偏離平均值標準差的殘差都是異常狀況。

您可以使用下列程序來執行**異常偵測**分析。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增分析**。

1. 在**分析類型**部分，選擇**時間序列**。

1. 在**視覺化**部分，選擇**異常偵測**。

1. 在**異常狀況閾值**部分，選擇閾值以判定異常的值。

1. 選擇**預覽**以產生分析的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

## 時間序列資料中的季節趨勢分解
<a name="canvas-seasonal-trend-decomposition"></a>

您可以使用季節性趨勢分解視覺化，來判斷時間序列資料中是否有季節性。我們使用 STL (使用 LOESS 分解季節趨勢) 方法進行分解。我們將時間序列分解為季節性、趨勢和殘差部分。該趨勢反映了該系列的長期進展。季節性部分是在一段時間內反覆出現的訊號。從時間序列中移除趨勢和季節性部分後，就是殘差部分。

您可以使用下列程序來執行**季節性-趨勢分解**分析。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增分析**。

1. 在**分析類型**部分，選擇**時間序列**。

1. 在**視覺化**中，選擇**季節性-趨勢分解**。

1. 在**異常狀況閾值**部分，選擇閾值以判定異常的值。

1. 選擇**預覽**以產生分析的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

## 建立自訂視覺化
<a name="canvas-visualize-custom"></a>

您可以將分析新增至 Data Wrangler 流程，以建立自訂視覺化。您的資料集和已套用的所有轉換，都可以作為[Pandas DataFrame](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html)使用。Data Wrangler 使用`df`變數來儲存資料框。您可以透過呼叫變數來存取資料框。

您必須提供輸出變數`chart`，才能儲存 [Altair](https://altair-viz.github.io/) 輸出圖表。例如，您可以透過下列程式碼區塊，使用 Titanic 資料集建立自訂長條圖。

```
import altair as alt
df = df.iloc[:30]
df = df.rename(columns={"Age": "value"})
df = df.assign(count=df.groupby('value').value.transform('count'))
df = df[["value", "count"]]
base = alt.Chart(df)
bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count'))
rule = base.mark_rule(color='red').encode(
    x='mean(value):Q',
    size=alt.value(5))
chart = bar + rule
```

**若要建立自訂視覺化：**

1. 在包含您想要視覺化之轉換的節點旁邊，選擇 **\$1**。

1. 選擇 **新增分析**。

1. **分析類型**部分，請選擇**自訂視覺化**。

1. **分析名稱**部分，指定一個名稱。

1. 在程式碼方框中輸入您的代碼。

1. 選擇**預覽**以預覽視覺化。

1. 選擇**儲存**以新增視覺化。

如果您不知道如何在 Python 使用 Altair 視覺化套裝元件，可以使用自訂程式碼片段來協助您入門。

Data Wrangler 有一個可搜尋的視覺化程式碼片段集合。若要使用視覺化程式碼片段，請選擇**搜尋範例程式碼片段**，然後在搜尋列中指定查詢。

下面的範例使用**量化散點圖**程式碼片段。它繪製出一份二維的長條圖。

這些程式碼片段有註解，可協助您了解您需要對程式碼進行的變更。您通常需要在程式碼中指定資料集的資料欄名稱。

```
import altair as alt

# Specify the number of top rows for plotting
rows_number = 1000
df = df.head(rows_number)  
# You can also choose bottom rows or randomly sampled rows
# df = df.tail(rows_number)
# df = df.sample(rows_number)


chart = (
    alt.Chart(df)
    .mark_circle()
    .encode(
        # Specify the column names for binning and number of bins for X and Y axis
        x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)),
        y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)),
        size="count()",
    )
)

# :Q specifies that label column has quantitative type.
# For more details on Altair typing refer to
# https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types
```

# 轉換資料
<a name="canvas-transform"></a>

Amazon SageMaker Data Wrangler 提供大量的機器學習資料轉換，以簡化資料的清理和特徵化作業。使用 Data Wrangler 中的互動式資料準備工具，您可以使用各種取樣技術來取樣任何大小的資料集，並在幾分鐘內開始探索您的資料。在取樣資料上完成資料轉換後，您可以擴展資料流程，將這些轉換套用至整個資料集。

當您新增轉換時，它會在資料流程中新增一個步驟。您新增的每個轉換都會修改資料集並產生新的資料框。所有後續轉換都會套用至產生的資料框。

Data Wrangler 包含內建的轉換，您可以用它來轉換資料欄，而不需要任何程式碼。如果您知道如何準備資料，但不知道如何開始使用或使用哪些轉換，您可以使用聊天進行資料準備功能，與 Data Wrangler 對話互動，並使用自然語言套用轉換。如需詳細資訊，請參閱[聊天進行資料準備](canvas-chat-for-data-prep.md)。

您還可以使用 PySpark、Python (使用者定義函式)、pandas 和 PySpark SQL 來新增自訂轉換。有些轉換會就地運作，而有些則會在資料集中建立新的輸出資料欄。

您可以一次將轉換套用至多個資料欄。例如，您可以在一個步驟中刪除多個欄位。

您只能將**處理數字**和**處理遺漏**轉換套用至單一資料欄。

使用此頁面進一步了解 Data Wrangler 提供的內建和自訂轉換。

## 聯結資料集
<a name="canvas-transform-join"></a>

您可以直接在資料流程中聯結資料集。聯結兩個資料集時，產生的聯結資料集會顯示在流程中。Data Wrangler 目前支援下列聯結類型。
+ **Left outer** - 包括左表中的所有資料列。如果左側資料表列中聯結的資料欄值與右側資料表列值不相符，則該資料列會包含聯結資料表中所有右側資料表欄位的 Null 值。
+ **Left anti** – 在聯結欄的右表中包含左表中不包含值的資料列。
+ **Left semi** – 針對符合聯結陳述式中標準的所有相同列，包括左側資料表中的單一資料列。這會排除左側資料表中符合聯結標準的重複資料列。
+ **Right outer** – 包括右表中的所有資料列。如果右側資料表列中聯結的資料欄值與左側資料表列值不相符，則該資料列會包含聯結資料表中所有左側資料表欄位的 Null 值。
+ **Inner** – 包括左右表格中包含聯結欄中相符值的資料列。
+ **Full outer** – 包括左表和右表中的所有資料列。如果任一表格中聯結資料欄的列值不相符，則會在聯結的表格中建立單獨的列。如果資料列不包含聯結資料表中的欄值，則會針對該資料欄插入 null。
+ **Cartesian cross** – 包括將第一個資料表中的每一列與第二個資料表中的每一列合併的資料列。這是來自聯結表列的[笛卡爾乘積](https://en.wikipedia.org/wiki/Cartesian_product)。乘積的結果是左表的大小乘以右表的大小。因此，我們建議您在非常大的資料集之間要謹慎使用此聯結。

使用以下程序來聯結兩個資料集。您應該已將兩個資料來源匯入資料流程中。

1. 選取您要聯結之左節點旁邊的**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。您選取的第一個節點始終是聯結中的左表。

1. 將滑鼠懸停在**合併資料**上方，然後選擇**聯結**。

1. 選取正確的節點。您選取的第二個節點始終是聯結中的右表。

1. **聯結類型**欄位預設為**內部聯結**。選取下拉式功能表以變更聯結類型。

1. 對於**聯結金鑰**，驗證您要用來聯結資料的左表和右表中的資料欄。您可以新增或移除其他聯結金鑰。

1. 針對**聯結名稱**，輸入聯結資料的名稱，或使用預設名稱。

1. (選用) 選擇**預覽**以預覽聯結的資料。

1. 選擇**新增**以完成聯結。

**注意**  
如果您收到通知，指出 Canvas 在聯結資料時未識別任何相符的資料列，我們建議您確認您已選取正確的資料欄，或更新範例以嘗試尋找相符的資料列。您可以選擇不同的取樣策略或變更範例的大小。如需如何編輯範例的相關資訊，請參閱[編輯資料流程取樣組態](canvas-data-flow-edit-sampling.md)。

您現在應該會看到聯結節點已新增至資料流程。

## 串連資料集
<a name="canvas-transform-concatenate"></a>

串聯透過將資料列從一個資料集附加到另一個資料集來合併兩個資料集。

使用以下程序來串聯兩個資料集。您應該已將兩個資料來源匯入資料流程中。

**若要串聯兩個資料集：**

1. 選取您要串聯的左節點旁邊的**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。您選取的第一個節點始終是串聯操作中的左表。

1. 將滑鼠懸停在**合併資料**上方，然後選擇**串聯**。

1. 選取正確的節點。您選取的第二個節點始終是串聯中的右表。

1. (選用) 選取**串連後移除重複項目**旁的核取方塊以移除重複的資料欄。

1. (選用) 選取**新增資料欄以指示來源資料框**旁邊的核取方塊，將資料欄新增至產生的資料框，其中列出每筆記錄的來源資料集。

   1. 針對**指標資料欄名稱**，輸入所新增資料欄的名稱。

   1. 針對**指出字串的第一個資料集**，輸入您要用來標記第一個資料集 (或左節點) 中記錄的值。

   1. 針對**指出字串的第二個資料集**，輸入您要用來標記第二個資料集 (或右節點) 中記錄的值。

1. 針對**串聯名稱**，輸入串聯的名稱。

1. (選用) 選擇**預覽**以預覽串聯的資料。

1. 若要將新資料集新增至資料流程，請選擇**新增**。

您現在應該會看到將串聯節點已新增至資料流程。

## 平衡資料
<a name="canvas-transform-balance-data"></a>

您可以平衡不具代表性類別資料集的資料。平衡資料集可協助您建立更好的二進制分類模型。

**注意**  
您無法平衡包含資料欄向量的資料集。

您可以使用**平衡資料**作業以使用下列任一個運算子平衡資料：
+ *隨機過採樣* – 隨機複製少數類別中的範例。例如，如果您試圖偵測欺詐，則可能只有 10% 的資料中有欺詐案例。對於相同比例的欺詐和非欺詐性案件，此運算子會在資料集中隨機複製 8 次欺詐案例。
+ *隨機欠採樣*– 大致與隨機過採樣類似。從過度代表的類別中隨機移除範例，以獲得您想要的範例比例。
+ *合成少數過採樣技術 (SMOTE)* – 使用欠代表類別的範例插入新的合成少數範例。如需有關 SMOTE 的詳細資訊，請參閱以下說明。

您可以對同時包含數值和非數值特徵的資料集使用所有轉換。SMOTE 會使用相鄰範例來內插數值。Data Wrangler 使用 R 平方距離來決定附加範例內插的鄰近點。Data Wrangler 僅使用數字特徵來計算不具代表性群組中範例之間的距離。

對於不具代表性群組中的兩個實際範例，Data Wrangler 會使用加權平均值插補數字特徵。它將權重隨機分配給 [0, 1] 範圍內的範例。對於數字特徵，Data Wrangler 會使用範例的加權平均值插補樣本。對於範例 A 和 B，Data Wrangler 可以隨機分配權重 0.7 到 A，0.3 分配給 B。內插範例具有 0.7A \$1 0.3B 的值。

Data Wrangler 透過複製任一插補的實際範例來插補非數字特徵。它以隨機分配給每個範例的概率複製範例。對於範例 A 和 B，它可以將概率 0.8 分配給 A，將 0.2 分配給 B。對於它分配的機率，它在 80% 的情況下複製 A。

## 自訂轉換
<a name="canvas-transform-custom"></a>

**自訂轉換**群組允許您使用 Python (使用者定義函式)、PySpark、pandas 或 PySpark (SQL) 來定義自訂轉換。對於這三個選項，您可以使用變數 `df` 來存取要套用轉換的資料框。要將自訂程式碼應用於資料框，請分配具有對 `df` 變量進行的轉換的資料框。如果您不使用 Python (使用者定義函式)，則無須納入 return 陳述式。選擇**預覽**以預覽自訂轉換的結果。選擇**新增**，將自訂轉換新增至**上一個步驟**清單。

您可以使用自訂轉換程式碼區塊中的 `import` 陳述式匯入常用程式庫，如下所示：
+ NumPy 版本 1.19.0
+ scikit-learn version 0.23.2
+ SciPy 版本 1.5.4
+ pandas 版本 1.0.3
+ PySpark 版本 3.0.0

**重要**  
**自訂轉換**不支援名稱中包含空格或特殊字元的資料欄。建議您指定只有英數字元和底線的資料欄名稱。您可以使用**管理資料欄**中的**重新命名資料欄**轉換來轉換群組，以移除資料欄名稱的空格。您還可以新增類似於以下內容的 ** Python (Pandas)****自訂轉換**，以在一個步驟中從多個資料欄中刪除空格。這個範例會將名為 `A column` 和 `B column` 的資料欄分別變更為 `A_column` 和 `B_column`。  

```
df.rename(columns={"A column": "A_column", "B column": "B_column"})
```

如果您在程式碼區塊中包含列印陳述式，結果會在您選取**預覽**時顯示。您可以調整自訂程式碼轉換器面板的大小。調整面板大小會提供更多撰寫程式碼的空間。

下列各節提供撰寫自訂轉換程式碼的其他內容和範例。

**Python (使用者定義函式)**

Python 函式使您能夠編寫自訂轉換，而無需知道 Apache Spark 或 pandas 的能力。Data Wrangler 經過最佳化，可以快速執行自訂程式碼。您可以使用自訂 Python 程式碼和 Apache Spark 外掛程式獲得類似的性能。

若要使用 Python (使用者定義函式) 程式碼區塊，請指定下列項目：
+ **輸入資料欄** – 您要套用轉換的輸入資料欄。
+ **模式** – 腳本模式，可以是 pandas 或 Python。
+ **傳回類型** – 您要傳回值的資料類型。

使用 pandas 模式可提供更好的性能。Python 模式使您可以更輕鬆地使用純 Python 函式來編寫轉換。

**PySpark**

下列範例會從時間戳記擷取日期和時間。

```
from pyspark.sql.functions import from_unixtime, to_date, date_format
df = df.withColumn('DATE_TIME', from_unixtime('TIMESTAMP'))
df = df.withColumn( 'EVENT_DATE', to_date('DATE_TIME')).withColumn(
'EVENT_TIME', date_format('DATE_TIME', 'HH:mm:ss'))
```

**pandas**

下列範例提供您要新增轉換之資料框的概觀。

```
df.info()
```

**PySpark (SQL)**

以下範例建立了一個包含以下四個資料欄的新資料框：*姓名*、*船票價格*、*船票等級*、*是否倖存*。

```
SELECT name, fare, pclass, survived FROM df
```

如果您不知道如何使用 PySpark，可以使用自訂程式碼片段來協助您入門。

Data Wrangler 有一個可搜尋的程式碼片段集合。您可以使用程式碼片段來執行工作，例如捨棄欄、按欄分組或建立模型。

若要使用程式碼片段，請選擇**搜尋範例程式碼片段**，然後在搜尋列中指定查詢。您在查詢中指定的文字不一定要完全符合程式碼片段的名稱。

下列範例顯示**捨棄重複資料列**程式碼片段，此程式碼片段可刪除資料集中具有類似資料的資料列。您可以搜尋下列其中一項來尋找程式碼片段：
+ Duplicates (複製)
+ Identical (相同)
+ Remove (移除)

下列程式碼片段有註解，可協助您瞭解您需要進行的變更。對於大多數程式碼片段，您必須在程式碼中指定資料集的資料欄名稱。

```
# Specify the subset of columns
# all rows having identical values in these columns will be dropped

subset = ["col1", "col2", "col3"]
df = df.dropDuplicates(subset)  

# to drop the full-duplicate rows run
# df = df.dropDuplicates()
```

若要使用程式碼片段，請將其內容複製並貼到**自訂轉換**欄位中。您可以將多個程式碼片段複製並貼到自訂轉換欄位中。

## 自訂公式
<a name="canvas-transform-custom-formula"></a>

使用**自訂公式**可使用 Spark SQL 運算式來定義新資料欄，以查詢目前資料框中的資料。查詢必須使用 Spark SQL 運算式的慣例。

**重要**  
**自訂公式**不支援名稱中包含空格或特殊字元的資料欄。建議您指定只有英數字元和底線的資料欄名稱。您可以使用**管理資料欄**中的**重新命名資料欄**轉換來轉換群組，以移除資料欄名稱的空格。您還可以新增類似於以下內容的 ** Python (Pandas)****自訂轉換**，以在一個步驟中從多個資料欄中刪除空格。這個範例會將名為 `A column` 和 `B column` 的資料欄分別變更為 `A_column` 和 `B_column`。  

```
df.rename(columns={"A column": "A_column", "B column": "B_column"})
```

您可以使用此轉換對資料欄執行作業，並依名稱參照資料欄。例如，假設目前的資料框包含名為 *col\$1a* 和 *col\$1 b* 的資料欄，您可以使用以下操作產生一個**輸出欄**，該欄是這兩個欄的乘積，程式碼如下：

```
col_a * col_b
```

假設資料框包含 `col_a` 和 `col_b` 欄，則其他常見操作包括以下內容：
+ 串連兩欄：`concat(col_a, col_b)`
+ 新增兩欄：`col_a + col_b`
+ 減去兩欄：`col_a - col_b`
+ 分隔兩欄：`col_a / col_b`
+ 取一欄的絕對值：`abs(col_a)`

如需詳細資訊，請參閱選取資料相關的 [Spark 文件](http://spark.apache.org/docs/latest/api/python)。

## 降低資料集內的維度
<a name="canvas-transform-dimensionality-reduction"></a>

使用主元件分析 (PCA) 降低資料的維度。資料集的維度會對應特徵數量。當您在 Data Wrangler 中使用降維時，您會得到一組稱為元件的新特徵。每個元件都會考慮資料中的某些變異。

第一個元件會考慮資料中最大的變異量。第二個元件會考慮資料中第二大的變異量，以此類推。

您可以使用降維來減少用於訓練模型的資料集大小。您可以改用主體元件，而不是使用資料集中的特徵。

若要執行 PCA，Data Wrangler 會為您的資料建立軸。軸是資料集中資料欄的仿射組合。第一個主元件是軸上具有最大變異數的值。第二個主元件是軸上具有第二大變異數的值。第 n 個主元件是軸上具有第 n 大變異數的值。

您可以設定 Data Wrangler 傳回的主元件數目。您可以直接指定主要元件的數目，也可以指定變異數閾值百分比。每個主元件都會解釋資料中的變異數。例如，您可能有一個值為 0.5 的主元件。該元件將說明 50% 的資料變異數。當您指定變異數閾值百分比時，Data Wrangler 會傳回符合指定百分比的最小元件數目。

以下是主體元件範例，其中包含它們在資料中解釋的變異數。
+ 元件 1 – 0.5
+ 元件 2 – 0.45
+ 元件 3 – 0.05

如果您指定 `94` 或 `95` 的變異數閾值百分比，則 Data Wrangler 會傳回元件 1 和元件 2。如果您指定 `96` 的變異數閾值百分比，則 Data Wrangler 會傳回所有三個主要元件。

您可以使用下列程序在資料集上執行 PCA。

若要在資料集上執行 PCA，請執行以下操作。

1. 開啟 Data Wrangler 資料流程。

1. 選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**降維**。

1. 對於**輸入資料欄**，請選擇要縮減為主要元件的特徵。

1. (選用) 在**主要元件數目**中，選擇 Data Wrangler 在資料集中傳回的主要元件數目。如果指定欄位的值，就無法指定**變異數閾值百分比**的值。

1. (選用) 針對**變異數閾值百分比**，指定您要由主體元件解釋的變異數百分比。如果您未指定變異數閾值的話，Data Wrangler 會使用 `95` 的預設值。如果您已指定 **主要元件數目**的值，則無法指定變異數閾值百分比。

1. (選用) 取消選取**置中**以不使用資料欄的平均值做為資料的中心。根據預設，Data Wrangler 會在調整資料之前以平均值為中心。

1. (選用) 取消選取**縮放**，不會以單位標準差縮放資料。

1. (選用) 選擇**資料欄**，將元件輸出至不同的資料欄。選擇**向量**，將元件輸出為單一向量。

1. (選用) 對於 **輸出欄**，指定輸出資料欄的名稱。如果要將元件輸出到單獨的欄，則指定的名稱為字首。如果要將元件輸出到向量，則指定的名稱是向量欄的名稱。

1. (選用) 選取**保留輸入資料欄**。如果您計劃僅使用主體元件來訓練模型，則不建議選取此選項。

1. 選擇**預覽**。

1. 選擇**新增**。

## 分類編碼
<a name="canvas-transform-cat-encode"></a>

分類資料通常由有限數量的類別組成，其中每個類別都以字串表示。例如，如果您有一個客戶資料表，則表示使用者所居住的國家/地區的資料欄即為類別。類別為*阿富汗*、*阿爾巴尼亞*、*阿爾及利亞*等。分類資料可以是*名目*或*序數*。序數類別具有固有的順序，名目類別則沒有。獲得的最高學位 (*高中*、*學士*、*碩士*等) 是序數類別的一個例子。

編碼分類資料是為類別建立數值表示的過程。例如，如果您的類別是*狗*和*貓*，則可以將此資訊編碼為兩個向量，`[1,0]` 表示 *狗*，而 `[0,1]` 表示*貓*。

當您編碼序數類別時，您可能需要將類別的自然順序轉換為編碼。例如，您可以透過以下地圖表示取得的最高學位：`{"High school": 1, "Bachelors": 2, "Masters":3}`。

使用分類編碼將字串格式的分類資料編碼為整數陣列。

Data Wrangler 分類編碼器會在定義步驟時，為資料欄中存在的所有類別建立編碼。您啟動 Data Wrangler 工作以在時間 *t* 處理資料集時，如果已將新類別新增至資料欄，而且此資料欄是在 *t-1* 時間進行 Data Wrangler 分類編碼轉換的輸入，則這些新類別會被視為在 Data Wrangler 工作中*遺失*。您為**無效處理策略**選取的選項會套用至這些缺少值上。何時可能發生這種情況的範例如下：
+ 當您使用 .flow 檔案建立 Data Wrangler 工作以處理在建立資料流程後更新的資料集時。例如，您可以使用資料流程來定期處理每個月的銷售資料。如果銷售資料每週更新一次，則可能會在已定義編碼分類步驟的欄中引入新類別。
+ 當您在匯入資料集時，選取**取樣**，某些類別可能會被排除在範例之外。

在這些情況下，這些新類別會被視為 Data Wrangler 工作中的缺少值。

您可以選擇和設定*序數*和 *one-hot 編碼*。閱讀下列章節以進一步瞭解這些選項。

這兩種轉換都會建立名為**輸出欄名稱**的新資料欄。您可以使用**輸出樣式**以指定此資料欄的輸出格式：
+ 選取**向量**以產生含稀疏向量的單一資料欄。
+ 選取**資料欄**可為每個類別建立一個欄，其中包含一個指標變數，用於指示原本資料欄中的文字是否包含等於該類別的值。

### 序數編碼
<a name="canvas-transform-cat-encode-ordinal"></a>

選取**序數編碼**，將類別編碼為介於 0 和所選**輸入欄**中類別總數之間的整數。

**無效的處理策略**：選取處理無效或缺少值的方法。
+ 如果您要省略缺少值的資料列，請選擇**略過**。
+ 選擇**保留**，將缺少值保留為最後一個類別。
+ 如果您希望 Data Wrangler 在**輸入**欄中遇到缺少值時擲回錯誤，請選擇**錯誤**。
+ 選擇**以 NaN 取代**，以用 NaN 取代缺少值。如果您的機器學習 (ML) 演算法可以處理缺少值，則建議使用此選項。否則，此清單中的前三個選項可能會產生更好的結果。

### One-Hot 編碼
<a name="canvas-transform-cat-encode-onehot"></a>

為**轉換**選取 **One-hot 編碼**，即可使用 one-hot 編碼。使用下列項目設定此轉換：
+ **捨棄最後一個類別**：如果 `True`，則最後一個類別在 one-hot 編碼中沒有對應的索引。如果可能存在缺少值，則缺少的類別始終為最後一個類別，並將其設定為 `True` 表示缺少值會導致全部零向量。
+ **無效的處理策略**：選取處理無效或缺少值的方法。
  + 如果您要省略缺少值的資料列，請選擇**略過**。
  + 選擇**保留**，將缺少值保留為最後一個類別。
  + 如果您希望 Data Wrangler 在**輸入**欄中遇到缺少值時擲回錯誤，請選擇**錯誤**。
+ **輸入序數是否編碼**：如果輸入向量包含序數編碼資料，請選取此選項。此選項要求輸入資料包含非負數整數。如果為 **True**，則輸入 *i* 會編碼為第 *i* 個位置中具有非零的向量。

### 相似性編碼
<a name="canvas-transform-cat-encode-similarity"></a>

當您具有以下條件時，請使用相似性編碼：
+ 大量的類別變數
+ 雜訊資料

相似性編碼器為具有分類資料的資料欄建立嵌入。內嵌是指從離散物件 (例如單字) 到實數向量的映射。它將類似的字串編碼為包含相似值的向量。例如，它為 “California” 和 “Calfornia” 建立非常相似的編碼。

Data Wrangler 會使用 3 gram 權杖產生器，將資料集中的每個類別轉換成一組權杖。它將權杖轉換為使用 mini-hash 編碼的內嵌。

Data Wrangler 建立的相似性編碼：
+ 具有較低的維度
+ 可擴展到大量類別
+ 堅固耐用且抗雜噪

由於上述原因，相似性編碼比 one-hot 編碼更多樣化。

使用下列程序，新增相似性編碼轉換。

若要使用相似性編碼，請執行以下操作。

1. 登入 [Amazon SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 選擇**開啟 Studio Classic**。

1. 選擇**啟動應用程式**。

1. 選擇 **Studio**。

1. 指定資料流程。

1. 選擇具有轉換的步驟。

1. 選擇**新增步驟**。

1. 選擇**編碼分類**。

1. 指定下列內容：
   + **轉換** – **相似性編碼**
   + **輸入資料欄** – 包含您正在編碼的分類資料欄。
   + **目標維度** – (選用) 分類內嵌向量的維度。預設值為 30。如果您的大型資料集包含許多類別，建議您使用較大的目標維度。
   + **輸出樣式** – 針對包含所有編碼值的單一向量選擇**向量**。選擇**資料欄**將編碼值放在不同的資料欄中。
   + **輸出資料欄** – (選用) 向量編碼輸出的輸出資料欄名稱。對於資料欄編碼的輸出，這是資料欄名稱的字首，隨後接續列出的數字。

## 功能化文字
<a name="canvas-transform-featurize-text"></a>

使用**功能化文字**轉換群組來偵測字串類型的資料欄，並使用內嵌文字來功能化這些資料欄。

此特徵群組包含兩個功能，分別為*字元統計資料*和*向量化*。閱讀下列章節以進一步瞭解這些轉換。對於這兩個選項，**輸入欄**必須包含文字資料 (字串類型)。

### 字元統計資料
<a name="canvas-transform-featurize-text-character-stats"></a>

使用**字元統計資料**來產生包含文字資料之資料欄中每一個資料列的統計資料。

此轉換會針對每一列計算下列比率和計數，並建立新資料欄來報告結果。新資料欄的名稱是使用輸入資料欄名稱做為字首，以及特定比率或計數的字尾。
+ **字數**：該行中的單詞總數。此輸出資料欄的字尾為 `-stats_word_count`。
+ **字元數**：該列中的字元總數。此輸出資料欄的字尾為 `-stats_char_count`。
+ **上限比率**：A 到 Z 的大寫字元數除以欄中的所有字元。此輸出資料欄的字尾為 `-stats_capital_ratio`。
+ **下限比率**：a 到 z 的小寫字元數除以欄中的所有字元。此輸出資料欄的字尾為 `-stats_lower_ratio`。
+ **位數比率**：單一列中的位數與輸入欄中的位數總合的比率。此輸出資料欄的字尾為 `-stats_digit_ratio`。
+ **特殊字元比率**：非英數字元 (例如 \$1\$1&%:@ 等字元) 與輸入欄中所有字元總和的比率。此輸出資料欄的字尾為 `-stats_special_ratio`。

### 向量化
<a name="canvas-transform-featurize-text-vectorize"></a>

文字嵌入涉及將字彙中的單字或片語映射到實數向量。使用 Data Wrangler 文字內嵌轉換，以將權杖化和向量化文字資料轉為詞頻逆向檔案頻率 (TF-IDF) 向量。

當針對一欄文字資料計算 TF-IDF 時，每個句子中的每個單字都會轉換成代表其語意重要性的實數。較高的數字與較不頻繁的單詞相關聯，這往往會更有意義。

定義**向量化**轉換步驟時，Data Wrangler 會使用資料集中的資料來定義 CountVectorizer 和 TF-IDF 方法。執行 Data Wrangler 工作會使用這些相同的方法。

您可以使用下列項目設定此轉換：
+ **輸出資料欄名稱**：此轉換作業會建立含有內嵌文字的新資料欄。使用此欄位可指定此輸出資料欄的名稱。
+ **權杖產生器：**權杖產生器將句子轉換為單詞或*權杖*清單。

  選擇**標準**以使用透過空格分割並將每個單字轉換為小寫的權杖產生器。例如，`"Good dog"` 會被權杖化為 `["good","dog"]`。

  選擇**自訂**以使用自訂的權杖產生器。如果您選擇**自訂**，您可以透過下列欄位來設定權杖產生器：
  + **權杖長度下限**：有效權杖的最小長度 (以字元為單位)。預設為 `1`。例如，如果您指定 `3` 為權杖長度下限，則會從權杖化句子中捨棄類似 `a, at, in` 的文字。
  + **Reggex 應該在差距上分割**：如果選擇，**Regex** 會在差距上分割。否則則會符合權杖。預設為 `True`。
  + **Regex 模式**：定義權杖化程序的 Regex 模式。預設為 `' \\ s+'`。
  + **轉為小寫**：如果選擇，則 Data Wrangler 在權杖化之前會將所有字元轉換為小寫字母。預設為 `True`。

  如需進一步了解，請參閱[權杖產生器](https://spark.apache.org/docs/latest/ml-features#tokenizer)上的 Spark 文件。
+ **向量化器**：向量化器會將權杖清單轉換為稀疏的數值向量。每個權杖對應於向量中的索引，而非零表示輸入句子中存在權杖。您可以從兩個向量化器選項中進行選擇，*計數*和*雜湊*。
  + **計數向量化**允許自訂不常見或過於常見權杖的篩選條件。**計數向量化參數**包含以下內容：
    + **字詞頻率下限**：在每一列中，會篩選頻率較低的字詞 (權杖)。如果指定整數，此整數為絕對閾值 (含)。如果您指定介於 0 (含) 和 1 之間的分數，則閾值與總字詞數相關。預設為 `1`。
    + **文件頻率下限**：必須呈現包含字詞 (權杖) 的列數下限。如果指定整數，此整數為絕對閾值 (含)。如果您指定介於 0 (含) 和 1 之間的分數，則閾值與總字詞數相關。預設為 `1`。
    + **文件頻率上限**：必須呈現包含字詞 (權杖) 的文件 (列) 數上限。如果指定整數，此整數為絕對閾值 (含)。如果您指定介於 0 (含) 和 1 之間的分數，則閾值與總字詞數相關。預設為 `0.999`。
    + **字彙大小上限**：字彙的大小上限。字彙由資料欄中所有列中的所有字詞 (權杖) 組成。預設為 `262144`。
    + **二進位輸出**：如果選取，向量輸出不包括文件中字詞的出現次數，而是其出現次數的二進位指標。預設為 `False`。

    要進一步了解此選項，請參閱與 [CountVectorizer](https://spark.apache.org/docs/latest/ml-features#countvectorizer) 相關的 Spark 文件。
  + **雜湊**計算速度更快。**雜湊向量化參數**包含以下內容：
    + **雜湊期間的特徵數**：雜湊向量器根據其雜湊值將權杖映射到向量索引。此特徵決定可能的雜湊值的數目。較大的值會女導致雜湊值之間的衝突較少，但維度輸出向量較高。

    要進一步了解此選項，請參閱與 [FeatureHasher](https://spark.apache.org/docs/latest/ml-features#featurehasher) 相關的 Spark 文件。
+ **套用 IDF**會套用 IDF 轉換，該轉換會將術語出現頻率與用於 TF-IDF 嵌入的標準反向文件頻率相乘。**IDF 參數**包含以下項目：
  + **文件頻率下限**：必須呈現包含字詞 (權杖) 的文件 (列) 數下限。如果 **count\$1vectorize** 是選擇的向量化器，我們建議您保留預設值，並且只在**計數向量化**參數中修改 **min\$1doc\$1freq** 欄位。預設為 `5`。
+ **輸出格式**：每列的輸出格式。
  + 選取**向量**以產生含稀疏向量的單一資料欄。
  + 選取**平面化**可為每個類別建立一個欄，其中包含一個指標變數，用於指示原本資料欄中的文字是否包含等於該類別的值。只有當**向量化器**設定為**計數向量化器**時，您才能選擇平面化。

## 轉換時間序列
<a name="canvas-transform-time-series"></a>

在 Data Wrangler 中，您可以轉換時間序列資料。時間序列資料集中的值會編製索引至特定時間。例如，顯示一天中每小時商店中客戶數量的資料集就是時間序列資料集。下表顯示時間序列資料集的範例。

每小時店內客戶數


| 顧客人數 | 時間 (小時) | 
| --- | --- | 
| 4 | 09：00 | 
| 10 | 10：00 | 
| 14 | 11：00 | 
| 25 | 12：00 | 
| 20 | 13：00 | 
| 18 | 14：00 | 

對於前面的表格，**客戶數量**欄包含時間序列資料。時間序列資料會根據**時間 (小時)** 欄中的每小時資料編製索引。

您可能需要對資料執行一系列轉換，才能取得可用於分析格式的資料。使用**時間序列**轉換群組來轉換您的時間序列資料。如需有關您可以執行的轉換詳細資訊，請參閱下列各節。

**Topics**
+ [依時間序列分組](#canvas-group-by-time-series)
+ [重新取樣時間序列資料](#canvas-resample-time-series)
+ [處理缺少的時間序列資料](#canvas-transform-handle-missing-time-series)
+ [驗證時間序列資料的時間戳記](#canvas-transform-validate-timestamp)
+ [標準化時間序列的長度](#canvas-transform-standardize-length)
+ [從時間序列資料擷取特徵](#canvas-transform-extract-time-series-features)
+ [從時間序列資料使用延遲特徵](#canvas-transform-lag-time-series)
+ [在時間序列中建立日期時間範圍](#canvas-transform-datetime-range)
+ [在您的時間序列中使用滾動時段](#canvas-transform-rolling-window)

### 依時間序列分組
<a name="canvas-group-by-time-series"></a>

您可以透過作業群組，將資料欄中特定值的時間序列資料分組。

例如，下列表格可讓您追蹤家庭每日平均用電量。

平均每日家庭用電量


| 家庭 ID | 每日時間戳 | 用電量 (千瓦小時) | 住戶人數序列 | 
| --- | --- | --- | --- | 
| household\$10 | 1/1/2020 | 30 | 2 | 
| household\$10 | 1/2/2020 | 40 | 2 | 
| household\$10 | 1/4/2020 | 35 | 3 | 
| household\$11 | 1/2/2020 | 45 | 3 | 
| household\$11 | 1/3/2020 | 55 | 4 | 

如果您選擇按 ID 進行分組，您會得到下表。

用電量按家庭 ID 分組


| 家庭 ID | 用電量序列 (千瓦小時) | 住戶人數序列 | 
| --- | --- | --- | 
| household\$10 | [30, 40, 35] | [2, 2, 3] | 
| household\$11 | [45, 55] | [3, 4] | 

時間序列中的每個項目都會依對應的時間戳記排序。序列的第一個元素對應於該系列的第一個時間戳記。對於 `household_0`，`30`是用**電量序列**的第一個值。`30` 的值對應於 `1/1/2020` 的第一個時間戳記。

您可以包含開始時間戳記和結束時間戳記。下表顯示該資訊的顯示方式。

用電量按家庭 ID 分組


| 家庭 ID | 用電量序列 (千瓦小時) | 住戶人數序列 | Start\$1time | End\$1time | 
| --- | --- | --- | --- | --- | 
| household\$10 | [30, 40, 35] | [2, 2, 3] | 1/1/2020 | 1/4/2020 | 
| household\$11 | [45, 55] | [3, 4] | 1/2/2020 | 1/3/2020 | 

您可以透過下列程序，依照時間序列資料欄分組。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**時間序列**。

1. 在**變形**下，選擇**分組條件**。

1. 在**依此欄分組**中指定資料欄。

1. 對**套用至欄**指定一個值。

1. 選擇**預覽**以產生轉換的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

### 重新取樣時間序列資料
<a name="canvas-resample-time-series"></a>

時間序列資料通常具有不定期取樣的觀察值。例如，資料集可能會有一些每小時記錄的觀察值，以及每兩個小時記錄一次的其他觀察值。

許多分析，例如預測演算法，都需要定期取樣觀察值。重新取樣可讓您為資料集中的觀察值建立定期間隔的取樣時間。

您可以對時間序列進行擴大取樣或縮減取樣。縮減取樣會增加資料集中觀察值取樣的間隔時間。例如，如果您縮減取樣每小時或每兩個小時取樣一次的觀察值，則資料集中的每個觀察值會每兩小時取樣一次。每小時觀察值會使用彙總方法 (例如平均值或中值) 彙總成單一值。

擴大取樣縮減資料集中觀察取樣的間隔時間。例如，如果您將每兩個小時採樣一次的觀測值擴大取樣為每一小時取樣一次，則可以使用插補方法從每兩個小時取樣的觀察值來推斷每小時觀察值。如需有關插補方法的資訊，請參閱[pandas.DataFrame.interpolate](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)。

您可以重新取樣數值和非數值資料。

使用**重新取樣**作業重新取樣時間序列資料。如果您的資料集中有多個時間序列，Data Wrangler 會將每個時間序列的時間間隔標準化。

下表顯示使用均值作為彙總方法以縮減取樣時間序列資料的範例。資料會從每兩個小時縮減取樣到每小時一次。

縮減取樣前一天的每小時溫度讀數


| 時間戳記 | 溫度 (攝氏) | 
| --- | --- | 
| 12：00 | 30 | 
| 1:00 | 32 | 
| 2:00 | 35 | 
| 3:00 | 32 | 
| 4:00 | 30 | 

溫度讀數縮減取樣至每兩小時


| 時間戳記 | 溫度 (攝氏) | 
| --- | --- | 
| 12：00 | 30 | 
| 2:00 | 33.5 | 
| 4:00 | 35 | 

您可以透過下列程序，重新取樣照時間序列資料。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**重新取樣**。

1. 對於**時間戳記**，選擇時間戳記欄。

1. 對於**頻率單位**，指定要重新取樣的頻率。

1. (選用) 指定**頻率數量**的值。

1. 指定剩餘欄位以設定轉換。

1. 選擇**預覽**以產生轉換的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

### 處理缺少的時間序列資料
<a name="canvas-transform-handle-missing-time-series"></a>

如果資料集中有缺少值，您可以執行以下其中一項作業：
+ 對於具有多個時間序列的資料集，請捨棄缺少值大於指定閾值的時間序列。
+ 使用時間序列中的其他值來推算時間序列中的缺少值。

推算缺少值涉及透過指定一個值或透過使用推論方法來取代資料。以下是您可以用於推算的方法：
+ 常數值 – 以您指定的值取代資料集中所有遺失的資料。
+ 最常見的值 – 以資料集中出現頻率最高的值取代所有遺失的資料。
+ 向前填充 – 使用向前填充，將缺少值取代為缺少值之前的非缺少值。對於序列：[2，4，7，NaN，NaN，Nan, 8]，所有缺少值取代為 7。使用向前填充後產生的序列為 [2, 4, 7, 7, 7, 7, 8]。
+ 向後填充 – 使用向後填充，將缺少值取代為缺少值後面的非缺少值。對於序列：[2，4，7，NaN，NaN，Nan, 8]，所有缺少值取代為 8。使用向後填充後產生的序列為 [2, 4, 7, 8, 8, 8, 8]。
+ 插補 – 使用插補函式來推算缺少值。如需有關可用於插補的函式詳細資訊，請參閱 [pandas.DataFrame.interpolate](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)。

某些推算方法可能無法推算出資料集的所有缺少值。例如，**向前填充**無法推算出現在時間序列開頭的缺少值。您可以使用向前填充或向後填充來推算值。

您可以推算儲存格內或資料欄內的缺少值。

以下範例顯示如何在儲存格內推算值。

用電量的缺少值


| 家庭 ID | 用電量序列 (千瓦小時) | 
| --- | --- | 
| household\$10 | [30, 40, 35, NaN, NaN] | 
| household\$11 | [45, NaN, 55] | 

使用向前填充推算出用電量的值


| 家庭 ID | 用電量序列 (千瓦小時) | 
| --- | --- | 
| household\$10 | [30, 40, 35, 35, 35] | 
| household\$11 | [45, 45, 55] | 

以下範例顯示如何在資料欄內推算值。

家庭平均每日用電量的缺少值


| 家庭 ID | 用電量 (千瓦小時) | 
| --- | --- | 
| household\$10 | 30 | 
| household\$10 | 40 | 
| household\$10 | NaN | 
| household\$11 | NaN | 
| household\$11 | NaN | 

使用向前填充推算出平均每日家庭用電量的值


| 家庭 ID | 用電量 (千瓦小時) | 
| --- | --- | 
| household\$10 | 30 | 
| household\$10 | 40 | 
| household\$10 | 40 | 
| household\$11 | 40 | 
| household\$11 | 40 | 

您可以使用以下程序處理缺少值。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**處理缺少**。

1. 針對**時間序列輸入類型**，選擇是要處理儲存格內部或資料欄的缺少值。

1. 對於**為此欄輸入缺少值**，請指定具有缺少值的資料欄。

1. 對於**推算值的方法**，請選取一種方法。

1. 指定剩餘欄位以設定轉換。

1. 選擇**預覽**以產生轉換的預覽。

1. 如果缺少值，您可以在**用於推算值的方法**下指定推算值的方法。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

### 驗證時間序列資料的時間戳記
<a name="canvas-transform-validate-timestamp"></a>

您可能有無效的時間戳記資料。您可以使用**驗證時間戳記**功能來判斷資料集中的時間戳記是否有效。您的時間戳記可能因以下一個或多個原因而無效：
+ 您的時間戳記欄有缺少值。
+ 時間戳記欄中的值格式不正確。

如果您的資料集中有無效的時間戳記，就無法成功執行分析。您可以使用 Data Wrangler 識別無效的時間戳記，並了解您需要清理資料的位置。

時間序列驗證可以下列兩種的其中一種方式運作：

您可以設定 Data Wrangler，以在資料集中遇到缺少值時執行以下其中一項作業：
+ 捨棄具有缺少值或無效值的列。
+ 識別具有缺少值或無效值的列。
+ 如果在資料集中發現任何缺少或無效的值，就會擲回錯誤。

您可以驗證具有 `timestamp` 類型或 `string` 類型的資料欄上的時間戳記。如果資料行具有`string`類型，Data Wrangler 會將資料行的類型轉換為`timestamp`並執行驗證。

您可以使用下列程序驗證資料集中的時間戳記。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**驗證時間戳記**。

1. 對於**時間戳記欄**，請選擇時間戳記欄。

1. 在 **政策**中，選擇是否要處理缺少的時間戳記。

1. (選用) 對於 **輸出欄**，指定輸出資料欄的名稱。

1. 如果日期時間欄要針對字串類型進行格式化，請選擇**轉換為日期時間**。

1. 選擇**預覽**以產生轉換的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

### 標準化時間序列的長度
<a name="canvas-transform-standardize-length"></a>

如果您將時間序列資料儲存為陣列，則可以將每個時間序列標準化為相同的長度。標準化時間序列陣列的長度可能會讓您更輕鬆地對資料執行分析。

您可以將時間序列標準化，以進行需要固定資料長度的資料轉換。

許多機器學習 (ML) 演算法會要求您在使用時間序列資料之前，先將其平面化。平面化時間序列資料會將時間序列的每個值分隔成資料集中的專屬資料欄。資料集中的資料欄數目無法變更，因此在您將每一陣列平面化為特徵集的期間，需要標準化時間序列的長度。

每個時間序列都會設定為您指定為時間序列集的分位數或百分位數的長度。例如，您可以有三個具有以下長度的序列：
+ 3
+ 4
+ 5

您可以將所有序列設定為有 50 個百分位數長度的序列。

短於您指定長度的時間序列陣列會新增缺少值。以下是將時間序列標準化為長度較長的範例格式：[2, 4, 5, NaN, NaN, NaN]。

您可以使用不同的方法來處理缺少值。如需這些方法的詳細資訊，請參閱[處理缺少的時間序列資料](#canvas-transform-handle-missing-time-series)。

超過指定長度的時間序列陣列會被截短。

您可以使用下列程序以標準化時間序列的長度。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**標準化長度**。

1. 對於**標準化資料欄的時間序列長度**，請選擇一個資料欄。

1. (選用) 對於 **輸出欄**，指定輸出資料欄的名稱。若您沒有指定名稱，就地完成轉換。

1. 如果日期時間欄要針對字串類型進行格式化，請選擇**轉換為日期時間**。

1. 選擇**截止分位數**並指定分位數以設定序列的長度。

1. 選擇**平面化輸出**，將時間序列的值輸出到單獨的資料欄中。

1. 選擇**預覽**以產生轉換的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

### 從時間序列資料擷取特徵
<a name="canvas-transform-extract-time-series-features"></a>

如果您對時間序列資料執行分類或迴歸演算法，建議您先從時間序列擷取特徵，然後再執行演算法。擷取特徵可能會提高演算法的效能。

使用以下選項可選擇要從資料中擷取特徵的方式：
+ 使用**最小子集**指定擷取 8 個您知道在下游分析中有用的特徵。當您需要快速執行計算時，則可以使用最小的子集。當您的機器學習 (ML) 演算法過度擬合的風險很高，並且想要提供較少的特徵時，也可以使用它。
+ 使用**高效率子集**指定擷取最多可能的特徵，而無需擷取分析中運算密集型的特徵。
+ 使用**所有特徵**可指定從微調序列擷取的所有特徵。
+ 使用**手動子集**選擇您認為可以很好地解釋資料變化的特徵表。

使用下列程序從時間序列資料擷取特徵。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**擷取特徵**。

1. 對於**擷取此欄特徵**，請選擇一欄。

1. (選用) 選取**平面化**，將功能輸出至單獨的資料欄。

1. 對於**策略**，請選擇要擷取特徵的策略。

1. 選擇**預覽**以產生轉換的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

### 從時間序列資料使用延遲特徵
<a name="canvas-transform-lag-time-series"></a>

對於許多使用案例，預測時間序列未來行為的最佳方式是使用其最新行為。

延遲特徵的最常見用途如下：
+ 收集少數過去的數值。例如，對於時間，t \$1 1，您收集 t、t-1、t-2 和 t-3。
+ 收集對應於資料中的季節性行為值。例如，若要預測下午 1:00 在餐廳的佔用率，您可能想要使用自前一天下午 1:00 開始的特徵。使用同一天中午 12:00 或上午 11:00 的特徵可能不像使用前幾天的特徵那樣可預測。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**延遲功能**。

1. 對於**產生此欄的延遲特徵**，請選擇一欄。

1. 對於**時間戳記欄**，請選擇包含時間戳記的資料欄。

1. 對於**延遲**，請指定延遲的持續時間。

1. (選用) 使用以下選項之一設定輸出：
   + **包含整個延遲視窗**
   + **平面化輸出**
   + **不包含歷程記錄的捨棄列**

1. 選擇**預覽**以產生轉換的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

### 在時間序列中建立日期時間範圍
<a name="canvas-transform-datetime-range"></a>

您可能有沒有時間戳記的時間序列資料。如果您知道觀察值經過定期取樣，則可以在單獨的資料欄中產生時間序列的時間戳。若要產生時間戳記，請指定開始時間戳記的值和時間戳記的頻率。

例如，您可能擁有以下餐廳顧客人數的時間序列資料。

餐廳顧客人數的時間序列資料


| 顧客人數 | 
| --- | 
| 10 | 
| 14 | 
| 24 | 
| 40 | 
| 30 | 
| 20 | 

如果您知道餐廳在下午 5:00 開放，而且觀察值是每小時進行的，則可以新增與時間序列資料相對應的時間戳記欄。您可以在下表中看到時間戳記資料欄。

餐廳顧客人數的時間序列資料


| 顧客人數 | 時間戳記 | 
| --- | --- | 
| 10 | 1:00 PM | 
| 14 | 2:00 PM | 
| 24 | 3:00 PM | 
| 40 | 4:00 PM | 
| 30 | 5:00 PM | 
| 20 | 6:00 PM | 

使用下列程序，以將日期時間範圍新增至您的資料。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**日期時間範圍**。

1. 對於**頻率類型**，選擇用來測量時間戳記頻率的單位。

1. 對於**開始時間戳記**，請指定開始時間戳記。

1. 對於**輸出欄**，指定輸出資料欄的名稱。

1. (選用) 使用剩餘欄位設定輸出。

1. 選擇**預覽**以產生轉換的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

### 在您的時間序列中使用滾動時段
<a name="canvas-transform-rolling-window"></a>

您可以擷取一段時間內的特徵。例如，對於時間、*t* 和時間時段長度為 3，而對於表示第 *t* 個時間戳記的列，我們會附加從時間序列 (*t*-3、*t* -2 和 *t*-1) 擷取的特徵 。如需擷取特徵的資訊，請參閱[從時間序列資料擷取特徵](#canvas-transform-extract-time-series-features)。

您可以透過下列程序擷取一段時間內的特徵。

1. 開啟 Data Wrangler 資料流程。

1. 在資料流程中的**資料類型**下，選擇 **\$1**，然後選取**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**滾動時段特徵**。

1. 對於**產生此欄的滾動時段特徵**，請選擇一欄。

1. 對於**時間戳記欄**，請選擇包含時間戳記的資料欄。

1. (選用) 對於 **輸出資料欄**，請指定輸出資料欄的名稱。

1. 對於**視窗大小**，請指定視窗大小。

1. 對於**策略**，請選擇擷取策略。

1. 選擇**預覽**以產生轉換的預覽。

1. 選擇**新增**，將轉換作業新增至 Data Wrangler 資料流程。

## 特徵化日期時間
<a name="canvas-transform-datetime-embed"></a>

使用**特徵化日期/時間**來建立代表日期時間欄位的向量內嵌。若要使用此轉換，您的日期時間資料格式必須為下列其中一種：
+ 描述日期時間的字串：例如：`"January 1st, 2020, 12:44pm"`。
+ Unix 時間戳記：Unix 時間戳記描述了自 1970 年 1 月 1 日開始的秒數、毫秒數、微秒數或納秒數。

您可以選擇**推論日期時間格式**並提供**日期時間格式**。如果您提供日期時間格式，則必須使用 [Python 文件](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes)中描述的程式碼。您為這兩個組態選擇的選項會影響作業速度和最終結果。
+ 最手動和計算速度最快的選項是指定**日期時間格式**，並針對**推論日期時間格式**選取**否**。
+ 若要減少人工，您可以選擇**推論日期時間格式**，而不要指定日期時間格式。它也是一個快速計算的操作；然而，會假定在輸入欄中遇到的第一個日期時間格式為整欄的格式。如果欄中有其他格式，則這些值在最終輸出中為 NaN。推論日期時間格式可以給你未剖析的字串。
+ 如果您沒有指定格式，並針對**推論日期時間格式**選取**否**，就會得到最可靠的結果。所有有效的日期時間字串都會被剖析。但是，此操作可能會比此清單中的前兩個選項慢一個量級。

使用此轉換時，您可以指定包含上述所列一種格式的日期時間資料的**輸入資料欄**。轉換會建立一個名為**輸出資料欄名稱**的輸出欄。輸出欄的格式取決於您使用下列內容所定的組態：
+ **向量**：將單一欄輸出為向量。
+ **欄**：為每個特徵建立新資料欄。例如，如果輸出包含年、月和日，則會針對年、月和日建立三個單獨的資料欄。

此外，您必須選擇**內嵌項目模式**。對於線性模型和深度網路，我們建議選擇**循環**。對於樹狀演算法，我們建議選擇**序數**。

## 格式字串
<a name="canvas-transform-format-string"></a>

**格式字串**轉換包含標準字串格式化作業。例如，您可以使用這些作業來移除特殊字元、標準化字串長度，以及更新字串大小寫。

此特徵群組包含下列轉換。所有轉換都會傳回**輸入欄**中字串的副本，並將結果新增至新的輸出欄。


| 名稱 | 函式 | 
| --- | --- | 
| 左填充 |  以特定**填充字元**向左填充至特定**寬度**的字串。如果字串長於**寬度**，則傳回值將縮短為**寬度**字元。  | 
| 右填充 |  以特定**填充字元**向右填充至特定**寬度**的字串。如果字串長於**寬度**，則傳回值將縮短為**寬度**字元。  | 
| 置中 (於任一側填充) |  以特定**填充字元**置中填充 (在字串兩側加入填充) 至特定**寬度**的字串。如果字串長於**寬度**，則傳回值將縮短為**寬度**字元。  | 
| 以零字首 |  以零向左填充一個數字字串，直到特定的**寬度**。如果字串長於**寬度**，則傳回值將縮短為**寬度**字元。  | 
| 去除左右 |  傳回移除字首和後加字元的字串副本。  | 
| 從左去除字元 |  傳回移除字首字元的字串副本。  | 
| 從右去除字元 |  傳回移除後加字元的字串副本。  | 
| 小寫 |  將文字中的所有字母轉換為小寫。  | 
| 大寫 |  將文字中的所有字母轉換為大寫。  | 
| 首字母大寫 |  將每個句子的第一個字母大寫。  | 
| 大小寫交換 | 將指定字串的所有大寫字元轉換為小寫字元，並將所有小寫字元轉換為大寫字元，然後加以傳回。 | 
| 新增字首或字尾 |  新增字串欄的字首和字尾。您必須至少指定一個**字首**和**字尾**。  | 
| 移除符號 |  從字串中刪除指定的符號。所有已列出的字元都會被移除。預設為空格。  | 

## 處理極端值
<a name="canvas-transform-handle-outlier"></a>

機器學習模型對特徵值的分佈和範圍很敏感。極端值或稀有值可能會對模型準確性產生負面影響，並導致訓練時間延長。使用此特徵群組可偵測並更新您的資料集中的極端值。

當您定義**處理極端值**轉換步驟時，將根據 Data Wrangler 中的可用資料產生用於偵測極端值的統計資料。執行 Data Wrangler 工作時，會使用這些相同的統計資料。

使用下列章節以進一步了解此群組所包含的轉換。您可以指定**輸出名稱**，每個轉換都會產生含有結果資料的輸出欄。

### 強大的標準偏差數值極端值
<a name="canvas-transform-handle-outlier-rstdev"></a>

此轉換使用對極端值強大的統計資料，偵測並修正數值特徵中的極端值。

您必須為用於計算極端值的統計資料定義**上分位數**和**下分位數**。您還必須指定**標準偏差**的數值，其值必須與平均值不同，才能被視為極端值。例如，如果您指定 3 為**標準偏差**，則值必須與平均值的標準偏差必須超過 3，才能被視為極端值。

**修正方法**是偵測到極端值時用來處理的方法。您可以選擇下列項目：
+ **剪裁**：使用此選項可將極端值裁剪為對應的極端值偵測界限。
+ **移除**：使用此選項可從資料框中移除具有極端值的列。
+ **無效**：使用此選項可用無效值取代極端值。

### 標準偏差數值極端值
<a name="canvas-transform-handle-outlier-sstdev"></a>

此轉換會使用平均值和標準偏差來偵測並修復數值特徵中的極端值。

您可以指定**標準偏差**的數目，值必須與平均值不同，才能被視為極端值。例如，如果您指定 3 為**標準偏差**，則值必須與平均值的標準偏差必須超過 3，才能被視為極端值。

**修正方法**是偵測到極端值時用來處理的方法。您可以選擇下列項目：
+ **剪裁**：使用此選項可將極端值裁剪為對應的極端值偵測界限。
+ **移除**：使用此選項可從資料框中移除具有極端值的列。
+ **無效**：使用此選項可用無效值取代極端值。

### 分位數值極端值
<a name="canvas-transform-handle-outlier-quantile-numeric"></a>

使用此轉換可以使用分位數偵測和修復數值特徵中的極端值。您可以定義**上分位數**和**下分位數**。高於上分位數或低於下分位數的所有值都被視為極端值。

**修正方法**是偵測到極端值時用來處理的方法。您可以選擇下列項目：
+ **剪裁**：使用此選項可將極端值裁剪為對應的極端值偵測界限。
+ **移除**：使用此選項可從資料框中移除具有極端值的列。
+ **無效**：使用此選項可用無效值取代極端值。

### 最小-最大數值極端值
<a name="canvas-transform-handle-outlier-minmax-numeric"></a>

此轉換會使用上限和下限閾值來偵測並修復數值特徵中的極端值。如果您知道分開極端值的閾值，請使用此方法。

您可以指定**閾值上限**和**閾值下限**，如果值分別高於或低於這些閾值，則將其視為極端值。

**修正方法**是偵測到極端值時用來處理的方法。您可以選擇下列項目：
+ **剪裁**：使用此選項可將極端值裁剪為對應的極端值偵測界限。
+ **移除**：使用此選項可從資料框中移除具有極端值的列。
+ **無效**：使用此選項可用無效值取代極端值。

### 取代稀有
<a name="canvas-transform-handle-outlier-replace-rare"></a>

當您使用**取代稀有**轉換時，您可以指定閾值，Data Wrangler 會尋找符合該閾值的所有值，並以您指定的字串取代這些值。例如，您可能想要使用此轉換，將資料欄中的所有極端值分類為 “其他” 類別。
+ **取代字串**：用來取代極端值的字串。
+ **絕對閾值**：如果執行個體數目小於或等於此絕對閾值，則類別為稀有。
+ **分數閾值**：如果執行個體數目小於或等於此分數閾值乘以列數，則該類別為稀有。
+ **最大常見類別**：操作後保留的非稀有上限類別。如果閾值沒有篩選出足夠的類別，那些具有最多外觀數目的類別將被分類為非稀有。如果設定為 0 (預設值)，則類別數量沒有硬性限制。

## 處理缺少值
<a name="canvas-transform-handle-missing"></a>

缺少值是機器學習資料集中常見的情況。在某些情況下，適用於以計算值推算遺失資料，例如平均值或已分類的常見值。您可以使用**處理缺少值**轉換群組來處理缺少值。此群組包含下列轉換。

### 填充缺少
<a name="canvas-transform-fill-missing"></a>

使用**填充缺少**轉換指令，以您定義的**填充值**取代缺少值。

### 推算缺少
<a name="canvas-transform-impute"></a>

使用**推算缺少**轉換來建立包含導入值的新資料欄，其中會在輸入分類和數值資料中找到缺少值。組態取決於您的資料類型。

對於數值資料，請選擇推算策略，也就是用來決定要推算新值的策略。您可以選擇推算在於您的資料集中的平均值或中間值。Data Wrangler 會使用它所計算的值來導入缺少值。

對於分類資料，Data Wrangler 會使用資料欄中最常用的值來算出缺少值。若要推算自訂字串，請改用**填充缺少**轉換。

### 新增缺少的指標
<a name="canvas-transform-missing-add-indicator"></a>

使用**新增缺少的指標**轉換以建立新的指標欄，其中如果一列包含一個值，則包含布林值 `"false"`，如果一列包含缺少值，則為 `"true"`。

### 捨棄缺少
<a name="canvas-transform-drop-missing"></a>

您可以使用**捨棄缺少**選項，從**輸入資料欄**捨棄包含缺少值的資料列。

## 管理欄
<a name="canvas-manage-columns"></a>

您可以使用下列轉換來快速更新和管理資料集中的資料欄：


****  

| 名稱 | 函式 | 
| --- | --- | 
| 捨棄資料欄 | 刪除資料欄。 | 
| 複製資料欄 | 複製資料欄。 | 
| 重新命名資料欄 | 重新命名資料欄。 | 
| 移動資料欄 |  在資料集中移動資料欄的位置。選擇將資料欄移至資料集的開頭或結尾、參考資料欄之前或之後，或移至特定索引。  | 

## 管理資料列
<a name="canvas-transform-manage-rows"></a>

使用此轉換群組可快速對資料列執行排序和隨機顯示操作。此群組包含下列轉換。
+ **排序**：按指定資料欄對整個資料框進行排序。選取此選項**遞增排列**旁邊的核取方塊；否則，取消選取核取方塊，排序會使用遞減排列。
+ **隨機顯示**：隨機顯示資料集中的所有資料列。

## 管理向量
<a name="canvas-transform-manage-vectors"></a>

使用此轉換群組可合併或平面化向量欄。此群組包含下列轉換。
+ **組合**：使用此轉換可將 Spark 向量和數值資料合併為單一欄。例如，您可以合併三欄：兩欄包含數值資料，另一欄包含向量。在**輸入資料欄**中新增要組合的所有資料欄，並為組合資料指定**輸出資料欄名稱**。
+ **平面化**：使用此轉換可將包含向量資料的單一資料欄平面化。輸入資料欄必須包含 PySpark 向量或類似陣列的物件。您可以透過指定**偵測輸出數目的方法**來控制建立的欄數。例如，如果您選取**第一個向量的長度**，則在資料欄中找到的第一個有效向量或陣列中的元素數目會決定建立的輸出欄數。所有其他具有太多項目的輸入向量都會被截斷。項目太少的輸入會填入 NaNs。

  您也可以指定**輸出字首**作為每個輸出資料欄的字首。

## 處理數值
<a name="canvas-transform-process-numeric"></a>

使用**處理數值**特徵群組來處理數值資料。此組中的每個純量是使用 Spark 資料庫定義的。支援下列純量：
+ **標準純量**：透過從每個值減去平均值並擴屋至單位變異數來標準化輸入欄。若要進一步了解，請參閱[StandardScaler](https://spark.apache.org/docs/latest/ml-features#standardscaler) 的 Spark 文件。
+ **強大的純量**：使用對極端值強大的統計資量來擴展輸入欄。如需進一步了解，請參閱 [RobustScaler](https://spark.apache.org/docs/latest/ml-features#robustscaler) 的 Spark 文件。
+ **純量上下限**：透過將每個特徵擴展到指定範圍來轉換輸入欄。如需進一步了解，請參閱 [MinMaxScaler](https://spark.apache.org/docs/latest/ml-features#minmaxscaler) 的 Spark 文件。
+ **絕對純量上限**：透過將每個值除以最大絕對值來擴展輸入欄。如需進一步了解，請參閱 [MaxAbsScaler](https://spark.apache.org/docs/latest/ml-features#maxabsscaler) 的 Spark 文件。

## 抽樣
<a name="canvas-transform-sampling"></a>

匯入資料之後，您可以使用**取樣**轉換器以取得一或多個樣本。當您使用取樣轉換器時，Data Wrangler 會對原始資料集進行取樣。

您可以選擇下列其中一種取樣方法：
+ **限制**：從第一列開始，直到您指定的限制為止，對資料集進行抽樣。
+ **隨機化**：取得您指定大小的隨機範例。
+ **分層**：採取分層隨機範例。

您可以分層隨機範例，以確保其代表資料集的原始分佈。

您可能正在為多個使用案例執行資料準備。對於每個使用案例，您都可以取得不同的範例並套用不同的轉換組。

下列程序描述建立隨機範例的程序。

從您的資料中獲取隨機範例。

1. 選擇已匯入資料集右側的 **\$1**。您的資料集名稱位於 **\$1** 下方。

1. 選擇**新增轉換**。

1. 選擇**抽樣**。

1. 對於**取樣方法**，請選擇取樣方法。

1. 對於**大約範例大小**，請選擇範例中所需的大約觀察次數。

1. (選用) 為**隨機種子**指定一個整數，以建立可再生的範例。

下列程序描述建立分層範例的程序。

從您的資料中獲取分層範例。

1. 選擇已匯入資料集右側的 **\$1**。您的資料集名稱位於 **\$1** 下方。

1. 選擇**新增轉換**。

1. 選擇**抽樣**。

1. 對於**取樣方法**，請選擇取樣方法。

1. 對於**大約範例大小**，請選擇範例中所需的大約觀察次數。

1. 對於**分層欄**，指定要分層的欄名稱。

1. (選用) 為**隨機種子**指定一個整數，以建立可再生的範例。

## 搜尋與編輯
<a name="canvas-transform-search-edit"></a>

您可以使用此區段來搜尋和編輯字串中的特定模式。例如，您可以尋找和更新句子或文件中的字串、以分隔符號分隔字串，以及尋找特定字串的出現次數。

**搜尋和編輯**支援下列轉換。所有轉換都會傳回**輸入欄**中字串的副本，並將結果新增至新的輸出欄。


****  

| 名稱 | 函式 | 
| --- | --- | 
|  尋找子字串  |  傳回您搜尋**子字串**第一次出現的索引。您可以分別在**開始**和**結束**位置開始和結束搜尋。  | 
|  尋找子字串 (從右側)  |  傳回您搜尋的**子字串**上次出現的索引。您可以分別在**開始**和**結束**位置開始和結束搜尋。  | 
|  相符字首  |  如果字串包含一個特定的**模式**，則傳回一個布爾值。模式可以是字元序列或規則表達式。或者，您可以將模式區分大小寫。  | 
|  尋找所有出現次數  |  傳回具有特定模式的所有出現次數陣列。模式可以是字元序列或規則表達式。  | 
|  使用 regex 擷取  |  傳回一個與特定 Regex 模式匹配的字串。  | 
|  在分隔符號之間擷取  |  傳回在**左分隔符**和**右分隔符**之間找到的所有字元的字串。  | 
|  從位置擷取  |  傳回一個字串，從輸入字串中的**開始位置**開始，該字串包含直到開始位置的所有字元加**長度**。  | 
|  尋找和取代子字串  |  傳回由**取代字串**取代特定**模式** (正規表示式) 的全部相符字串。  | 
|  取代分隔符號之間  |  傳回一個字串，其中包含由**取代字串**所取代的**左分隔符號**的第一個外觀和**右分隔符號**的最後一個外觀之間的子字串。若無相符項目，則不會取代任何項目。  | 
|  從位置取代  |  傳回一個字串，其中包含由**取代字串**所取代的**開始位置**和**開始位置**加**長度**之間的子字串。如果**開始位置**加**長度**大於取代字串的長度，則輸出包含**……**。  | 
|  轉換 regex 至缺失  |  若無效，則將字串轉換為 `None`，並傳回結果。有效性是使用**模式**中的規則表達式定義。  | 
|  按分隔符號分割字串  |  傳回來自輸入字串的字串陣列，由**分隔符號**分隔，具有**分隔數量上限** (選用)。分隔符號預設為空格。  | 

## 分隔資料
<a name="canvas-transform-split-data"></a>

使用**分隔資料**轉換，將資料集分隔為兩個或三個資料集。例如，您可以將資料集分割成用於訓練模型的資料集，以及用來測試模型的資料集。您可以決定進入每個分割的資料集比例。例如，如果您要將一個資料集分割成兩個資料集，則訓練資料集可以有 80% 的資料，而測試資料集則有 20%。

將資料分割為三個資料集，讓您能夠建立訓練、驗證和測試資料集。您可以透過捨棄目標資料欄來查看模型在測試資料集上的效能。

您的使用案例會決定每個資料集取得的原始資料集數量，以及您用來分割資料的方法。例如，您可能想要使用分層分割，以確保目標欄中的觀測值在資料集之間的分佈相同。您可以使用下列分割轉換：
+ 隨機分割 – 每個分割都是原始資料集的隨機、非重疊範例。對於較大的資料集，使用隨機分割可能在計算上很昂貴，而且花費的時間比排序分割還要長。
+ 排序分割 – 根據觀察值的順序分割資料集。例如，對於 80/20 訓練測試分割，構成資料集 80% 的第一個觀察值將轉到訓練資料集。最後 20% 的觀察值進入測試資料集。排序分割可以有效地保持分割之間資料的現有順序。
+ 分層分割 – 分割資料集，以確保輸入資料欄中的觀察數目具有比例代表性。對於具有觀察值 1，1，1，1，1，1，2，2，2，2，2，2，2，2，3，3，3，3，3，3，3 的輸入欄，資料欄上的 80/20 分割代表大約 80% 的 1、80% 的 2 和 80% 的 3 進入訓練集。每種觀察類型的約 20% 進入測試集。
+ 按鍵分割 – 避免在大於一個的分割中發生具有相同索引鍵的資料。例如，如果您有一個包含 'customer\$1id' 欄的資料集，並且您將其用作索引鍵，則不會在超過一個的分割中存在任何客戶 ID。

分割資料之後，您可以對每個資料集套用其他轉換。對於大多數使用案例，它們不是必要的。

Data Wrangler 計算分割的比例以實現性能。您可以選擇錯誤閾值來設定分割的準確度。較低的錯誤閾值會更準確地反映您為分割指定的比例。如果您設定較高的錯誤閾值，您可以獲得較佳的效能，但準確度會降低。

若要完美分割資料，請將錯誤閾值設定為 0。您可以指定介於 0 到 1 之間的閾值，以獲得較佳效能。如果指定大於 1 的值，Data Wrangler 會將該值解譯為 1。

如果您的資料集中有 10000 個資料列，而且您指定了一個具備 0.001 錯誤值的 80/20 分割，您會得到接近下列其中一個結果的觀察值：
+ 在訓練集中為 8010 觀察值和在測試集中則為 1990
+ 在訓練集中為 7990 觀察值和在測試集中則為 2010

在前面的例子中的測試集觀察數目是介於 8010 和 7990 之間。

預設情況下，Data Wrangler 使用隨機種子來使分割可重現。您可以為種子指定不同的值，以建立不同的可重現的分割。

------
#### [ Randomized split ]

請使用下列程序，對您的資料集執行隨機分割。

若要隨機分割資料集，請執行以下操作

1. 選擇包含要分割之資料集節點旁邊的 **\$1**。

1. 選擇**新增轉換**。

1. 選擇**分割資料**。

1. (選用) 對於**分割**，指定每個分割的名稱和比例。比例必須總和為 1。

1. (選用) 選擇 **\$1** 以建立其他分割。

   1. 指定所有分割的名稱和比例。比例必須總和為 1。

1. (選用) 指定**錯誤閾值**的值，而非預設值。

1. (選用) 指定**隨機種子**的值。

1. 選擇**預覽**。

1. 選擇**新增**。

------
#### [ Ordered split ]

請使用下列程序，對資料集執行排序分割。

若要在資料集中排序分割，請執行下列動作。

1. 選擇包含要分割之資料集節點旁邊的 **\$1**。

1. 選擇**新增轉換**。

1. 在**轉換**中，選擇**排序分割**。

1. 選擇**分割資料**。

1. (選用) 對於**分割**，指定每個分割的名稱和比例。比例必須總和為 1。

1. (選用) 選擇 **\$1** 以建立其他分割。

   1. 指定所有分割的名稱和比例。比例必須總和為 1。

1. (選用) 指定**錯誤閾值**的值，而非預設值。

1. (選用) 對於 **輸入欄**，請指定含有數值的欄。使用資料欄的值來推斷每次分割中有哪些記錄。較小的值在一個分割中，而較大的值在其他分割中。

1. (選用) 選取**處理重複**，新增雜訊到重複的值中，並建立具有完全唯一值的資料集。

1. (選用) 指定**隨機種子**的值。

1. 選擇**預覽**。

1. 選擇**新增**。

------
#### [ Stratified split ]

使用下列程序，對資料集執行分層分割。

要在資料集中進行分層分割，請執行以下操作。

1. 選擇包含要分割之資料集節點旁邊的 **\$1**。

1. 選擇**新增轉換**。

1. 選擇**分割資料**。

1. 對於**轉換**，選擇**分層分割**。

1. (選用) 對於**分割**，指定每個分割的名稱和比例。比例必須總和為 1。

1. (選用) 選擇 **\$1** 以建立其他分割。

   1. 指定所有分割的名稱和比例。比例必須總和為 1。

1. 對於 **輸入欄**，請指定最多包含 100 個唯一值的欄。Data Wrangler 不能分層具有超過 100 個唯一值的欄。

1. (選用) 指定**錯誤閾值**的值，而非預設值。

1. (選用) 指定**隨機種子**的值，以指定不同的種子。

1. 選擇**預覽**。

1. 選擇**新增**。

------
#### [ Split by column keys ]

請使用下列程序，依資料集中的資料欄索引鍵分割。

若要依資料集中的資料欄索引鍵分割，請執行下列操作。

1. 選擇包含要分割之資料集節點旁邊的 **\$1**。

1. 選擇**新增轉換**。

1. 選擇**分割資料**。

1. 在**轉換**中，選擇**按索引鍵分割**。

1. (選用) 對於**分割**，指定每個分割的名稱和比例。比例必須總和為 1。

1. (選用) 選擇 **\$1** 以建立其他分割。

   1. 指定所有分割的名稱和比例。比例必須總和為 1。

1. 對於**索引鍵欄**，請指定含有您不想在兩個資料集中顯示值的資料欄。

1. (選用) 指定**錯誤閾值**的值，而非預設值。

1. 選擇**預覽**。

1. 選擇**新增**。

------

## 將值剖析為類型
<a name="canvas-transform-cast-type"></a>

使用此轉換可將資料欄轉換為新類型。支援的 Data Wrangler 資料類型為：
+ Long
+ Float
+ Boolean
+ 日期格式為 DD-MM-yyyy，分別代表日、月和年。
+ String

## 驗證字串
<a name="canvas-transform-validate-string"></a>

使用**驗證字串**轉換建立新資料欄，指出符合指定條件的文字資料列。例如，您可以使用**驗證字串**轉換來驗證字串只包含小寫字元。**驗證字串**支援下列轉換。

下列轉換包含在此轉換群組中。如果轉換輸出布林值，則 `True` 以 `1` 表示，而 `False` 以 `0` 表示。


****  

| 名稱 | 函式 | 
| --- | --- | 
|  字串長度  |  如果字串長度等於指定的長度，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  開頭為  |  如果字串以特定字首起始，則返回 `True`。如果不是，則傳回 `False`。  | 
|  Ends with  |  如果字串長度等於指定的長度，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為英數字元  |  如果一個字串只包含數字和字母，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為字母  |  如果一個字串只包含字母，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為數字  |  如果一個字串只包含數字，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為空間  |  如果一個字串只包含數字和字母，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為標題  |  如果一個字串包含任何空格，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為小寫  |  如果一個字串只包含小寫字母，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為大寫  |  如果一個字串只包含大寫字母，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為數值  |  如果一個字串只包含數字，則傳回 `True`。如果不是，則傳回 `False`。  | 
|  為小數  |  如果一個字串只包含小數，則傳回 `True`。如果不是，則傳回 `False`。  | 

## 將 JSON 資料解除巢狀化
<a name="canvas-transform-flatten-column"></a>

如果您有 .csv 檔案，資料集中的值可能是 JSON 字串。同樣地，可能會在 Parquet 檔案或 JSON 文件的資料欄中有巢狀資料。

使用**平面化結構**運算子，將第一層索引鍵分隔為單獨的資料欄。第一層索引鍵是未嵌套在值中的索引鍵。

例如，您可能有一個資料集，其中有一個*人員*資料欄，其中包含儲存為 JSON 字串的每個人人口統計資訊。JSON 字串結構可能如下。

```
 "{"seq": 1,"name": {"first": "Nathaniel","last": "Ferguson"},"age": 59,"city": "Posbotno","state": "WV"}"
```

**平面化結構**運算子會將下列第一層索引鍵轉換為資料集中的其他資料欄：
+ seq
+ name
+ age
+ 城市
+ state

Data Wrangler 把索引鍵的值作為資料欄下的值。下列顯示 JSON 的資料欄名稱與值。

```
seq, name,                                    age, city, state
1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV
```

對於包含 JSON 的資料集中的每個值，**平面化結構**運算子會為第一層級索引鍵建立資料欄。若要為巢狀索引鍵建立欄，請再次呼叫運算子。在前述範例中，呼叫運算子會建立資料欄：
+ name\$1first
+ name\$1last

下列範例顯示再次呼叫操作所產生的資料集。

```
seq, name,                                    age, city, state, name_first, name_last
1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV, Nathaniel, Ferguson
```

選擇**要平面化的索引鍵**，以指定要擷取為單獨欄的第一層級索引鍵。如果您未指定任何索引鍵，Data Wrangler 預設會擷取所有索引鍵。

## 爆炸陣列
<a name="canvas-transform-explode-array"></a>

使用 **爆炸陣列**將陣列的值展開為單獨的輸出資料列。例如，該作業可以獲取陣列 [[1, 2, 3,], [4, 5, 6], [7, 8, 9]] 中的每個值，並建立具有以下列的新資料欄：

```
                [1, 2, 3]
                [4, 5, 6]
                [7, 8, 9]
```

Data Wrangler 將新資料欄命名為 input\$1column\$1name\$1flatten。

您可以多次呼叫 **Explode 陣列**作業，以將陣列的巢狀值取至不同的輸出資料欄。下列範例顯示在具有巢狀陣列的資料集上多次呼叫作業的結果。

將嵌套陣列的值置入單獨的資料欄中


| id | 陣列 | id | array\$1items | id | array\$1items\$1items | 
| --- | --- | --- | --- | --- | --- | 
| 1 | [ [cat, dog], [bat, frog] ] | 1 | [貓, 狗] | 1 | cat | 
| 2 |  [[rose, petunia], [lily, daisy]]  | 1 | [蝙蝠, 青蛙] | 1 | 狗 | 
|  |  | 2 | [玫瑰, 矮牽牛] | 1 | bat | 
|  |  | 2 | [百合, 雛菊] | 1 | 青蛙 | 
|  |  |  | 2 | 2 | 玫瑰 | 
|  |  |  | 2 | 2 | 矮牽牛 | 
|  |  |  | 2 | 2 | 百合 | 
|  |  |  | 2 | 2 | 雛菊 | 

## 轉換影像資料
<a name="canvas-transform-image"></a>

使用 Data Wrangler 匯入和轉換您用於機器學習 (ML) 管道的影像。準備好影像資料之後，您可以將其從 Data Wrangler 流程匯出至機器學習 (ML) 管道。

您可以使用此處提供的資訊熟悉 Data Wrangler 中影像資料的匯入和轉換。Data Wrangler 使用 OpenCV 導入影像。如需有關支援的影像格式詳細資訊，請參閱[影像檔案讀取和寫入](https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56)。

熟悉轉換影像資料的概念之後，請參閱下列教學課程[使用 Amazon SageMaker Data Wrangler 預備影像資料](https://aws.amazon.com/blogs/machine-learning/prepare-image-data-with-amazon-sagemaker-data-wrangler/)。

以下產業和使用案例是將機器學習應用於已轉換影像資料時可能會很有用的範例：
+ 製造 – 從組裝線識別物品中的瑕疵
+ 食物 – 識別變質或腐爛的食物
+ 藥物 – 識別組織中的病變

當您在 Data Wrangler 中使用影像資料時，會經過下列程序：

1. 匯入 – 選擇 Amazon S3 儲存貯體中包含影像的目錄以選取影像。

1. 轉換 – 使用內建轉換為您的機器學習管道預備影像。

1. 匯出 – 將已轉換的影像匯出至可從管道存取的位置。

請使用下列程序來匯入您的影像資料。

**若要匯入影像資料**

1. 導覽至**建立連線**頁面。

1. 選擇 **Amazon S3**。

1. 指定包含影像資料的 Amazon S3 檔案路徑。

1. 對於**檔案類型**，選擇**影像**。

1. (選用) 選擇**匯入巢狀目錄**以從多個 Amazon S3 路徑匯入影像。

1. 選擇**匯入**。

Data Wrangler 使用開放源程式碼 [imgaug](https://imgaug.readthedocs.io/en/latest/) 程式庫進行內建的映像轉換。您可以使用下列內建值轉換：
+ **ResizeImage**
+ **EnhanceImage**
+ **CorruptImage**
+ **SplitImage**
+ **DropCorruptedImages**
+ **DropImageDuplicates**
+ **Brightness**
+ **ColorChannels**
+ **Grayscale**
+ **Rotate**

使用下列程序，無須撰寫程式碼即可轉換映像。

**在不撰寫程式碼的情況下轉換映像**

1. 在 Data Wrangler 流程中，選擇代表您匯入映像節點旁邊的 **\$1**。

1. 選擇**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇轉換並加以設定。

1. 選擇**預覽**。

1. 選擇**新增**。

除了使用 Data Wrangler 提供的轉換之外，您也可以使用自己的自訂程式碼片段。如需使用自訂程式碼片段的詳細資訊，請參閱[自訂轉換](#canvas-transform-custom)。您可以在程式碼片段中匯入 OpenCV 和 imgaug 程式庫，並使用與它們相關聯的轉換。以下是偵測映像邊緣的程式碼片段範例。

```
# A table with your image data is stored in the `df` variable
import cv2
import numpy as np
from pyspark.sql.functions import column

from sagemaker_dataprep.compute.operators.transforms.image.constants import DEFAULT_IMAGE_COLUMN, IMAGE_COLUMN_TYPE
from sagemaker_dataprep.compute.operators.transforms.image.decorators import BasicImageOperationDecorator, PandasUDFOperationDecorator


@BasicImageOperationDecorator
def my_transform(image: np.ndarray) -> np.ndarray:
  # To use the code snippet on your image data, modify the following lines within the function
    HYST_THRLD_1, HYST_THRLD_2 = 100, 200
    edges = cv2.Canny(image,HYST_THRLD_1,HYST_THRLD_2)
    return edges
    

@PandasUDFOperationDecorator(IMAGE_COLUMN_TYPE)
def custom_image_udf(image_row):
    return my_transform(image_row)
    

df = df.withColumn(DEFAULT_IMAGE_COLUMN, custom_image_udf(column(DEFAULT_IMAGE_COLUMN)))
```

在 Data Wrangler 流程中套用轉換時，Data Wrangler 只會將它們套用至資料集中的映像範例。為了最佳化您使用應用程式的體驗，Data Wrangler 不會將轉換套用於您的所有映像。

## 篩選資料
<a name="canvas-transform-filter-data"></a>

使用 Data Wrangler 篩選資料欄中的資料。當您篩選資料欄中的資料時，請指定下列欄位：
+ **欄名稱** – 您用來篩選資料的資料欄名稱。
+ **條件** – 您要套用至資料欄中值的篩選類型。
+ **值** – 您要套用篩選條件的資料欄中的值或類別。

您可以依照下列條件篩選：
+ **=** – 傳回與您指定的值或類別相符的值。
+ **\$1=** – 傳回與您指定的值或類別不相符的值。
+ **>=** – 對於**長**或**浮動**資料，篩選大於或等於您指定值的值。
+ **<=** – 對於**長**或**浮動**資料，篩選小於或等於您指定值的值。
+ **>** – 對於**長**或**浮動**資料，篩選大於您指定值的值。
+ **<** – 對於**長**或**浮動**資料，篩選小於您指定值的值。

對於具有類別 `male` 和 `female` 的資料欄，您可以過濾掉所有 `male` 值。您也可以篩選所有 `female` 值。因為資料欄中只有 `male` 和 `female` 值，所以篩選條件會傳回只有 `female` 值的資料欄。

您也可以新增多個篩選條件。篩選條件可套用至多個資料欄或同一個資料欄。例如，如果您要建立的資料欄只有特定範圍內的值，您可以新增兩個不同的篩選條件。一個篩選條件指定資料欄的值必須大於您提供的值。另一個篩選條件指定資料欄的值必須小於您提供的值。

使用下列程序，將篩選條件轉換新增至您的資料。

**若要篩選資料**

1. 在 Data Wrangler 流程中，選擇包含您要篩選資料節點旁邊的 **\$1**。

1. 選擇**新增轉換**。

1. 選擇**新增步驟**。

1. 選擇**篩選資料**。

1. 為下列欄位：
   + **資料欄名稱** – 您要篩選的資料欄。
   + **條件** – 篩選條件。
   + **值** – 您要套用篩選條件的資料欄中的值或類別。

1. (選用) 選擇您建立篩選條件後的 **\$1**。

1. 設定篩選條件。

1. 選擇**預覽**。

1. 選擇**新增**。

# 聊天進行資料準備
<a name="canvas-chat-for-data-prep"></a>

**重要**  
針對管理員：  
聊天進行資料準備需要 `AmazonSageMakerCanvasAIServicesAccess` 政策。如需詳細資訊，請參閱[AWS 受管政策：AmazonSageMakerCanvasAIServicesAccess](security-iam-awsmanpol-canvas.md#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess)
聊天進行資料準備需要存取 Amazon Bedrock 和其中的 **Anthropic Claude** 模型。如需詳細資訊，請參閱[新增模型存取](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html#add-model-access)。
您必須在與執行模型 AWS 區域 的 區域相同的 中執行 SageMaker Canvas 資料準備。美國東部 （維吉尼亞北部）、美國西部 （奧勒岡） 和歐洲 （法蘭克福） 提供資料準備聊天功能。 AWS 區域

除了使用內建轉換和分析之外，您還可以使用自然語言來探索、視覺化和轉換對話介面中的資料。在對話介面內，您可以使用自然語言查詢來了解和準備資料，以建置 ML 模型。

以下是您可以使用的一些提示範例：
+ 摘要說明我的資料
+ 卸除資料欄 `example-column-name`
+ 將缺失值取代為中位數
+ 繪製價格的直方圖
+ 銷售最昂貴的項目是什麼？
+ 售出了多少不同的項目？
+ 依區域排序資料

當您使用提示轉換資料時，您可以檢視顯示資料如何轉換的預覽。您可以根據預覽中看到的內容，選擇將其新增為 Data Wrangler 流程中的步驟。

對提示的回應會為您的轉換和分析產生程式碼。您可以修改程式碼以更新提示的輸出。例如，您可以修改分析的程式碼以變更圖軸的值。

使用下列程序開始與您的資料聊天：

**與您的資料聊天**

1. 開啟 SageMaker Canvas 資料流程。

1. 選擇語音泡泡。  
![\[聊天進行資料準備位於畫面頂端\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/chat-for-data-prep-welcome-step.png)

1. 指定提示。

1. (選用) 如果您的查詢已產生分析，請選擇**新增至分析**以供日後參考。  
![\[可編輯且可複製程式碼區塊的檢視。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/encanto-query-for-visualization.png)

1. (選用) 如果您已使用提示轉換資料，請執行下列動作。

   1. 選擇**預覽**以檢視結果。

   1. (選用) 修改轉換中的程式碼，然後選擇**更新**。

   1. (選用) 如果您對轉換的結果感到滿意，請選擇**新增至步驟**，將其新增至右側導覽的步驟面板。  
![\[新增至步驟會顯示已將轉換新增至流程的確認。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/transform-added-to-steps-panel.png)

使用自然語言準備您的資料後，您可以使用轉換的資料建立模型。如需建立模型的詳細資訊，請參閱「[自訂模型的運作方式](canvas-build-model.md)」。

# Data Wrangler 中的資料處理運作方式
<a name="canvas-data-processing"></a>

在 Amazon SageMaker Data Wrangler 資料流程中以互動方式使用資料時，Amazon SageMaker Canvas 只會將轉換套用至範例資料集，供您預覽。在 SageMaker Canvas 中完成您的資料流程後，您可以處理所有資料，並將其儲存在適合機器學習工作流程的位置。

在 Data Wrangler 中完成您的資料轉換之後，有幾個繼續操作的選項：
+ [建立模型](canvas-processing-export-model.md)。您可以建立 Canvas 模型，您可以在其中開始使用準備好的資料直接建立模型。您可以在處理整個資料集之後建立模型，或透過僅匯出您在 Data Wrangler 中使用的範例資料來建立模型。Canvas 會將您處理的資料 (整個資料集或範例資料) 儲存為 Canvas 資料集。

  我們建議您使用範例資料進行快速迭代，但建議您在想要訓練最終模型時使用整個資料。建置表格式模型時，大於 5 GB 的資料集會自動將取樣大小縮減至 5 GB，而對於時間序列預測模型，大於 30 GB 的資料集則會取樣大小縮減至 30 GB。

  若要進一步了解建立模型，請參閱[自訂模型的運作方式](canvas-build-model.md)。
+ [匯出資料](canvas-export-data.md)。您可以匯出資料以用於機器學習工作流程。當您選擇匯出資料時，您有幾個選項：
  + 您可以將 Canvas 應用程式中的資料儲存為資料集。如需 Canvas 資料集支援之檔案類型的詳細資訊，以及將資料匯入至 Canvas 時的其他要求，請參閱[建立資料集](canvas-import-dataset.md)。
  + 您可以將資料儲存至 Amazon S3。根據 Canvas 記憶體可用性，您的資料會在應用程式中處理，然後匯出至 Amazon S3。如果您的資料集大小超過 Canvas 可以處理的大小，則根據預設，Canvas 會使用 EMR Serverless 任務來擴展至多個運算執行個體、處理完整資料集，並將其匯出至 Amazon S3。您也可以手動設定 SageMaker Processing 處理任務，以更精細地控制用來處理資料的運算資源。
+ [匯出資料流程](canvas-export-data-flow.md)。您可能想要儲存資料流程的程式碼，以便在 Canvas 外部修改或執行轉換。Canvas 可讓您選擇將資料流程轉換儲存為 Jupyter 筆記本中的 Python 程式碼，然後匯出至 Amazon S3 以供在機器學習工作流程的其他位置使用。

當您從資料流程匯出資料並將其儲存為 Canvas 資料集或儲存至 Amazon S3 時，Canvas 會在您的資料流程中建立新的目的地節點，這是顯示已處理資料存放位置的最終節點。如果您想要執行多個匯出操作，您可以將其他目的地節點新增至流程。例如，您可以從資料流程中的不同點匯出資料，以僅套用部分轉換，也可以將轉換的資料匯出至不同的 Amazon S3 位置。如需如何新增或編輯目的地節點的詳細資訊，請參閱[新增目的地節點](canvas-destination-nodes-add.md)和[編輯目的地節點](canvas-destination-nodes-edit.md)。

如需使用 Amazon EventBridge 設定排程，以根據排程自動處理和匯出資料的詳細資訊，請參閱[建立自動處理新資料的排程](canvas-data-export-schedule-job.md)。

# 匯出以建立模型
<a name="canvas-processing-export-model"></a>

只要從資料流程按幾下滑鼠，您就可以匯出轉換的資料，並開始在 Canvas 中建立 ML 模型。Canvas 會將您的資料儲存為 Canvas 資料集，而且系統會將您帶至新模型的模型建置組態頁面。

若要使用轉換的資料建立 Canvas 模型：

1. 導覽至您的資料流程。

1. 選擇您要匯出的節點旁的省略符號圖示。

1. 從內容功能表中，選擇**建立模型**。

1. 在**匯出以建立模型**側邊面板中，輸入新資料集的**資料集名稱**。

1. 保持選取**處理整個資料集**選項，以處理和匯出您的整個資料集，然後繼續建置模型。關閉此選項，使用您在資料流程中使用的互動範例資料來訓練模型。

1. 輸入**模型名稱**以命名新模型。

1. 選取**問題類型**，或您要建置的模型類型。如需 SageMaker Canvas 支援之執行個體類型的詳細資訊，請參閱[自訂模型的運作方式](canvas-build-model.md)。

1. 選取**目標欄**，或您希望模型預測的值。

1. 選擇**匯出並建立模型**。

新 Canvas 模型的**建置**索引標籤應開啟，而且您可以完成模型的設定和訓練。如需建置模型的詳細資訊，請參閱[建立模型](canvas-build-model-how-to.md)。

# 匯出資料
<a name="canvas-export-data"></a>

匯出資料，將來自資料流程的轉換套用至完整匯入的資料集。您可以將資料流程中的任何節點匯出至下列位置：
+ SageMaker Canvas 資料集
+ Amazon S3

如果您想要在 Canvas 中訓練模型，您可以將完整轉換的資料集匯出為 Canvas 資料集。如果您想要在 SageMaker Canvas 外部的機器學習工作流程中使用轉換的資料，您可以將資料集匯出至 Amazon S3。

## 匯出至 Canvas 資料集
<a name="canvas-export-data-canvas"></a>

使用下列程序從資料流程中的節點匯出 SageMaker Canvas 資料集。

**將流程中的節點匯出為 SageMaker Canvas 資料集**

1. 導覽至您的資料流程。

1. 選擇您要匯出的節點旁的省略符號圖示。

1. 在內容功能表中，將滑鼠懸停在**匯出**上方，然後選取**將資料匯出至 Canvas 資料集**。

1. 在**匯出至 Canvas 資料集**側邊面板中，輸入新資料集的**資料集名稱**。

1. 如果您想要 SageMaker Canvas 處理和儲存完整的資料集，請保持選取**處理整個資料集**選項。關閉此選項只會將轉換套用至您在資料流程中使用的範例資料。

1. 選擇 **Export** (匯出)。

您現在應該能夠前往 Canvas 應用程式的**資料集**頁面，並查看新的資料集。

## 匯出至 Amazon S3
<a name="canvas-export-data-s3"></a>

將您的資料匯出至 Amazon S3 時，您可以擴展以轉換和處理任何大小的資料。如果應用程式的記憶體可以處理資料集的大小，Canvas 會自動在本機處理您的資料。如果您的資料集大小超過 5 GB 的本機記憶體容量，則 Canvas 會代表您啟動遠端任務，以佈建其他運算資源並更快速地處理資料。根據預設，Canvas 會使用 Amazon EMR Serverless 來執行這些遠端任務。不過，您可以手動設定 Canvas 以使用 EMR Serverless 或 SageMaker Processing 任務搭配您自己的設定。

**注意**  
執行 EMR Serverless 任務時，該任務預設會繼承 Canvas 應用程式的 IAM 角色、KMS 金鑰設定和標籤。

以下摘要說明 Canvas 中遠端任務的選項：
+ **EMR Serverless**：這是 Canvas 用於遠端任務的預設選項。EMR Serverless 會自動佈建和擴展運算資源以處理您的資料，讓您不必擔心為工作負載選擇正確的運算資源。如需 EMR Serverless 的詳細資訊，請參閱 [EMR Serverless 使用者指南](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html)。
+ **SageMaker Processing**：SageMaker Processing 任務提供更進階選項，並精細控制用來處理資料的運算資源。例如，您可以指定運算執行個體的類型和計數、在您自己的 VPC 中設定任務，以及控制網路存取、自動化處理任務等。如需自動處理任務的詳細資訊，請參閱[建立自動處理新資料的排程](canvas-data-export-schedule-job.md)。如需 SageMaker 處理任務的更多一般資訊，請參閱[使用 SageMaker Processing 的資料轉換工作負載](processing-job.md)。

匯出至 Amazon S3 時支援下列檔案類型：
+ CSV
+ Parquet

若要開始使用，請檢閱下列先決條件。

### EMR Serverless 任務的先決條件
<a name="canvas-export-data-emr-prereqs"></a>

若要建立使用 EMR Serverless 資源的遠端任務，您必須擁有必要的許可。您可以透過 Amazon SageMaker AI 網域或使用者設定檔設定授予許可，也可以手動設定使用者的 IAM AWS 角色。如需如何授予使用者執行大型資料處理之許可的指示，請參閱[授予使用者在整個 ML 生命週期使用大型資料的許可](canvas-large-data-permissions.md)。

如果您不想要設定這些政策，但仍需要透過 Data Wrangler 處理大型資料集，您也可以使用 SageMaker Processing 任務。

使用下列程序將您的資料匯出至 Amazon S3。若要設定遠端任務，請遵循選用的進階步驟。

**將流程中的節點匯出至 Amazon S3**

1. 導覽至您的資料流程。

1. 選擇您要匯出的節點旁的省略符號圖示。

1. 在內容功能表中，將滑鼠懸停在**匯出**上方，然後選取**將資料匯出至 Amazon S3**。

1. 在**匯出至 Amazon S3** 側邊面板中，您可以變更新資料集的**資料集名稱**。

1. 針對 **S3 位置**，輸入您要將資料集匯出至其中的 Amazon S3 位置。您可以輸入 S3 位置或 S3 存取點的 S3 URI、別名或 ARN。如需存取點的詳細資訊，請參閱《Amazon S3 使用者指南》**中的[使用 Amazon S3 Access Points 管理資料存取](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)。

1. (選用) 針對**進階設定**，指定下列欄位的值：

   1. **檔案類型** - 所匯出資料的檔案格式。

   1. **分隔符號** - 用來分隔檔案中值的分隔符號。

   1. **壓縮** - 用來減少檔案大小的壓縮方法。

   1. **分割區數量** - Canvas 寫入為任務輸出的資料集檔案數量。

   1. **選擇資料欄** - 您可以從資料中選擇要包含在分割區中的資料欄子集。

1. 如果您想要 Canvas 將資料流程轉換套用至整個資料集並匯出結果，請保留選取的**處理整個資料集**選項。如果您取消選取此選項，Canvas 只會將轉換套用至互動式 Data Wrangler 資料流程中所使用的資料集範例。
**注意**  
如果您只匯出資料的範例，Canvas 會在應用程式中處理您的資料，而且不會為您建立遠端任務。

1. 如果您想要 Canvas 自動判定要使用 Canvas 應用程式記憶體還是 EMR Serverless 任務執行任務，請保留選取的**自動任務組態**選項。如果您取消選取此選項並手動設定任務，則可以選擇使用 EMR Serverless 或 SageMaker 處理任務。如需如何設定 EMR Serverless 或 SageMaker Processing 任務的指示，請在匯出您的資料之前參閱此程序後的一節。

1. 選擇 **Export** (匯出)。

下列程序說明如何在將完整資料集匯出至 Amazon S3 時，手動設定 EMR Serverless 或 SageMaker 處理的遠端任務設定。

------
#### [ EMR Serverless ]

若要在匯出至 Amazon S3 時設定 EMR Serverless 任務，請執行下列動作：

1. 在 [匯出至 Amazon S3] 側邊面板中，關閉**自動任務組態**選項。

1. 選取 **EMR Serverless**。

1. 針對 **任務名稱**，輸入 EMR Serverless 任務的名稱。名稱可以包含字母、數字、連字號和底線。

1. 針對 **IAM 角色**，輸入使用者的 IAM 執行角色。此角色應具備執行 EMR Serverless 應用程式所需的許可。如需詳細資訊，請參閱[授予使用者在整個 ML 生命週期使用大型資料的許可](canvas-large-data-permissions.md)。

1. （選用） 對於 **KMS 金鑰**，指定 的金鑰 ID 或 ARN AWS KMS key 來加密任務日誌。如果您未輸入金鑰，Canvas 會使用 EMR Serverless 的預設金鑰。

1. (選用) 針對**監控組態**，輸入您要日誌發佈至其中的 Amazon CloudWatch Logs 日誌群組名稱。

1. (選用) 針對**標籤**，將中繼資料標籤新增至由金鑰/值對組成的 EMR Serverless 任務。這些標籤可以用來分類和搜尋任務。

1. 選擇 **Export** (匯出)，啟動工作。

------
#### [ SageMaker Processing ]

若要在匯出至 Amazon S3 時設定 SageMaker 處理任務，請執行下列動作：

1. 在**匯出至 Amazon S3** 側邊面板中，關閉**自動任務組態**選項。

1. 選取 **SageMaker 處理**。

1. 針對**任務名稱**，輸入 SageMaker AI 處理任務的名稱。

1. 針對**執行個體類型**，選取要執行處理任務的運算執行個體類型。

1. 針對**執行個體計數**，指定要啟動的執行個體數量。

1. 針對 **IAM 角色**，輸入使用者的 IAM 執行角色。此角色應具必要的許可，讓 SageMaker AI 可以代表您建立和執行處理任務。如果您將 [AmazonSageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) 政策連接到 IAM 角色，則會授予這些許可。

1. 針對**磁碟區大小**，輸入連接至每個處理執行個體的 ML 儲存磁碟區的儲存大小，以 GB 為單位。根據預期的輸入和輸出資料大小選擇大小。

1. (選用) 針對**磁碟區 KMS 金鑰**，指定 KMS 金鑰來加密儲存磁碟區。如果未指定金鑰，則會使用預設的 Amazon EBS 加密金鑰。

1. (選用) 針對 **KMS 金鑰**，指定 KMS 金鑰來加密處理任務所使用的輸入和輸出 Amazon S3 資料來源。

1. (選用) 針對 **Spark 記憶體組態**，執行下列動作：

   1. 針對處理任務協調和排程的 Spark 驅動程式節點，輸入 **驅動程式記憶體 (以 MB 為單位)**。

   1. 針對在任務中執行個別任務的 Spark 執行器節點，輸入**執行器記憶體 (以 MB 為單位)**。

1. (選用) 針對 **網路組態**，執行下列動作：

   1. 針對**子網路組態**，輸入要在其中啟動處理執行個體的 VPC 子網路 ID。根據預設，任務會使用預設 VPC 的設定。

   1. 針對**安全群組組態**，輸入安全群組 ID，以控制傳入和傳出連線規則。

   1. 開啟**啟用容器間流量加密**選項，以在任務期間加密處理容器之間的網路通訊。

1. (選用) 針對**關聯排程**，您可以選擇建立 Amazon EventBridge 排程，讓處理任務定期執行。選擇**建立新排程**並填寫對話方塊。如需填寫本節並依排程執行處理任務的詳細資訊，請參閱[建立自動處理新資料的排程](canvas-data-export-schedule-job.md)。

1. (選用) 將**標籤**新增為金鑰值對，以便您可以分類和搜尋處理任務。

1. 選擇**匯出**以啟動處理任務。

------

匯出您的資料後，您應該會在指定的 Amazon S3 位置找到完全處理的資料集。

# 匯出資料流程
<a name="canvas-export-data-flow"></a>

匯出資料流程會轉譯您在 Data Wrangler 中執行的操作，並將其匯出至 Python 程式碼的 Jupyter 筆記本，您可以加以修改和執行。這有助於將資料轉換的程式碼整合到機器學習管道。

您可以選擇資料流程中的任何資料節點並將其匯出。匯出資料節點會匯出節點所代表的轉換，以及其先前的轉換。

**將資料流程匯出為 Jupyter 筆記本**

1. 導覽至您的資料流程。

1. 選擇您要匯出的節點旁邊的省略符號。

1. 在內容功能表中，將滑鼠懸停在**匯出**上方，然後將滑鼠懸停在**透過 Jupyter 筆記本匯出**上方。

1. 選擇下列其中一項：
   + **SageMaker Pipelines**
   + **Amazon S3**
   + **SageMaker AI 推論管道**
   + **SageMaker AI Feature Store**
   + **Python 程式碼**

1. **將資料流程匯出為筆記本**對話方塊隨即開啟。選擇下列其中之一：
   + **下載本機副本**
   + **匯出至 S3 位置**

1. 如果您選取了**匯出至 S3 位置**，請輸入您要將筆記本匯出至其中的 Amazon S3 位置。

1. 選擇 **Export** (匯出)。

您的 Jupyter 筆記本應該下載到您的本機電腦，或者您可以發現它儲存在您指定的 Amazon S3 位置。

# 新增目的地節點
<a name="canvas-destination-nodes-add"></a>

SageMaker Canvas 中的目的地節點指定要存放已處理和轉換資料的位置。當您選擇將轉換的資料匯出至 Amazon S3 時，Canvas 會使用指定的目的地節點位置，套用您在資料流程中設定的所有轉換。如需將任務匯出至 Amazon S3 的詳細資訊，請參閱上一節[匯出至 Amazon S3](canvas-export-data.md#canvas-export-data-s3)。

根據預設，選擇將您的資料匯出至 Amazon S3 會將目的地節點新增至您的資料流程。不過，您可以將多個目的地節點新增至流程，讓您可以同時將資料的不同轉換或變化集匯出至不同的 Amazon S3 位置。例如，您可以建立一個在套用所有轉換後匯出資料的目的地節點，以及另一個只在特定初始轉換之後匯出資料的目的地節點，例如聯結操作。此彈性可讓您針對各種使用案例，將轉換資料的不同版本或子集匯出和存放於不同的 S3 位置。

使用下列程序，將目的地節點新增至資料流程。

**新增目的地節點**

1. 導覽至您的資料流程。

1. 選擇您要將目的地節點放置在其中的節點旁邊的省略符號圖示。

1. 在內容功能表中，將滑鼠懸停在**匯出**上方，然後選取**新增目的地**。

1. 在**匯出目的地**側邊面板中，輸入**資料集名稱**以命名輸出。

1. 針對 **Amazon S3 位置**，輸入您要將輸出匯出至其中的 Amazon S3 位置。您可以輸入 S3 位置或 S3 存取點的 S3 URI、別名或 ARN。如需存取點的詳細資訊，請參閱《Amazon S3 使用者指南》**中的[使用 Amazon S3 Access Points 管理資料存取](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)。

1. 針對**匯出設定**，指定下列欄位：

   1. **檔案類型** - 所匯出資料的檔案格式。

   1. **分隔符號** - 用來分隔檔案中值的分隔符號。

   1. **壓縮** - 用來減少檔案大小的壓縮方法。

1. 針對**分割**，指定下列欄位：

   1. **分割區數量** - SageMaker Canvas 寫入為任務輸出的資料集檔案數量。

   1. **選擇資料欄** - 您可以從資料中選擇要包含在分割區中的資料欄子集。

1. 如果您想要直接將目的地節點新增至資料流程，請選擇**新增**，或者如果您想要新增節點並啟動匯出任務，請選擇**新增**，然後選擇**匯出**。

您現在應該會在流程中看到新的目的地節點。

# 編輯目的地節點
<a name="canvas-destination-nodes-edit"></a>

Amazon SageMaker Canvas 資料流程中的*目的地節點*會指定其中存放已處理和轉換資料的 Amazon S3 位置，同時套用資料流程中所有設定的轉換。您可以編輯現有目的地節點的組態，然後選擇重新執行任務以覆寫所指定 Amazon S3 位置中的資料。如需新增目的地節點的詳細資訊，請參閱[新增目的地節點](canvas-destination-nodes-add.md)。

使用下列程序來編輯資料流程中的目的地節點，並啟動匯出任務。

**編輯目的地節點**

1. 導覽至您的資料流程。

1. 選擇您要編輯的目的地節點旁邊的省略符號圖示。

1. 在內容功能表中，選擇**編輯**。

1. **編輯目的地**側邊面板隨即開啟。從這個面板中，您可以編輯詳細資訊，例如資料集名稱、Amazon S3 位置，以及匯出和分割設定。

1. (選用) 在**要匯出的其他節點**中，您可以選取更多要在執行匯出任務時處理的目的地節點。

1. 如果您想要 Canvas 將資料流程轉換套用至整個資料集並匯出結果，請保留選取的**處理整個資料集**選項。如果您取消選取此選項，Canvas 只會將轉換套用至互動式 Data Wrangler 資料流程中所使用的資料集範例。

1. 如果您想要 Canvas 自動判定要使用 Canvas 應用程式記憶體還是 EMR Serverless 任務執行任務，請保留選取的**自動任務組態**選項。如果您取消選取此選項並手動設定任務，則可以選擇使用 EMR Serverless 或 SageMaker 處理任務。如需如何設定 EMR Serverless 或 SageMaker 處理任務的指示，請參閱上一節[匯出至 Amazon S3](canvas-export-data.md#canvas-export-data-s3)。

1. 完成變更後，選擇**更新**。

儲存目的地節點組態的變更不會自動重新執行任務或覆寫已處理和匯出的資料。重新匯出您的資料，以使用新組態執行任務。如果您決定使用任務再次匯出資料，Canvas 會使用更新的目的地節點組態，將資料轉換和輸出至指定的位置，覆寫任何現有的資料。

# 建立自動處理新資料的排程
<a name="canvas-data-export-schedule-job"></a>

**注意**  
下節僅適用於 SageMaker 處理任務。如果您使用預設的 Canvas 設定或 EMR Serverless 來建立遠端任務，以將轉換套用至完整資料集，則本節不適用。

如果您要定期處理資料，則可以建立排程以自動執行處理任務。例如您可以建立排程，在獲得新資料時自動執行處理任務。如需處理任務的詳細資訊，請參閱[匯出至 Amazon S3](canvas-export-data.md#canvas-export-data-s3)。

建立任務時，必須指定一個 IAM 角色，具備建立該任務的許可。您可以使用 [AmazonSageMakerCanvasDataPrepFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasDataPrepFullAccess.html) 政策來新增許可。

將下列信任政策新增至角色，以便 EventBridge 加以採用。

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": "sts:AssumeRole"
}
```

**重要**  
當您建立排程時，Data Wrangler 會在 EventBridge 中建立一個 `eventRule`。您建立的事件規則和用於執行處理任務的執行個體都會產生費用。  
如需 EventBridge 定價的詳細資訊，請參閱 [Amazon EventBridge 定價](https://aws.amazon.com/eventbridge/pricing/)。有關處理任務定價的資訊，請參閱 [Amazon SageMaker 定價](https://aws.amazon.com/sagemaker/pricing/)。

您可以使用以下其中一個方法建立排程：
+ [Cron 表達式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)
**注意**  
Data Wrangler 不支援以下表達式：  
LW \$1
天的縮寫
月的縮寫
+ [Rate 表達式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-rate-expressions)
+ 週期性 — 設定每小時或每日執行任務的間隔。
+ 指定時間 — 設定執行任務的特定日期和時間。

下列各節提供在[將資料匯出至 Amazon S3](canvas-export-data.md#canvas-export-data-s3) 時，於填寫 SageMaker AI 處理任務設定時排程任務的程序。下列所有指示都從 SageMaker 處理任務設定的**關聯排程**區段開始。

------
#### [ CRON ]

使用下列程序建立包含 CRON 表達式的排程。

1. 在**匯出至 Amazon S3** 側邊面板中，確定您已關閉**自動任務組態**切換，並已選取 **SageMaker 處理**選項。

1. 在 **SageMaker 處理**任務設定中，開啟**關聯排程**區段，然後選擇**建立新排程**。

1. **建立新排程**對話方塊隨即開啟。針對**排程名稱**，請指定排程的名稱。

1. 針對**執行頻率**，請選擇 **CRON**。

1. 針對每個**分鐘**、**小時**、**當月日期**、**月**和**星期幾**欄位，輸入有效的 CRON 表達式值。

1. 選擇**建立**。

1. (選用) 選擇**新增另一個排程**，在另一個排程執行任務。
**注意**  
您最多可以關聯兩個排程。這些排程是獨立的，除非時間重疊，否則不會相互影響。

1. 選擇下列其中一項：
   + **立即排程並執行** - 任務會立即執行，之後按排程執行。
   + **僅限排程** - 任務只會按您指定的排程執行。

1. 在完成其餘匯出任務設定之後，請選擇**匯出**。

------
#### [ RATE ]

使用下列程序建立包含 RATE 表達式的排程。

1. 在**匯出至 Amazon S3** 側邊面板中，確定您已關閉**自動任務組態**切換，並已選取 **SageMaker 處理**選項。

1. 在 **SageMaker 處理**任務設定中，開啟**關聯排程**區段，然後選擇**建立新排程**。

1. **建立新排程**對話方塊隨即開啟。針對**排程名稱**，請指定排程的名稱。

1. 針對**執行頻率**，請選擇 **Rate**。

1. 針對**值**，請指定整數。

1. 針對**單位**，請選擇下列項目之一：
   + **分鐘**
   + **小時**
   + **天**

1. 選擇**建立**。

1. (選用) 選擇**新增另一個排程**，在另一個排程執行任務。
**注意**  
您最多可以關聯兩個排程。這些排程是獨立的，除非時間重疊，否則不會相互影響。

1. 選擇下列其中一項：
   + **立即排程並執行** - 任務會立即執行，之後按排程執行。
   + **僅限排程** - 任務只會按您指定的排程執行。

1. 在完成其餘匯出任務設定之後，請選擇**匯出**。

------
#### [ Recurring ]

請使用下列程序來建立週期性基礎的任務執行排程。

1. 在**匯出至 Amazon S3** 側邊面板中，確定您已關閉**自動任務組態**切換，並已選取 **SageMaker 處理**選項。

1. 在 **SageMaker 處理**任務設定中，開啟**關聯排程**區段，然後選擇**建立新排程**。

1. **建立新排程**對話方塊隨即開啟。針對**排程名稱**，請指定排程的名稱。

1. 針對**執行頻率**，選擇**週期性**。

1. 針對**每 x 小時**，請指定任務在一天中執行的小時頻率。有效值是 **1** 與 **23** 之包含範圍內的整數。

1. 針對**在這些日子**，選擇以下其中一個選項：
   + **每天**
   + **週末**
   + **平日**
   + **選擇天數**

   1. (選用) 如果您已選取**選取天數**，請選擇一週中的哪幾天要執行任務。
**注意**  
排程會每天重設一次。如果您將任務排定為每五個小時執行一次，則它會在一天的下列時間執行：  
00：00
05：00
10：00
15：00
20：00

1. 選擇**建立**。

1. (選用) 選擇**新增另一個排程**，在另一個排程執行任務。
**注意**  
您最多可以關聯兩個排程。這些排程是獨立的，除非時間重疊，否則不會相互影響。

1. 選擇下列其中一項：
   + **立即排程並執行** - 任務會立即執行，之後按排程執行。
   + **僅限排程** - 任務只會按您指定的排程執行。

1. 在完成其餘匯出任務設定之後，請選擇**匯出**。

------
#### [ Specific time ]

請使用下列程序來建立在指定時間執行任務的排程。

1. 在**匯出至 Amazon S3** 側邊面板中，確定您已關閉**自動任務組態**切換，並已選取 **SageMaker 處理**選項。

1. 在 **SageMaker 處理**任務設定中，開啟**關聯排程**區段，然後選擇**建立新排程**。

1. **建立新排程**對話方塊隨即開啟。針對**排程名稱**，請指定排程的名稱。

1. 針對**執行頻率**，選擇**開始時間**。

1. 針對**開始時間**，以 UTC 格式輸入時間 (例如，**09:00**)。開始時間預設為您所在的時區。

1. 針對**在這些日子**，選擇以下其中一個選項：
   + **每天**
   + **週末**
   + **平日**
   + **選擇天數**

   1. (選用) 如果您已選取**選取天數**，請選擇一週中的哪幾天要執行任務。

1. 選擇**建立**。

1. (選用) 選擇**新增另一個排程**，在另一個排程執行任務。
**注意**  
您最多可以關聯兩個排程。這些排程是獨立的，除非時間重疊，否則不會相互影響。

1. 選擇下列其中一項：
   + **立即排程並執行** - 任務會立即執行，之後按排程執行。
   + **僅限排程** - 任務只會按您指定的排程執行。

1. 在完成其餘匯出任務設定之後，請選擇**匯出**。

------

您可以使用 SageMaker AI AWS 管理主控台 來檢視排程執行的任務。您的處理任務會在 Pipelines 內執行。每個處理任務都有自己的管道。它的運作方式為管道內的處理步驟。您可以檢視您在管道中建立的排程。如需在檢視管道更多資訊，請參閱[檢視管道的詳細資訊](pipelines-studio-list.md)。

使用下列程序來檢視您已排定的任務。

若要檢視您已排定的任務，請執行下列操作。

1. 開啟 Amazon SageMaker Studio Classic。

1. 開啟管道

1. 檢視您已建立之任務管道。

   執行任務的管道字首會使用任務名稱。例如，如果您已建立名為 `housing-data-feature-enginnering` 的任務，則管道的名稱為 `canvas-data-prep-housing-data-feature-engineering`。

1. 選擇包含任務的管道。

1. 檢視管道的狀態。**狀態**為**成功**的管道表示已成功執行處理任務。

若要停止執行處理任務，請執行下列動作：

若要停止執行處理任務，請刪除指定排程的事件規則。刪除事件規則會停止執行與該排程相關聯的所有任務。如需刪除規則的相關資訊，請參閱[停用或刪除 Amazon EventBridge 規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-delete-rule.html)。

您也可以停止和刪除與排程相關聯的管道。如需停止管道的相關資訊，請參閱 [StopPipelineExecution](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html)。如需刪除管道的相關資訊，請參閱 [DeletePipeline](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeletePipeline.html#API_DeletePipeline_RequestSyntax)。

# 在 SageMaker Canvas 中自動準備資料
<a name="canvas-data-export"></a>

在資料流程中轉換您的資料之後，您可以將這些轉換匯出至機器學習工作流程。匯出您的轉換時，SageMaker Canvas 會建立 Jupyter 筆記本。您必須在 Amazon SageMaker Studio Classic 內執行筆記本。如需開始使用 Studio Classic 的相關資訊，請聯絡您的管理員。

## 使用管道自動準備資料
<a name="canvas-data-export-pipelines"></a>

當您想要建立和部署大規模的機器學習 (ML) 工作流程時，可以使用 Pipelines 來建立能管理和部署 SageMaker AI 任務的工作流程。您可以使用 Pipelines 建立工作流程，以管理 SageMaker AI 資料準備、模型訓練和模型部署任務。您可以使用 Pipelines 來利用 SageMaker AI 提供的第一方演算法。如需 Pipelines 的詳細資訊，請參閱 [SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines.html)。

當您將資料流程中的一或多個步驟匯出至 Pipelines 時，Data Wrangler 會建立 Jupyter 筆記本，您可以使用該筆記本來定義、具現化、執行和管理管道。

### 使用 Jupyter 筆記本建立管道
<a name="canvas-pipelines-notebook"></a>

使用下列程序建立 Jupyter 筆記本，以將 Data Wrangler 流程匯出至 Pipelines。

使用下列程序產生 Jupyter 筆記本並執行，以將 Data Wrangler 流程匯出至 Pipelines。

1. 選擇欲匯出的節點旁的 **\$1** 號。

1. 選擇**匯出資料流程**。

1. 選擇 **Pipelines (透過 Jupyter 筆記本)**。

1. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 內存取的 Amazon S3 位置。如果您需要適當位置的指引，請聯絡您的管理員。

1. 執行 Jupyter 筆記本。

您可以使用 Data Wrangler 產生的 Jupyter 筆記本來定義管道。管道包括 Data Wrangler 流程所定義的資料處理步驟。

您可以將步驟新增至筆記本中下列程式碼的 `steps` 清單，以將其他步驟新增至管道：

```
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[instance_type, instance_count],
    steps=[step_process], #Add more steps to this list to run in your Pipeline
)
```

如需定義管道的詳細資訊，請參閱[定義 SageMaker AI Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/define-pipeline.html)。

## 使用推論端點自動準備資料
<a name="canvas-data-export-inference"></a>

透過從 Data Wrangler 流程建立 SageMaker AI 序列推論管道，使用 Data Wrangler 流程在推論時處理資料。推論管道是一系列步驟，可讓經過訓練的模型對新資料進行預測。Data Wrangler 中的序列推論管道可轉換原始資料，並將其提供給機器學習模型以進行預測。您可以從 Studio Classic 內的 Jupyter 筆記本建立、執行和管理推論管道。如需存取筆記本的詳細資訊，請參閱[使用 Jupyter 筆記本建立推論端點](#canvas-inference-notebook)。

在筆記本中，您可以訓練機器學習模型，也可以指定您已經訓練過的模型。您可以使用 Amazon SageMaker Autopilot 或 XGBoost 來訓練模型，使用您在 Data Wrangler 流程中轉換的資料來訓練模型。

管道具有執行批次或即時推論的功能。您也可以將 Data Wrangler 流程新增至 SageMaker Model Registry。若要取得關於託管模型的詳細資訊，請參閱[多模型端點](multi-model-endpoints.md)。

**重要**  
如果 Data Wrangler 流程具有下列轉換，則無法將其匯出至推論端點：  
Join
串連
分組依據
如果您必須使用前述轉換來準備資料，請使用下列程序。  
建立 Data Wrangler 流程。
套用不支援的先前轉換。
將資料匯出至 Amazon S3 儲存貯體。
建立個別 Data Wrangler 流程。
匯入您從先前流程匯出的資料。
套用剩餘的轉換。
使用我們提供的 Jupyter 筆記本建立序列推論管道。
如需將資料匯出至 Amazon S3 儲存貯體的詳細資訊，請參閱[匯出資料](canvas-export-data.md)。如需開啟用來建立序列推論管道的 Jupyter 筆記本詳細資訊，請參閱[使用 Jupyter 筆記本建立推論端點](#canvas-inference-notebook)。

Data Wrangler 會忽略在推論時移除資料的轉換。例如，如果您使用**刪除遺失**的組態，則 Data Wrangler 會忽略 [處理缺少值](canvas-transform.md#canvas-transform-handle-missing) 轉換。

如果您已將重新調整整個資料集的轉換，則轉換會繼承至您的推論管道。例如，如果您使用中位數值來推算缺少的值，則重新調整轉換的中位數值會套用至您的推論請求。您可以在使用 Jupyter 筆記本或將資料匯出至推論管道時，重新調整 Data Wrangler 流程的轉換。

序列推論管道支援輸入和輸出字串的下列資料類型。每種資料類型都有一組請求。

**支援的資料類型**
+ `text/csv` — CSV 字串的資料類型
  + 字串不能有標題。
  + 用於推論管道的功能必須與訓練資料集中的功能順序相同。
  + 功能之間必須有逗號分隔符號。
  + 記錄必須以換行字元分隔。

  以下範例是您可以在推論請求中提供的有效格式 CSV 字串。

  ```
  abc,0.0,"Doe, John",12345\ndef,1.1,"Doe, Jane",67890                    
  ```
+ `application/json` — JSON 字串的資料類型
  + 用於推論管道中的資料集功能必須與訓練資料集中的功能順序相同。
  + 資料必須具有特定的結構描述。您可以將結構描述定義為具有一組 `features` 的單一 `instances` 物件。每個 `features` 物件都代表一個觀察。

  以下範例是您可以在推論請求中提供的有效格式 JSON 字串。

  ```
  {
      "instances": [
          {
              "features": ["abc", 0.0, "Doe, John", 12345]
          },
          {
              "features": ["def", 1.1, "Doe, Jane", 67890]
          }
      ]
  }
  ```

### 使用 Jupyter 筆記本建立推論端點
<a name="canvas-inference-notebook"></a>

使用下列程序匯出 Data Wrangler 流程，以建立推論管道。

若要使用 Jupyter 筆記本建立推論管道，請執行下列動作。

1. 選擇欲匯出節點旁的 **\$1**。

1. 選擇**匯出資料流程**。

1. 選擇 **SageMaker AI Inference Pipeline (透過 Jupyter 筆記本)**。

1. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 內存取的 Amazon S3 位置。如果您需要適當位置的指引，請聯絡您的管理員。

1. 執行 Jupyter 筆記本。

當您執行 Jupyter 筆記本時，它會建立推論流程成品。推論流程成品是 Data Wrangler 流程檔案，其中包含用於建立序列推論管道的其他中繼資料。您要匯出的節點會包含先前節點的所有轉換。

**重要**  
Data Wrangler 需要推論流程成品才能執行推論管道。您無法使用自己的流程檔案做為成品。您必須使用上述程序來建立。

## 使用 Python 程式碼自動準備資料
<a name="canvas-data-export-python-code"></a>

若要將資料流程中的所有步驟匯出至可手動整合至任何資料處理工作流程的 Python 檔案，請使用下列程序。

使用下列程序產生 Jupyter 筆記本並執行它，將 Data Wrangler 流程匯出至 Python 程式碼。

1. 選擇欲匯出節點旁的 **\$1**。

1. 選擇**匯出資料流程**。

1. 選擇 **Python 程式碼**。

1. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 內存取的 Amazon S3 位置。如果您需要適當位置的指引，請聯絡您的管理員。

1. 執行 Jupyter 筆記本。

您可能需要設定 Python 指令碼，使其在您的管道中執行。例如，如果您正在執行 Spark 環境，請確定您從有權存取 AWS 資源的環境執行指令碼。

# SageMaker Canvas 中的生成式 AI 基礎模型
<a name="canvas-fm-chat"></a>

Amazon SageMaker Canvas 提供生成式 AI 基礎模型，您可以使用這些模型開始對話聊天。這些內容產生模型會根據大量的文字資料進行訓練，以學習單字之間的統計模式和關係，並且可以產生與訓練文字在統計學上類似的連貫文字。若要使用此功能來提高生產力，請執行下列操作：
+ 產生內容，例如文件大綱、報告和部落格
+ 將來自大型語料庫的文字進行摘要，例如法說會文字記錄、年度報告或使用者手冊章節
+ 從大型文字段落，例如會議筆記或敘述中提取洞察和關鍵要點
+ 改善文字並抓取語法錯誤或拼寫錯誤

基礎模型是 Amazon SageMaker JumpStart 和[ Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) 大型語言模型 (LLM) 的組合。Canvas 提供下列模型：


| 模型 | Type | 說明 | 
| --- | --- | --- | 
|  Amazon Titan  | Amazon Bedrock 模型 |  Amazon Titan 是功能強大的一般用途語言模型，可用於摘要、文字產生 (例如建立部落格文章)、分類、開放式問答集和資訊擷取等任務。它在大型資料集上進行了預先訓練，因此適用於複雜的任務和推理。為了繼續支援以負責任方式使用 AI 的最佳實務，Amazon Titan 基礎模型可偵測並移除資料中的有害內容、拒絕使用者輸入中的不當內容，以及篩選包含不適當內容 (例如仇恨言論、褻瀆和暴力) 的模型輸出。  | 
|  Anthropic Claude Instant  | Amazon Bedrock 模型 |  Anthropic 的 Claude Instant 是一個更快、更具成本效益，但能力依舊相當好的模型。該模型可以處理一系列任務，包括一般對話、文字分析、摘要和文件問題答案。Claude Instant 就像 Claude-2 一樣，在每個提示中最多可以支援 100,000 個權杖，等同於大約 200 頁的資訊。  | 
|  Anthropic Claude-2  | Amazon Bedrock 模型 |  Claude-2 是 Anthropic 最強大的模型，擅長各種包括複雜的對話和創意內容產生到遵循詳細說明等任務。Claude-2 可以在每個提示中最多支援 100,000 個權杖，等同於大約 200 頁的資訊。與以前的版本相比，它可以產生更長的回應。它支援的使用案例諸如問題回答、資訊擷取、移除 PII、內容產生、多重選擇分類、角色扮演、比較文字、摘要以及有引用的文件問答。  | 
|  Falcon-7B-Instruct  | JumpStart 模型 |  Falcon-7B-Instruct 具有 70 億個參數，並在聊天和指導資料集的混合中進行微調。它適合作為虛擬助手，並且在遵循說明或進行對話時表現最佳。由於該模型是針對大量英語網路資料進行訓練，因此有線上常見的刻板印象和偏見，並且不適合英語以外的語言。與 Falcon-40B-Instruct 相比，Falcon-7B-Instruct 是一個更小、更精簡的模型。  | 
|  Falcon-40B-Instruct  | JumpStart 模型 |  Falcon-40B-Instruct 具有 400 億個參數，並在聊天和指導資料集的混合物進行了微調。它適合作為虛擬助手，並且在遵循說明或進行對話時表現最佳。由於該模型是針對大量英語網路資料進行訓練，因此有線上常見的刻板印象和偏見，並且不適合英語以外的語言。與 Falcon-7B-Instruct 相比，Falcon-40B-Instruct 是一個更大、功能更強的模型。  | 
|  Jurassic-2 Mid  | Amazon Bedrock 模型 |  Jurassic-2 Mid 是一個高效能的文字產生模型，經過了大量的文字語料庫的訓練 (目前直到 2022 年中期)。它具有高度通用的一般用途，並且能夠撰寫類似人類的文字並解決複雜的任務，例如問題答案、文字分類等。該模型提供零樣本指示功能，允許僅使用自然語言進行定向，而無需使用範例。它的執行速度比其前身 Jurassic-1 模型快 30％。 Jurassic-2 Mid 是 AI21 的中型模型號，經過精心設計，旨在在卓越的品質和實惠性之間取得適當平衡。  | 
|  Jurassic-2 Ultra  | Amazon Bedrock 模型 |  Jurassic-2 Ultra 是一個高效能的文字產生模型，經過了大量的文字語料庫的訓練 (目前直到 2022 年中期)。它具有高度通用的一般用途，並且能夠撰寫類似人類的文字並解決複雜的任務，例如問題答案、文字分類等。該模型提供零樣本指示功能，允許僅使用自然語言進行定向，而無需使用範例。它的執行速度比其前身 Jurassic-1 模型快 30％。 與 Jurassic-2 中期相比，Jurassic-2 Ultra 規模稍大，是功能更強大的模型。  | 
|  Llama-2-7b-Chat  | JumpStart 模型 |  Llama-2-7b-Chat 是 Meta 的基礎模型，適合參與有意義的連貫對話、產生新內容，以及從現有筆記擷取答案。由於該模型是針對大量英語網路資料進行訓練，因此有線上常見的偏差和限制，最適合英文任務。  | 
|  Llama-2-13B-Chat  | Amazon Bedrock 模型 |  在對網際網路資料進行初始訓練之後，Llama-2-13B-Chat by Meta 已針對對話式資料進行微調。它針對自然對話和互動聊天功能進行了最佳化，使其非常適合做為對話代理程式。與較小的 Llama-2-7b-Chat 比較，Llama-2-13B-Chat 具有近兩倍的參數，可讓其記住更多內容並產生更細微的對話回應。如同 Llama-2-7b-Chat，Llama-2-13B-Chat 已針對英文資料進行訓練，最適合英文任務。  | 
|  Llama-2-70B-Chat  | Amazon Bedrock 模型 |  如同 Llama-2-7b-Chat 和 Llama-2-13B-Chat，Meta 的 Llama-2-70B-Chat 模型已針對參與自然且有意義的對話進行最佳化。透過 700 億個參數，相較於更精簡的模型版本，這個大型對話模型可以記住更廣泛的內容，並產生高度一致的回應。不過，代價是回應速度變慢和資源要求增加。Llama-2-70B-Chat 已針對大量英文網際網路資料進行訓練，最適合英文任務。  | 
|  Mistral-7B  | JumpStart 模型 |  Mistral-7B by Mistral.AI 是一種絕佳的一般用途語言模型，適用於各種自然語言 (NLP) 任務，例如文字產生、摘要和問答。它利用分組查詢注意力 (GQA)，允許更快的推論速度，使其效能與兩倍或三倍參數的模型相當。它是以文字資料混合方式進行訓練，包括英文書籍、網站和科學論文，因此最適合英文任務。  | 
|  Mistral-7B-Chat  | JumpStart 模型 |  Mistral-7B-Chat 是 Mistral.AI 以 Mistral-7B 為基礎的對話式模型。雖然 Mistral-7B 最適合一般 NLP 任務，但 Mistral-7B-Chat 已進一步針對對話式資料進行微調，以最佳化其自然、吸引人的聊天能力。因此，Mistral-7B-Chat 會產生更多類似人類的回應，並記住先前回應的內容。如同 Mistral-7B，此模型最適合英文任務。  | 
|  MPT-7B-Instruct  | JumpStart 模型 |  MPT-7B-Instruct 是一種用於跟隨任務的長形指令的模型，可以幫助您完成寫作任務，包括文字摘要和問答，以節省您的時間和精力。這個模型是針對大量微調資料進行訓練，可以處理較大的輸入，例如複雜的文件。當您要處理大型文字內文或希望模型產生較長的回應時，請使用此模型。  | 

Amazon Bedrock 的基礎模型目前僅適用於美國東部 (維吉尼亞北部) 和美國西部 (奧勒岡) 區域。此外，使用 Amazon Bedrock 的基礎模型時，會根據每個模型供應商指定的輸入權杖和輸出權杖數量向您收費。如需更多資訊，請參閱 [Amazon Bedrock 定價頁面](https://aws.amazon.com/bedrock/pricing/)。JumpStart 基礎模型會部署在 SageMaker AI 託管執行個體上，並根據使用的執行個體類型向您基於用量持續時間收取費用。如需有關不同執行個體類型成本的詳細資訊，請參閱 [SageMaker 定價頁面](https://aws.amazon.com/sagemaker/pricing/)上的 Amazon SageMaker AI 託管：即時推論一節。

文件查詢是一項額外功能，您可以使用 Amazon Kendra 從存放在索引中的文件查詢和取得洞察。您可以使用此功能，從這些文件的前後關聯產生內容，並獲得特定於您的商業使用案例的回應，而非針對已訓練基礎模型之大量資料的一般回應。如需 Amazon Kendra 索引的更多相關資訊，請參閱 [Amazon Kendra 開發人員指南](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html)。

如果您想要從根據您資料和使用案例自訂的任何基礎模型取得回應，您可以微調基礎模型。如需詳細資訊，請參閱 [微調基礎模型](canvas-fm-chat-fine-tune.md)。

如果您想要透過應用程式或網站從 Amazon SageMaker JumpStart 基礎模型取得預測，您可以將模型部署到 SageMaker AI *端點*。SageMaker AI 端點託管您的模型，而且您可以透過應用程式程式碼將請求傳送至端點，以接收來自模型的預測。如需詳細資訊，請參閱[將模型部署到端點](canvas-deploy-model.md)。

# 完成 SageMaker Canvas 中基礎模型的先決條件
<a name="canvas-fm-chat-prereqs"></a>

以下各節概述了與基礎模型交互動以及在 Canvas 中使用文件查詢功能的先決條件。本頁面的其餘內容假設您已符合基礎模型的先決條件。文件查詢功能需要其他許可。

## 基礎模型的先決條件
<a name="canvas-fm-chat-prereqs-fm"></a>

與模型互動所需的許可包含在 Canvas 即用型模型許可中。若要在 Canvas 中使用生成式 AI 模型，您必須在設定 Amazon SageMaker AI 網域時開啟 **Canvas 即用型模型組態**許可。如需詳細資訊，請參閱[設定 Amazon SageMaker Canvas 的先決條件](canvas-getting-started.md#canvas-prerequisites)。**Canvas 即用型模型組態**將 [AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) 政策連接到了您的 Canvas 使用者的 AWS Identity and Access Management (IAM)執行角色。如果您在授予許可時遇到任何問題，請參閱主題[針對透過 SageMaker AI 主控台授予許可的問題進行故障診斷](canvas-limits.md#canvas-troubleshoot-trusted-services)。

如果您已設定網域，則可以編輯網域設定並開啟許可。如需如何編輯網域設定的指示，請參閱[編輯網域設定](domain-edit.md)。編輯網域的設定時，請前往 **Canvas 設定**，然後開啟**啟用 Canvas 即用型模型**選項。

某些 JumpStart 基礎模型也會要求您請求增加 SageMaker AI 執行個體配額。Canvas 會在這些執行個體上託管您目前與之互動的模型，但您的帳戶的預設配額可能不足。如果您在執行下列任何模型時發生錯誤，請求增加已關聯的執行個體類型的配額：
+ Falcon-40B – `ml.g5.12xlarge`、`ml.g5.24xlarge`
+ Falcon-13B – `ml.g5.2xlarge`、`ml.g5.4xlarge`、`ml.g5.8xlarge`
+ MPT-7B-Instruct - `ml.g5.2xlarge`、`ml.g5.4xlarge`、`ml.g5.8xlarge`

針對前面的 執行個體類型，請求端點用量配額從 0 增加到 1。如需關於如何提高您的帳戶的執行個體配額更多相關資訊，請參閱 *Service Quotas 使用者指南*中的[請求增加配額](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)。

## 文件查詢的先決條件
<a name="canvas-fm-chat-prereqs-kendra"></a>

**注意**  
下列支援文件查詢 AWS 區域：美國東部 （維吉尼亞北部）、美國東部 （俄亥俄）、美國西部 （奧勒岡）、歐洲 （愛爾蘭）、亞太區域 （新加坡）、亞太區域 （雪梨）、亞太區域 （東京） 和亞太區域 （孟買）。

文件查詢功能要求您已經擁有儲存文件和文件中繼資料的 Amazon Kendra 索引。如需 Amazon Kendra 的更多相關資訊，請參閱 [Amazon Kendra 開發人員指南](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html)。若要進一步了解查詢索引的配額，請參閱 *Amazon Kendra 開發人員指南*中的[配額](https://docs.aws.amazon.com/kendra/latest/dg/quotas.html)。

您還必須確保 Canvas 使用者設定檔具有文件查詢所需的許可。必須在託管 Canvas 應用程式的 SageMaker AI 網域上，將 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) 政策連接至 AWS IAM 執行角色 (此政策預設會連接至所有新的與現有 Canvas 使用者設定檔)。您還必須特別授予文件查詢許可，並指定對一或多個 Amazon Kendra 索引的存取權。

如果您的 Canvas 管理員正在設定新網域或使用者設定檔，請依照[設定 Amazon SageMaker Canvas 的先決條件](canvas-getting-started.md#canvas-prerequisites)中的指示設定網域。在設定網域時，他們可以透過 **Canvas 即用型模型組態**開啟文件查詢許可。

Canvas 管理員也可以在使用者設定檔等級上管理文件查詢許可。例如，如果管理員想要將文件查詢許可授予某些使用者設定檔，但要移除其他使用者的權限，則他們可以編輯特定使用者的許可。

以下程序示範如何開啟特定使用者設定檔的文件查詢許可：

1. 開啟位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從網域清單中選取使用者設定檔的網域。

1. 在**網域詳細資訊**頁面上，選擇您要編輯其許可的**使用者設定檔**。

1. 在** User Details** (使用者詳細資訊) 頁面選擇 **Edit (編輯)**。

1. 在左側導覽窗格中，選擇** Canvas 設定**。

1. 在 **Canvas 即用型模型組態**區段中，開啟**啟用使用 Amazon Kendra 文件查詢**切換開關。

1. 在下拉式清單中，選取您要授予存取權的一個或多個 Amazon Kendra 索引。

1. 選擇**提交**，將變更儲存至您的網域設定。

您現在應該可以使用 Canvas 基礎模型來查詢指定 Amazon Kendra 索引中的文件。

# 開始新的對話以產生、擷取或摘要內容
<a name="canvas-fm-chat-new"></a>

若要在 Canvas 中開始使用生成式 AI 基礎模型，您可以使用其中一個模型啟動新的聊天工作階段。針對 JumpStart 模型，會在模型處於作用中狀態時向您收費，因此您必須在要使用模型時啟動模型，並在完成互動後將其關閉。如果您沒有關閉 JumpStart 模型，則 Canvas 會在非作用中 2 小時後將其關閉。針對 Amazon Bedrock 模型 (例如 Amazon Titan)，系統會根據提示向您收費；模型已經在使用中，不需要啟動或關閉。Amazon Bedrock 會直接向您收取使用這些模型的費用。

若要用模型開始對話，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**即用型模型**。

1. 選擇**產生、擷取與摘要內容**。

1. 在歡迎頁面上，您會收到啟動預設模型的建議。您可以啟動建議的模型，也可以從下拉式清單中**選擇其他模型**以選擇其他不同模型。

1. 如果您選取了 JumpStart 基礎模型，則必須先將其啟動然後才能使用。選擇**啟動模型**，然後模型會部署到 SageMaker AI 執行個體。這可能需要幾分鐘才能完成。當模型準備就緒時，您可以輸入提示並詢問模型問題。

   如果您從 Amazon Bedrock 選擇了基礎模型，則可以透過輸入提示並提出問題，立即開始使用它。

根據不同的模型，您可以執行各種任務。例如您可以輸入一段文字，並要求模型對其進行摘要。或者您可以要求模型提出您領域中市場趨勢的簡短總結。

聊天中模型的回應是基於您先前提示的內容而定。如果您想在聊天中提出與上一個對話主題無關的新問題，我們建議您使用該模型開始新的聊天。

# 使用文件查詢從文件擷取資訊
<a name="canvas-fm-chat-query"></a>

**注意**  
本章節假設您已完成以上章節[文件查詢的先決條件](canvas-fm-chat-prereqs.md#canvas-fm-chat-prereqs-kendra)。

文件查詢是您可以在 Canvas 中與基礎模型互動時使用的功能。您可以透過文件查詢，存取儲存在 Amazon Kendra *索引*中的文件語料庫，該索引會儲存文件內容，且其結構以可搜尋文件的方式架構。您可以針對 Amazon Kendra 索引中的資料提出特定問題，基礎模型就會傳回問題的答案。例如，您可以查詢 IT 資訊的內部知識庫，並提出諸如 “如何連線至公司的網路？” 等問題 如需設定索引的更多相關資訊 ，請參閱 [Amazon Kendra 開發人員指南](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html)。

使用文件查詢功能時，基礎模型會使用稱為擷取增強產生 (RAG) 的技術，限制其對索引中文件內容的回應。這種技術將索引中最相關的資訊與使用者的提示綁定在一起，並將其發送到基礎模型以獲得回應。回應僅限於索引中可以找到的內容，以防止模型根據外部資料給您不正確的回應。如需有關此程序的更多相關資訊，請參閱部落格文章[快速針對企業資料建置高準確度的生成式 AI 應用程式](https://aws.amazon.com/blogs/machine-learning/quickly-build-high-accuracy-generative-ai-applications-on-enterprise-data-using-amazon-kendra-langchain-and-large-language-models/)。

若要開始使用，請在 Canvas 中與基礎模型的聊天裡，開啟頁面頂端的**文件查詢**切換開關。從下拉式清單中選取您要查詢的 Amazon Kendra 索引。然後，您可以開始詢問與索引中的文件相關的問題。

**重要**  
文件查詢支援 [比較模型輸出](canvas-fm-chat-compare.md)功能。當您開始新聊天時，任何現有的聊天歷史記錄都會被覆蓋，以便比較模型輸出。

# 啟動模型
<a name="canvas-fm-chat-manage"></a>

**注意**  
下節描述啟動模型，這些描述僅適用於 JumpStart 基礎模型，例如 Falcon-40B-Instruct。您可以隨時存取 Amazon Bedrock 模型，如 Amazon Titan。

您可以根據需要啟動任意數量的 JumpStart 模型。每個作用中的 JumpStart 模型都會讓您的帳戶產生費用，因此我們建議您啟動的模型數量不要超過目前使用的模型數量。

若要啟動另一個模型，您可以執行下列動作：

1. 在**產生、擷取和摘要內容**頁面上，選擇**新聊天**。

1. 從下拉式清單選擇模型。如果您要選擇未顯示在下拉式清單中的模型，請選擇**啟動其他模型**，然後選取您要啟動的模型。

1. 選擇**啟動模型**。

模型應該開始啟動，幾分鐘之內您就可以與模型聊天。

# 關閉模型
<a name="canvas-fm-chat-shut-down"></a>

我們強烈建議您關閉未使用的模型。模型在非作用中 2 小時後自動關閉。但是，若要手動關閉模型，您可以執行下列動作：

1. 在**產生、擷取和摘要內容**頁面上，開啟您要關閉的模型聊天。

1. 在聊天頁面上，選擇**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 選擇**關閉模型**。

1. 在**關閉模型**確認方塊中，選擇**關閉**。

模型開始關閉。如果您的聊天比較兩個以上的模型，您可以在聊天頁面中選擇該模型的**更多選項** 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選擇**關閉模型**，以關閉個別模型。

# 比較模型輸出
<a name="canvas-fm-chat-compare"></a>

您可能需要並排比較不同模型的輸出，以決定您喜歡的模型輸出。這可以幫助您決定哪種模型最適合您的使用案例。您最多可以在聊天中比較三種模型。

**注意**  
每個個別模型都會對您的帳戶產生費用。

您必須開始新聊天才能新增模型進行比較。要在聊天中並排比較模型的輸出，請執行以下操作：

1. 在聊天中，選擇**新的聊天**。

1. 選擇**比較**，然後使用下拉式清單選取您要新增的模型。若要新增第三個模型，請再次選擇 **比較**來新增另一項模型。
**注意**  
如果您要使用目前未作用中的 JumpStart 模型，系統會提示您啟動模型。

當模型處於活動狀態時，您會在聊天中並排看到兩個模型。您可以提交您的提示，並且每個模型都在同一個聊天中作出回應，如下列螢幕擷取畫面所示。

![\[Canvas 介面的螢幕擷取畫面，並排顯示兩個模型的輸出。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-chat-compare-outputs.png)


完成互動後，請務必個別關閉任何 JumpStart 模型，以避免產生進一步的費用。

# 微調基礎模型
<a name="canvas-fm-chat-fine-tune"></a>

您可以透過 Amazon SageMaker Canvas 存取的基礎模型可協助您處理一系列的一般用途任務。不過，如果您有特定的使用案例，並且想要根據自己的資料自訂回應，您可以*微調*基礎模型。

若要微調基礎模型，請提供資料集，其中包含範例提示和模型回應。然後，您可以針對資料訓練基礎模型。最後，微調的基礎模型能夠為您提供更具體的回應。

下列清單包含您可以在 Canvas 中微調的基礎模型：
+ Titan Express
+ Falcon-7B
+ Falcon-7B-Instruct
+ Falcon-40B-Instruct
+ Falcon-40B
+ Flan-T5-Large
+ FLAN-T5 超大
+ Flan-T5-Xxl
+ MPT-7B
+ MPT-7B-Instruct

您可以存取 Canvas 應用程式中每個基礎模型的詳細資訊，同時微調模型。如需詳細資訊，請參閱[微調模型](#canvas-fm-chat-fine-tune-procedure-model)。

本主題描述如何在 Canvas 中微調基礎模型。

## 開始之前
<a name="canvas-fm-chat-fine-tune-prereqs"></a>

在微調基礎模型之前，請確定您擁有 Canvas Ready-to-use模型的許可，以及與 Amazon Bedrock 具有信任關係的 AWS Identity and Access Management 執行角色，這可讓 Amazon Bedrock 在微調基礎模型時擔任您的角色。

設定或編輯 Amazon SageMaker AI 網域時，您必須 1) 開啟 Canvas 即用型模型組態許可，以及 2) 建立或指定 Amazon Bedrock 角色，這是 SageMaker AI 連接至其中的 IAM 執行角色，其與 Amazon Bedrock 有信任關係。如需設定這些設定的詳細資訊，請參閱[設定 Amazon SageMaker Canvas 的先決條件](canvas-getting-started.md#canvas-prerequisites)。

如果您寧願使用自己的 IAM 執行角色 (而不是讓 SageMaker AI 代表您建立角色)，您可以手動設定 Amazon Bedrock 角色。如需設定您自己的 IAM 執行角色與 Amazon Bedrock 的信任關係的詳細資訊，請參閱[授予使用者在 Canvas 中使用 Amazon Bedrock 和生成式 AI 功能的許可](canvas-fine-tuning-permissions.md)。

您還必須擁有已針對微調大型語言模型 (LLM) 進行格式化的資料集。以下是您資料集的要求清單：
+ 資料集必須是表格式，並包含至少兩欄文字資料：一個輸入欄 (其中包含模型的範例提示) 和一個輸出欄 (其中包含來自模型的範例回應)。

  以下是範例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/canvas-fm-chat-fine-tune.html)
+ 我們建議資料集至少有 100 個文字對 (對應輸入和輸出項目的資料列)。這可確保基礎模型有足夠的資料進行微調，並提高其回應的準確性。
+ 每個輸入和輸出項目最多可包含 512 個字元。微調基礎模型時，只要長度超過該字元數就會減少至 512 個字元。

微調 Amazon Bedrock 模型時，您必須遵循 Amazon Bedrock 配額。如需詳細資訊，請參閱《Amazon Bedrock 使用者指南》**中的[模型自訂配額](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html#model-customization-quotas)。

如需 Canvas 中一般資料集要求和限制的詳細資訊，請參閱[建立資料集](canvas-import-dataset.md)。

## 微調基礎模型
<a name="canvas-fm-chat-fine-tune-procedure"></a>

您可以在 Canvas 應用程式中使用下列任一方法來微調基礎模型：
+ 與基礎模型進行**產生、擷取和摘要說明內容**聊天時，選擇**微調模型**圖示 (![\[Magnifying glass icon with a plus sign, indicating a search or zoom-in function.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/wrench-icon-small.png))。
+ 在與基礎模型聊天時，如果您已重新產生回應兩次或更多次，則 Canvas 會為您提供**微調模型**的選項。以下螢幕擷取畫面顯示這看起來像什麼。  
![\[聊天中顯示的微調基礎模型選項的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/fine-tuning-ingress.png)
+ 在**我的模型**頁面上，您可以選擇**新模型**來建立新的模型，然後選取**微調基礎模型**。
+ 在**即用型模型**首頁上，您可以選擇**建立自己的模型**，然後在**建立新模型**對話方塊中，選擇**微調基礎模型**。
+ 在 **Data Wrangler** 索引標籤中瀏覽您的資料集時，您可以選取資料集，然後選擇**建立模型**。然後，選擇**微調基礎模型**。

開始微調模型後，請執行下列動作：

### 選取資料集
<a name="canvas-fm-chat-fine-tune-procedure-select"></a>

在微調模型的**選取**索引標籤上，您可以選擇要對其訓練基礎模型的資料。

選取現有的資料集，或建立一個符合[開始之前](#canvas-fm-chat-fine-tune-prereqs)一節中所列要求的新資料集。如需如何建立資料集的詳細資訊，請參閱[建立資料集](canvas-import-dataset.md)。

當您已選取或建立資料集並準備好繼續進行時，請選擇**選取資料集**。

### 微調模型
<a name="canvas-fm-chat-fine-tune-procedure-model"></a>

選取您的資料後，您現在可以開始訓練和微調模型。

在**微調**索引標籤上，執行以下動作：

1. (選用) 選擇**進一步了解我們的基礎模型**，以存取每個模型的詳細資訊，並協助您決定要部署的基礎模型。

1. 對於**最多選取 3 個基礎模型**，開啟下拉式功能表，並檢查最多 3 個您想要在訓練任務期間微調的基礎模型 (最多 2 個 JumpStart 模型和 1 個 Amazon Bedrock 模型)。透過微調多個基礎模型，您可以比較其效能，最終選擇最適合您使用案例的模型做為預設模型。如需預設模型的詳細資訊，請參閱[在模型排行榜中檢視模型候選項目](canvas-evaluate-model-candidates.md)。

1. 針對**選取輸入欄**，選取資料集中包含範例模型提示的文字資料欄。

1. 針對**選取輸出欄**，選取資料集中包含範例模型回應的文字資料欄。

1. (選用) 若要設定訓練任務的進階設定，請選擇**設定模型**。如需進階模型建置設定的詳細資訊，請參閱[進階模型建置組態](canvas-advanced-settings.md)。

   在**設定模型**快顯視窗中，執行下列動作：

   1. 針對**超參數**，您可以調整每個所選模型的 **Epoch 計數**、**批次大小**、**學習率**和**學習率暖機步驟**。如需這些參數的詳細資訊，請參閱 [JumpStart 文件中的超參數一節](https://docs.aws.amazon.com/sagemaker/latest/dg/jumpstart-fine-tune.html#jumpstart-hyperparameters)。

   1. 針對**資料分割**，您可以指定如何在**訓練集**與**驗證集**之間分割資料的百分比。

   1. 針對**最長任務執行時期**，您可以設定 Canvas 執行建置任務的時間上限。此功能僅適用於 JumpStart 基礎模型。

   1. 設定完設定後，請選擇**儲存**。

1. 選擇**微調**以開始訓練您選取的基礎模型。

微調任務開始後，您可以離開頁面。當模型在**我的模型**頁面上顯示為**就緒**時，即可使用，而且您現在可以分析微調基礎模型的效能。

### 分析微調基礎模型
<a name="canvas-fm-chat-fine-tune-procedure-analyze"></a>

在微調基礎模型的**分析**索引標籤上，您可以查看模型的效能。

此頁面上的**概觀**索引標籤會顯示困惑度和損失分數，以及視覺化模型在訓練期間隨時間改善的分析。下列螢幕擷取畫面顯示**概觀**索引標籤。

![\[Canvas 中微調基礎模型的 [分析] 索引標籤，其中顯示困惑度和損失曲線。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-fine-tune-analyze-2.png)


在此頁面上，您可以看到下列視覺化：
+ **困惑度曲線**會衡量模型在序列中預測下一個單字的準確程度，或模型輸出的語法程度。理想情況下，隨著模型在訓練期間改善，分數會降低並產生隨著時間降低和扁平化的曲線。
+ **損失曲線**會量化正確輸出與模型預測輸出之間的差異。隨著時間降低和扁平化的損失曲線表示模型正在改善其進行準確預測的能力。

**進階指標**索引標籤會顯示模型的超參數和其他指標。看起來就像下列螢幕擷取畫面：

![\[Canvas 中微調基礎模型的進階指標索引標籤的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-fine-tune-metrics.png)


**進階指標**索引標籤包含下列資訊：
+ **可解釋性**區段包含**超參數**，這是在任務之前設定的值，以引導模型的微調。如果您未在[微調模型](#canvas-fm-chat-fine-tune-procedure-model)區段的模型進階設定中指定自訂超參數，則 Canvas 會為您選取預設超參數。

  對於 JumpStart 模型，您也可以看到進階指標 [ROUGE (Recall-Oriented Understudy for Gisting Evaluation)](https://en.wikipedia.org/wiki/ROUGE_(metric))，其會評估模型產生的摘要品質。它會衡量模型總結段落要點的程度。
+ **成品**區段為您提供在微調任務期間產生的成品連結。您可以存取 Amazon S3 中儲存的訓練和驗證資料，以及模型評估報告的連結 (若要進一步了解，請參閱以下段落)。

若要取得更多模型評估洞見，您可以下載一份使用 [SageMaker Clarify](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-configure-processing-jobs.html) 產生的報告，這項功能可協助您偵測模型和資料中的偏差。首先，選擇頁面底部的**產生評估報告**來產生報告。產生報告後，您可以選擇**下載報告**或返回**成品**區段來下載完整報告。

您也可以存取 Jupyter 筆記本，展示如何在 Python 程式碼中複寫微調任務。您可以使用此項來複寫或對微調任務進行程式設計變更，或深入了解 Canvas 如何微調模型。若要進一步了解模型筆記本以及如何存取它們，請參閱[下載模型筆記本](canvas-notebook.md)。

如需如何解譯微調基礎模型的**分析**索引標籤中資訊的詳細資訊，請參閱主題[模型評估](canvas-evaluate-model.md)。

分析**概觀**和**進階指標**索引標籤後，您也可以選擇開啟**模型排行榜**，為您顯示建置期間訓練的基礎模型清單。損失分數最低的模型會被視為效能最佳的模型，並被選為**預設模型**，這是您在**分析**索引標籤中看到其分析的模型。您只能測試和部署預設模型。如需模型排行榜以及如何變更預設模型的詳細資訊，請參閱[在模型排行榜中檢視模型候選項目](canvas-evaluate-model-candidates.md)。

### 在聊天中測試微調的基礎模型
<a name="canvas-fm-chat-fine-tune-procedure-test"></a>

在分析微調基礎模型的效能之後，您可能想要測試該模型，或將其回應與基礎模型進行比較。您可以在**產生、擷取和摘要說明內容**功能中透過聊天測試微調基礎模型。

選擇下列其中一種方法，與微調模型開始聊天：
+ 在微調模型的**分析**索引標籤上，選擇**即用型基礎模型中的測試**。
+ 在 Canvas **即用型模型**頁面上，選擇**產生、擷取和摘要說明內容**。然後，選擇**新增聊天**，然後選取您要測試的模型版本。

模型會在聊天中啟動，而且像任何其他基礎模型一樣您可以與其互動。您可以將更多模型新增至聊天，並比較其輸出。如需聊天功能的詳細資訊，請參閱[SageMaker Canvas 中的生成式 AI 基礎模型](canvas-fm-chat.md)。

## 操作微調基礎模型
<a name="canvas-fm-chat-fine-tune-mlops"></a>

在 Canvas 中微調模型之後，您可以執行下列動作：
+ 將模型註冊到 SageMaker 模型註冊庫，以整合到您的組織 MLOps 程序。如需詳細資訊，請參閱[在 SageMaker AI 模型註冊庫中註冊模型版本。](canvas-register-model.md)。
+ 將模型部署至 SageMaker AI 端點，並從您的應用程式或網站將請求傳送至模型，以取得預測 (或*推論*)。如需詳細資訊，請參閱[將模型部署到端點](canvas-deploy-model.md)。

**重要**  
您只能註冊和部署 JumpStart 型微調基礎模型，而不是 Amazon Bedrock 型模型。

# 即用型模型
<a name="canvas-ready-to-use-models"></a>

您可以使用 Amazon SageMaker Canvas 即用型模型，對資料進行預測，而無需編寫任何程式碼或建立模型 — 您只需要提供資料即可。即用型模型使用預先建立的模型來產生預測，而不需要花費建立模型所需的時間、專業知識或成本，而且您可以選擇各種使用案例，從語言偵測到費用分析應有盡有。

Canvas 與現有的 AWS 服務整合，例如 [Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/what-is.html)、[Amazon Rekognition](https://docs.aws.amazon.com/rekognition/latest/dg/what-is.html) 和 [Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html)，以分析您的資料並進行預測或擷取洞見。您可以在 Canvas 應用程式中使用這些服務的預測能力，為您的資料取得高品質的預測。

Canvas 支援以下即用型類型模型：


| 即用型模型 | Description | 支援的資料類型 | 
| --- | --- | --- | 
| 情緒分析 | 偵測文字中的情緒，可能是正面、負面、中性或混合。目前您只可以對英文語言文字進行情緒分析。 | 純文字或表格式 (CSV、Parquet) | 
| 實體擷取 | 從文字擷取真實世界物件的實體，例如人物、地點和商業項目，或是諸如日期和數量等單位。 | 純文字或表格式 (CSV、Parquet) | 
| 語言偵測 | 決定諸如英文、法文或德文等文字中的優勢語言。 | 純文字或表格式 (CSV、Parquet) | 
| 個人資訊偵測 | 從文字中偵測可用於識別個人的個人資訊，例如地址、銀行帳號和電話號碼。 | 純文字或表格式 (CSV、Parquet) | 
| 映像中的物件偵測 | 檢測映像中的物件、概念、場景和動作。 | 映像 (JPG、 PNG) | 
| 映像中的文字偵測 | 偵測映像中的文字。 | 映像 (JPG、 PNG) | 
| 支出分析 | 從發票和收據中擷取資訊，例如日期、號碼、項目價格、總金額和付款條件。 | 文件 (PDF、JPG、PNG、TIFF 格式) | 
| 身分文件分析 | 從美國政府簽發的護照、駕照和其他身分證明文件中擷取資訊。 | 文件 (PDF、JPG、PNG、TIFF 格式) | 
| 文件分析 | 分析文件和表單，找出偵測到文字之間的關係。 | 文件 (PDF、JPG、PNG、TIFF 格式) | 
| 文件查詢 | 透過使用自然語言提出問題，從結構化文件 (如Paystub、銀行對帳單，W-2 和抵押貸款申請表) 中擷取資訊。 | 文件 (PDF) | 

## 開始使用
<a name="canvas-ready-to-use-get-started"></a>

若要開始使用即用型模型，請檢閱下列資訊。

**先決條件**

若要在 Canvas 中使用即用型模型，您必須在[設定 Amazon SageMaker AI 網域](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)時開啟 **Canvas 即用型模型組態**許可。**Canvas 即用型模型組態**將 [AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) 政策連接到了您的 Canvas 使用者的 AWS Identity and Access Management (IAM)執行角色。如果您在授予許可時遇到任何問題，請參閱主題[針對透過 SageMaker AI 主控台授予許可的問題進行故障診斷](canvas-limits.md#canvas-troubleshoot-trusted-services)。

如果您已設定網域，則可以編輯網域設定並開啟許可。如需如何編輯網域設定的指示，請參閱[編輯網域設定](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-edit.html)。編輯網域的設定時，請前往 **Canvas 設定**，然後開啟**啟用 Canvas 即用型模型**選項。

**(選用) 選擇退出 AI 服務資料儲存**

某些 AWS AI 服務會存放和使用您的資料來改善服務。您可以選擇退出存放或用於改進服務的資料。若要進一步了解如何選擇退出，請參閱《AWS Organizations 使用者指南》**中的 [AI 服務選擇退出政策](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html)。

**如何使用即用型模型**

若要開始使用即用型模型，請執行下列作業：

1. **(選用) 匯入您的資料。**您可以匯入表格式、映像或文件資料集，以產生批次預測或預測資料集，並使用即用型模型。若要開始匯入資料集，請參閱[建立資料流程](canvas-data-flow.md)。

1. **產生預測。**您可以使用您選擇的即用型模型產生單一或批次預測。若要開始使用進行預測，請參閱[對文字資料進行預測](canvas-ready-to-use-predict-text.md)。

# 對文字資料進行預測
<a name="canvas-ready-to-use-predict-text"></a>

下列程序描述如何針對文字資料集進行單一和批次預測。每個即用型模型都支援您的資料集的**單一預測**和**批次預測**。**單一預測**是指您只需要進行一項預測的時候。例如您有一個要從中擷取文字的映像，或者要偵測優勢語言的一個文字段落。**批次預測**是指您想要對整個資料集進行預測的時候。例如，您可能有一個客戶評論的 CSV 文件，您想要分析客戶情緒，或者您可能有要偵測物件的映像檔案。

您可以針對下列即用型模型類型使用這些程序：情緒分析、實體擷取、語言偵測和個人資訊偵測。

**注意**  
針對情緒分析，目前只可以使用英文語言文字。

## 單一預測
<a name="canvas-ready-to-use-predict-text-single"></a>

若要對接受文字資料的即用模型進行單一預測，請執行以下操作：

1. 在 Canvas 應用程式左側導覽窗格中選擇**即用型模型**。

1. 在**即用型模型**頁面上，為您的使用案例選擇即用型模型。針對文字資料，則應該是下列其中一項：**情緒分析**、**實體擷取**、**語言偵測**或**個人資訊偵測**。

1. 在您選擇的即用型模型的**執行預測**頁面上，選擇**單一預測**。

1. 在**文字欄位**中，輸入您要取得預測的文字。

1. 選擇 **產生預測結果**以取得您的預測。

在右側窗格**預測結果**中，除了每個結果或標籤的**可信度**分數之外，您還會獲得文字的分析。例如，如果您選擇語言偵測並輸入了法文的文字段落，您可能會得到具有 95% 可信度分數的法文，以及其他語言 (例如英文) 的痕跡，可信度分數為 5%。

下列螢幕擷取畫面顯示使用語言偵測的單一預測結果，其中模型 100% 確信該段落為英文。

![\[使用語言偵測即用型模型的單一預測結果的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-text-prediction.png)


## 批次預測
<a name="canvas-ready-to-use-predict-text-batch"></a>

若要對接受文字資料的即用模型進行批次預測，請執行以下操作：

1. 在 Canvas 應用程式左側導覽窗格中選擇**即用型模型**。

1. 在**即用型模型**頁面上，為您的使用案例選擇即用型模型。針對文字資料，則應該是下列其中一項：**情緒分析**、**實體擷取**、**語言偵測**或**個人資訊偵測**。

1. 在您選擇的即用型模型的**執行預測**頁面上，選擇**批次預測**。

1. 如果您已匯入您的資料集，請選擇**選取資料集**。如果沒有，請選擇**匯入新的資料集**，然後系統將導引您完成匯入資料工作流程。

1. 從可用資料集清單中，選取您的資料集，然後選擇**產生預測**以取得您的預測。

預測工作完成執行後，在**執行預測**頁面上，您會看到**預測**下方列出的輸出資料集。此資料集包含您的結果，且如果您選取了**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，則您可以**預覽**輸出資料。然後，您可以選擇**下載**資源下載結果。

# 對映像資料進行預測
<a name="canvas-ready-to-use-predict-image"></a>

下列程序描述如何針對映像資料集進行單一和批次預測。每個即用型模型都支援您的資料集的**單一預測**和**批次預測**。**單一預測**是指您只需要進行一項預測的時候。例如您有一個要從中擷取文字的映像，或者要偵測優勢語言的一個文字段落。**批次預測**是指您想要對整個資料集進行預測的時候。例如，您可能有一個客戶評論的 CSV 文件，您想要分析客戶情緒，或者您可能有要偵測物件的映像檔案。

您可以針對下列即用型模型類型使用這些程序：物件偵測影像和影像中的文字偵測。

## 單一預測
<a name="canvas-ready-to-use-predict-image-single"></a>

若要對接受映像資料的即用模型進行單一預測，請執行以下操作：

1. 在 Canvas 應用程式左側導覽窗格中選擇**即用型模型**。

1. 在**即用型模型**頁面上，為您的使用案例選擇即用型模型。針對映像資料，應該是以下之一：**物件偵測映像**或**映像中的文字偵測**。

1. 在您選擇的即用型模型的**執行預測**頁面上，選擇**單一預測**。

1. 選擇**上傳影像**。

1. 系統會提示您選取要從本機電腦上傳的影像。從本機檔案中選取影像，然後產生預測結果。

在右側窗格**預測結果**中，除了每個物件或偵測到的文字的**可信度**分數之外，您還會獲得影像分析。例如，如果您在影像中選擇物件偵測，則會收到影像中的物件清單，以及模型準確偵測到各個物件的確定程度可信度分數，例如 93%。

下列螢幕擷取畫面顯示使用影像解決方案中的物件偵測進行單一預測的結果，其中模型預測例如鐘樓和公車等物件的信賴度為 100%。

![\[影像即用型模型中使用物件偵測解決方案進行單一預測的結果。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-image-prediction.png)


## 批次預測
<a name="canvas-ready-to-use-predict-image-batch"></a>

若要對接受映像資料的即用模型進行批次預測，請執行以下操作：

1. 在 Canvas 應用程式左側導覽窗格中選擇**即用型模型**。

1. 在**即用型模型**頁面上，為您的使用案例選擇即用型模型。針對映像資料，應該是以下之一：**物件偵測映像**或**映像中的文字偵測**。

1. 在您選擇的即用型模型的**執行預測**頁面上，選擇**批次預測**。

1. 如果您已匯入您的資料集，請選擇**選取資料集**。如果沒有，請選擇**匯入新的資料集**，然後系統將導引您完成匯入資料工作流程。

1. 從可用資料集清單中，選取您的資料集，然後選擇**產生預測**以取得您的預測。

預測工作完成執行後，在**執行預測**頁面上，您會看到**預測**下方列出的輸出資料集。此資料集包含您的結果，且如果您選取了**更多選項** 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，則您可以選擇**檢視預測結果**來預覽輸出資料。然後您可以選擇**下載預測**並下載結果為 CSV 或 ZIP 檔案。

# 對文件資料進行預測
<a name="canvas-ready-to-use-predict-document"></a>

下列程序描述如何針對文件資料集進行單一和批次預測。每個即用型模型都支援您的資料集的**單一預測**和**批次預測**。**單一預測**是指您只需要進行一項預測的時候。例如您有一個要從中擷取文字的映像，或者要偵測優勢語言的一個文字段落。**批次預測**是指您想要對整個資料集進行預測的時候。例如，您可能有一個客戶評論的 CSV 文件，您想要分析客戶情緒，或者您可能有要偵測物件的映像檔案。

您可以針對下列即用型模型類型使用這些程序：費用分析、身分文件分析和文件分析。

**注意**  
針對文件查詢，目前僅支援單一預測。

## 單一預測
<a name="canvas-ready-to-use-predict-document-single"></a>

若要對接受文件資料的即用模型進行單一預測，請執行以下操作：

1. 在 Canvas 應用程式左側導覽窗格中選擇**即用型模型**。

1. 在**即用型模型**頁面上，為您的使用案例選擇即用型模型。針對文件資料，應該是下列其中一項：**費用分析**、**身分文件分析**或**文件分析**。

1. 在您選擇的即用型模型的**執行預測**頁面上，選擇**單一預測**。

1. 如果您的即用型模型是身分文件分析或文件分析，請完成以下動作。如果您正在進行費用分析或文件查詢，請略過這個步驟並分別前往步驟 5 或步驟 6。

   1. 選擇**上傳文件**。

   1. 系統會提示您從本機電腦上傳 PDF、JPG 或 PNG 檔案。從本機檔案中選取文件，然後產生預測結果。

1. 如果您的即用型模型是費用分析，請執行下列操作：

   1. 選擇**上傳發票或收據**。

   1. 系統會提示您從本機電腦上傳 PDF、JPG、PNG 或 TIFF 檔案。從本機檔案中選取文件，然後產生預測結果。

1. 如果您的即用型模型是文件查詢，請執行以下操作：

   1. 選擇**上傳文件**。

   1. 系統會提示您從本機電腦上傳 PDF 檔案。從本機檔案中選取文件。您的 PDF 檔案長度必須為 1-100 頁。
**注意**  
如果您位於亞太區域 (首爾)、亞太區域 (新加坡)、亞太區域 (雪梨) 或歐洲 (法蘭克福) 區域，則文件查詢的 PDF 大小上限為 20 頁。

   1. 在右側窗格中，輸入要搜尋文件中資訊的查詢。您可以在單一查詢中包含的字元數為 1-200。您可再新增最多 15 個查詢。

   1. 選擇**提交查詢**，然後產生結果並附上查詢的答案。每次提交查詢，我們都會向您收取一次費用。

在右窗格**預測結果**中，您將收到文件的分析。

下列資訊描述每種解決方案類型的結果：
+ 針對費用分析，結果會分類為**摘要欄位**，其中包括收據總額等欄位，以及**明細項目欄位**，其中包含收據上的個別項目等欄位。識別的欄位會在輸出的文件影像上反白顯示。
+ 針對身分文件分析，輸出會顯示即用型模型識別的欄位，例如名字和姓氏、地址或出生日期。識別的欄位會在輸出的文件影像上反白顯示。
+ 針對文件分析，結果會分類為**原始文字**、**表格**、**資料表**和**簽章**。**原始文字**包括所有擷取文字，而**表格**、**資料表**和**簽章**則只包含屬於這些類別之表格上的資訊。例如**資料表**只包括從文件中的資料表中擷取到的資訊。識別的欄位會在輸出的文件影像上反白顯示。
+ 針對文件查詢，Canvas 會傳回每個查詢的答案。您可以開啟可折疊的查詢下拉式清單來檢視結果，以及預測的可信度分數。如果 Canvas 在文件中找到多個答案，則每個查詢可能會有一個以上的結果。

下列螢幕擷取畫面顯示使用文件分析解決方案進行單一預測的結果。

![\[使用文件分析即用型模型的單一預測結果的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-ready-to-use/ai-solutions-document-analysis.png)


## 批次預測
<a name="canvas-ready-to-use-predict-document-batch"></a>

若要對接受文件資料的即用模型進行批次預測，請執行以下動作：

1. 在 Canvas 應用程式左側導覽窗格中選擇**即用型模型**。

1. 在**即用型模型**頁面上，為您的使用案例選擇即用型模型。針對影像資料，應該是下列其中一項：**費用分析**、**身分文件分析**或**文件分析**。

1. 在您選擇的即用型模型的**執行預測**頁面上，選擇**批次預測**。

1. 如果您已匯入您的資料集，請選擇**選取資料集**。如果沒有，請選擇**匯入新的資料集**，然後系統將導引您完成匯入資料工作流程。

1. 從可用資料集清單中，選取您的資料集，然後選擇**產生預測**。如果您的使用案例是文件分析，請繼續執行步驟 6。

1. (選用) 如果您的使用案例是文件分析，則會出現另一個名為**選取要包含在批次預測中的功能**對話方塊。您可以選取**表單**、**資料表**和**簽章**，依這些功能將結果分組。然後，選擇**產生預測**。

預測工作完成執行後，在**執行預測**頁面上，您會看到**預測**下方列出的輸出資料集。此資料集包含您的結果，且如果您選取了**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，則您可以選擇**檢視預測結果**來預覽文件資料的分析。

下列資訊描述每種解決方案類型的結果：
+ 針對費用分析，結果會分類為**摘要欄位**，其中包括收據總額等欄位，以及**明細項目欄位**，其中包含收據上的個別項目等欄位。識別的欄位會在輸出的文件影像上反白顯示。
+ 針對身分文件分析，輸出會顯示即用型模型識別的欄位，例如名字和姓氏、地址或出生日期。識別的欄位會在輸出的文件影像上反白顯示。
+ 針對文件分析，結果會分類為**原始文字**、**表格**、**資料表**和**簽章**。**原始文字**包括所有擷取文字，而**表格**、**資料表**和**簽章**則只包含屬於這些類別之表格上的資訊。例如**資料表**只包括從文件中的資料表中擷取到的資訊。識別的欄位會在輸出的文件影像上反白顯示。

預覽結果之後您可以選擇**下載預測**並下載結果為 ZIP 檔案。

# 自訂模型
<a name="canvas-custom-models"></a>

在 Amazon SageMaker Canvas 中，您可以訓練根據您特定資料和使用案例量身打造的自訂機器學習模型。透過使用您的資料訓練的自訂模型，您可以擷取特定且最具代表性的資料特性和趨勢。例如，您可能想要建立自訂時間序列預測模型，此模型會使用倉儲中的庫存資料進行訓練，以管理您的物流作業。

Canvas 支援訓練各種模型類型。訓練自訂模型後，您可以評估模型的效能和準確性。一旦對模型感到滿意，您就可以對新資料進行預測，也可以選擇與資料科學家共用自訂模型，以進行進一步分析，或將其部署到 SageMaker AI 託管端點以進行即時推論，所有這些都可以在 Canvas 應用程式內完成。

您可以在下列類型的資料集上訓練 Canvas 自訂模型：
+ 表格式 (包括數值、分類、時間序列和文字資料)
+ 影像

下表顯示您可以在 Canvas 中建置的自訂模型類型，以及其支援的資料類型和資料來源


| 模型類型 | 範例使用案例 | 支援的資料類型 | 支援的資料來源 | 
| --- | --- | --- | --- | 
| 數值預測 | 根據平方英尺等功能預測房價 | 數值 | 本機上傳、Amazon S3、SaaS 連接器 | 
| 2 類別預測 | 預測客戶是否可能流失 | 二進位或分類 | 本機上傳、Amazon S3、SaaS 連接器 | 
| 3\$1 類別預測 | 預測出院後的患者結果 | 分類 | 本機上傳、Amazon S3、SaaS 連接器 | 
| 時間序列預測 | 預測下一季的庫存 | 時間序列 | 本機上傳、Amazon S3、SaaS 連接器 | 
| 單一標籤影像預測 | 預測影像中製造瑕疵的類型 | 映像 (JPG、PNG) | 本機上傳、Amazon S3 | 
| 多類別文字預測 | 根據產品描述預測產品類別，例如服裝、電子產品或家居用品 |  來源欄：文字 目標欄：二進位或分類 | 本機上傳、Amazon S3 | 

**開始使用**

若要開始從自訂模型建置和產生預測，請執行下列動作：
+ 決定您要建置的使用案例和模型類型。如需關於自訂模型的更多相關資訊，請參閱[自訂模型的運作方式](canvas-build-model.md)。如需關於有關自訂模型支援的資料類型和來源更多相關資訊，請參閱[資料匯入](canvas-importing-data.md)。
+ 將您的[資料匯入](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-importing-data.html) Canvas。您可以使用符合輸入要求的任何表格式或影像資料集來建立自訂模型。有關輸入要求的更多相關資訊，請參閱[建立資料集](canvas-import-dataset.md)。

  若要進一步了解您可以試驗的 SageMaker AI 提供的範例資料集，請參閱 [Canvas 中的範例資料集](canvas-sample-datasets.md)。
+ [建置](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)您的自訂模型。您可以執行**快速建置**以獲得模型並更快地開始進行預測，或者您可以執行**標準建置**以獲得更高的準確性。

  針對數值、分類和時間序列預測模型類型，您可以使用 [Data Wrangler 功能](canvas-data-prep.md)來清理和準備資料。在 Data Wrangler 中，您可以建立資料流程並使用各種資料準備技術，例如套用進階轉換或聯結資料集。針對影像預測模型，您可以[編輯影像資料集](canvas-edit-image.md)以更新標籤或新增和刪除映像。請注意，您無法將這些功能用於多類別文字預測模型。
+ [評估模型的效能](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html)，並決定模型在真實世界資料上的效能。
+ 使用您的模型[進行單一或批次預測](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-make-predictions.html)。

# 自訂模型的運作方式
<a name="canvas-build-model"></a>

使用 Amazon SageMaker Canvas 以已匯入的資料集上建立自訂模型。使用您建立的模型來對新資料進行預測。SageMaker Canvas 會使用資料集中的資訊建立最多 250 個模型，並選擇效能最佳的模型。

開始建立模型時，Canvas 會自動建議一個或多個*模型類型*。模型類型屬於下列其中一種類別：
+ **數值預測** — 這在機器學習中稱為*迴歸*。當您要預測數值資料時，請使用數值預測模型類型。例如，您可能想要根據房屋的平方英尺等功能來預測房價。
+ **分類預測** — 這在機器學習中稱為*分類*。當您要將資料分類為群組時，請使用分類預測模型類型：
  + **2 類別預測** — 當您有兩個要預測資料的類別時，請使用 2 類別預測模型類型 (在機器學習中也稱為*二進制分類*)。例如您可能想要判斷客戶是否可能流失。
  + **3\$1 類別預測** — 當您有三個以上要預測資料的類別時，請使用 3\$1 類別預測模型類型 (在機器學習中也稱為*多類別分類*)。例如，您可能想要根據先前付款等功能來預測客戶的貸款狀態。
+ **時間序列預測** — 當您想要預測一段時間內的狀況時，請使用時間序列預測。例如，您可能想要預測下一季出售的物品數量。如需有關時間序列預測的資訊，請參閱 [Amazon SageMaker Canvas 中的時間序列預測](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-time-series.html)。
+ **影像預測** — 當您要為影像指派標籤時，請使用單一標籤影像預測模型類型 (在機器學習中也稱為*單一標籤影像分類*)。例如，您可能想要分類產品影像中不同類型的製造瑕疵。
+ **文字預測** — 當您要將指派標籤給文字段落時，請使用多類文字預測模型類型 (在機器學習中也稱為*多類別文字分類*)。例如，您可能有產品的客戶評論資料集，並且您想要決定客戶是否喜歡或不喜歡該產品。您可能會讓模型預測指定的文字段落是 `Positive`、`Negative` 或 `Neutral`。

如需每個模型類型支援之輸入資料類型的資料表，請參閱[自訂模型](canvas-custom-models.md)。

針對您建立的每個表格式資料模型 (包括數值、分類、時間序列預測和文字預測模型)，您可以選擇**目標欄**。**目標欄**是包含您要預測之資訊的資料欄。例如，如果您正在建立模型以預測人們是否已取消訂閱，則**目標欄**包含關於某人取消狀態為 `yes` 或 `no` 的資料點。

針對影像預測模型，您可以使用已指派標籤的影像資料集來建立模型。針對您提供的未標籤影像，模型會預測標籤。例如，如果您要建立模型來預測影像是貓還是狗，則您會在建置模型時會提供標示為貓或狗的影像。然後該模型可以接受未標籤的影像，並預測其為貓或狗。

**建立模型時會出現的情況**

若要建立模型，您可以選擇**快速建置**或**標準建置**。**快速建置**的建置時間較短，但**標準建置**的準確性通常更高。

針對表格式和時間序列預測模型，Canvas 會使用*縮減取樣*，分別減少大於 5 GB 或 30 GB 的資料集大小。Canvas 使用分層取樣方法縮減取樣。下表依模型類型列出縮減取樣的大小。若要控制取樣程序，您可以使用 Canvas 中的 Data Wrangler，以您偏好的取樣技術進行取樣。針對時間序列資料，您可以重新取樣以彙總資料點。如需取樣的詳細資訊，請參閱[抽樣](canvas-transform.md#canvas-transform-sampling)。如需重新取樣時間序列資料的詳細資訊，請參閱[重新取樣時間序列資料](canvas-transform.md#canvas-resample-time-series)。

如果您選擇在超過 50,000 個資料列的資料集上執行**快速建置**，則 Canvas 會將您的資料取樣量降到 50,000 個資料列，以縮短模型訓練時間。

下表摘要說明模型建置程序的關鍵特性，包括每個模型和建置類型的平均建置時間、使用大型資料集建置模型時的縮減取樣大小，以及針對每個建置類型，您應具有的資料點數量下限和上限。


| 限制 | 數值和分類預測 | 時間序列預測 | 影像預測 | 文字預測 | 
| --- | --- | --- | --- | --- | 
| **快速建置**時間 | 2 - 20 分鐘 | 2 - 20 分鐘 | 15 - 30 分鐘 | 15 - 30 分鐘 | 
| **標準建置**時間 | 2 - 4 小時 | 2 - 4 小時 | 2 - 5 小時 | 2 - 5 小時 | 
| 縮減取樣大小 (Canvas 縮減取樣後大型資料集減少的大小) | 5 GB | 30 GB | N/A | N/A | 
| **快速建置**的項目數下限 (列) |  2 個類別：500 列 3 個以上類別、數值、時間序列：N/A  | N/A | N/A | N/A | 
| **標準建置**的項目數下限 (列、影像或文件) | 250 | 50 | 50 | N/A | 
| **快速建置**的項目數上限 (列、影像或文件) | N/A | N/A | 5000 | 7500 | 
| **標準建置**的項目數上限 (列、影像或文件) | N/A | 150，000 | 180,000 | N/A | 
| 欄數上限 | 1,000 | 1,000 | N/A | N/A | 

Canvas 會透過使用在資料集其餘部分的資訊來預測值，取決於模型類型：
+ 針對分類預測，Canvas 將每一列放入**目標欄**中列出的其中一個類別中。
+ 針對數值預測，Canvas 會使用資料集中的資訊來預測**目標欄**中的數值。
+ 針對時間序列預測，Canvas 使用歷史資料來預測未來的**目標欄**數值。
+ 針對影像預測，Canvas 使用已指派標籤的影像來預測未標籤影像的標籤。
+ 針對文字預測，Canvas 會分析已指派標籤的文字資料，以預測未標籤文字段落的標籤。

**可協助您建置模型的其他功能**

在建置您的模型之前，您可以使用 Canvas 中的 Data Wrangler，利用 300 多個內建轉換和運算子來準備資料。Data Wrangler 同時支援表格式和影像資料集的轉換。此外，您可以連線至 Canvas 外部的資料來源、建立任務以將轉換套用至整個資料集，以及匯出完全準備和清理的資料，以便在 Canvas 外部的 ML 工作流程中使用。如需詳細資訊，請參閱[資料準備](canvas-data-prep.md)。

若要查看視覺化和分析如何探索您的資料，並判斷您的模型中要包含哪些功能，您可以使用 Data Wrangler 的內建分析。您也可以存取**資料品質和洞見報告**，其中強調資料集的潛在問題，並提供如何修正這些問題的建議。如需詳細資訊，請參閱[執行探索性資料分析 (EDA)](canvas-analyses.md)。

除了透過 Data Wrangler 提供的更進階資料準備和探索功能之外，Canvas 還提供了一些您可以使用的基本功能：
+ 若要篩選您的資料並存取一組基本資料轉換，請參閱[準備用於模型建置的資料](canvas-prepare-data.md)。
+ 若要存取簡單的視覺化和分析進行功能探索，請參閱[資料探索和分析](canvas-explore-data.md)。
+ 若要進一步了解其他功能，例如預覽模型、驗證資料集，以及變更用於建立模型的隨機範例大小，請參閱[預覽模型](canvas-preview-model.md)。

針對具有多個資料欄的表格式資料集 (例如用於建立分類、數值或時間序列預測模型類型的資料集)，您可能會有遺失資料點的資料列。當 Canvas 建置模型時，它會自動新增缺少值。Canvas 會使用資料集中的值來執行缺少值的數學近似值。為了獲得最高的模型精確度，我們建議您在加入遺失資料中 (如果可以找到)。請注意，文字預測或影像預測模型不支援遺失資料功能。

**開始使用**

若要開始建置自訂模型，請參閱[建立模型](canvas-build-model-how-to.md)並遵循您要建置之模型類型的程序。

# 預覽模型
<a name="canvas-preview-model"></a>

**注意**  
下列功能僅適用於使用表格式資料集建置的自訂模型。也會排除多類別文字預測模型。

SageMaker Canvas 為您提供一種工具，讓您可在開始建置之前預覽模型。這提供您預估的正確性分數，也提供您每個資料欄如何影響模型的初步想法。

若要預覽模型分數，當您在模型的**建置**索引標籤上時，請選擇**預覽模型**。

模型預覽會產生**預估正確性**預測，預測模型可能分析您資料的正確程度。**快速建置**或**標準建置**的精確度代表模型在實際資料上的執行效能，而且通常高於**預估準確度**。

模型預覽也為您提供**資料欄影響**分數，這可以指出每個資料欄對模型預測的重要性。

下列螢幕擷取畫面顯示 Canvas 應用程式中的模型預覽。

![\[Canvas 中模型的建置索引標籤的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-build/canvas-build-preview-model.png)


Amazon SageMaker Canvas 會在建置模型時自動處理資料集中缺少值。它會使用存在於資料集中的相鄰值推斷缺少值。

如果您對模型預覽感到滿意，並想要繼續建置模型，請參閱[建立模型](canvas-build-model-how-to.md)。

# 資料驗證
<a name="canvas-dataset-validation"></a>

在建立模型之前，SageMaker Canvas 會檢查資料集中是否有可能導致建置失敗的問題。如果 SageMaker Canvas 發現任何問題，它會在您嘗試建立模型之前在**建置**頁面上警告您。

您可以選擇**驗證資料**以查看資料集中的問題清單。然後，您可以使用 SageMaker Canvas [Data Wrangler 資料準備功能](canvas-data-prep.md)或您自己的工具，在開始建置之前修正資料集。如果您未修正資料集的問題，則建置將會失敗。

如果您變更資料集以修正問題，則可以選擇在嘗試建置之前重新驗證資料集。建議您在建置之前重新驗證資料集。

下表顯示 SageMaker Canvas 在您的資料集中檢查的問題，以及如何解決這些問題。


| 問題 | Resolution | 
| --- | --- | 
|  資料的模型類型錯誤  |  請嘗試其他模型類型或使用不同的資料集。  | 
|  目標欄中缺少值  |  取代缺少值、刪除缺少值的資料列，或使用不同的資料集。  | 
|  目標欄中有太多唯一標籤  |  確認您已為目標欄使用正確的資料欄，或使用不同的資料集。  | 
|  目標欄中有太多非數值  |  選擇不同的目標欄、選取其他模型類型，或使用不同的資料集。  | 
|  一個或多個資料欄名稱包含兩個底線  |  重新命名資料欄，移除任何兩個底線，然後再試一次。  | 
|  資料集中的任何資料列都不完整  |  取代缺少值，或使用不同的資料集。  | 
|  資料中的列數有太多唯一的標籤  |  檢查您使用的是正確的目標欄、增加資料集中的列數、合併類似的標籤，或使用不同的資料集。  | 

# 隨機抽樣
<a name="canvas-random-sample"></a>

SageMaker Canvas 使用隨機抽樣方法來取樣您的資料集。隨機抽樣方法意味著每一列都有相同的機會被採樣。您可以在預覽中選擇資料欄以獲取隨機抽樣的總結統計，例如均值和模式。

SageMaker Canvas 根據預設會針對資料列超過 20,000 個的資料集使用 20,000 個資料列隨機抽樣大小。之對小於 20,000 列的資料集，預設抽樣大小是資料集中的列數。您可以在 SageMaker Canvas 應用程式的**建置**索引標籤中選擇**隨機抽樣**來增加或減少取樣大小。您可以使用滑桿選取所需的取樣大小，然後選擇**更新**以變更取樣大小。您可以針對一個資料集選擇的最大取樣大小為 40,000 列，最小範例大小為 500 列。如果您選擇較大的取樣大小，則資料集預覽和總結統計資料可能需要一些時間才能重新載入。

**建置**頁面會顯示資料集中 100 列的預覽。如果取樣大小與您的資料集大小相同，則預覽會使用資料集的前 100 列。否則，預覽會使用隨機抽樣的前 100 列。

# 建立模型
<a name="canvas-build-model-how-to"></a>

以下各節說明如何針對每個自訂模型的主要類型建立模型。
+ 若要建立數值預測、2 類別預測或 3\$1 類別預測模型，請參閱[建立自訂數值或分類預測模型](#canvas-build-model-numeric-categorical)。
+ 若要建立單一標籤影像預測模型，請參閱[建置自訂映像預測模型](#canvas-build-model-image)。
+ 若要建立多類別文字預測模型，請參閱[建置自訂文字預測模型](#canvas-build-model-text)。
+ 若要建置時間序列預測模型，請參閱[建置時間序列預測模型](#canvas-build-model-forecasting)。

**注意**  
如果您在建置後的分析期間遇到錯誤，告知您要增加 `ml.m5.2xlarge` 執行個體的配額，請參閱[要求增加配額](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-requesting-quota-increases.html)。

## 建立自訂數值或分類預測模型
<a name="canvas-build-model-numeric-categorical"></a>

數值和分類預測模型同時支援**快速建置**和**標準建置**。

若要建立數值或分類預測模型，請使用下列程序：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**我的模型**。

1. 選擇**新模型**。

1. 在**建立新的模型**對話方塊中，執行下列動作：

   1. 在**模型名稱**欄位中輸入名稱。

   1. 選取**預測分析**問題類型。

   1. 選擇**建立**。

1. 針對**選取資料集**，請從資料集清單中選取您的資料集。如果您尚未匯入資料，請選擇**匯入**以轉向至匯入資料工作流程。

1. 當您準備好開始建置模型時，請選擇**選取資料集**。

1. 在**建置**索引標籤的**目標欄**下拉式清單中，選取您要預測的模型目標。

1. 針對**模型類型**，Canvas 會自動為您偵測問題類型。如果您想要變更類型或設定進階模型設定，請選擇**設定模型**。

   當**設定模型**對話方塊開啟時，請執行下列動作：

   1. 針對**模型類型**，選擇您要建置的模型類型。

   1. 選擇模型類型後，還有其他**進階設定**。如需每個進階設定的詳細資訊，請參閱 [進階模型建置組態](canvas-advanced-settings.md)。若要設定進階設定，請執行下列動作：

      1. (選用) 在**目標指標**下拉式清單中選取您要 Canvas 在建置模型時最佳化的指標。如果您未選取指標，Canvas 預設會為您選擇一個指標。如需可用指標的說明，請參閱 [指標參考](canvas-metrics.md)。

      1. 針對**訓練方法**，選擇**自動**、**整合**或**超參數最佳化 (HPO) 模式**。

      1. 針對**演算法**，選取您要包括以用於建置模型候選項目的演算法。

      1. 針對**資料分割**，以百分比指定您想要在**訓練集**與**驗證集**之間分割資料的方式。訓練集用於建置模型，而驗證集則用於測試模型候選項目的正確性。

      1. 針對**候選項目數和執行時間上限**，請執行下列動作：

         1. 設定**候選項目數上限**值，或 Canvas 可以產生的模型候選項目數量上限。請注意，**候選項目數上限**僅適用於 HPO 模式。

         1. 設定**任務執行時間上限**的小時和分鐘值，或 Canvas 建置模型所能花費的時間上限。在時間上限之後，Canvas 會停止建置並選取最佳模型候選項目。

   1. 設定進階設定後，選擇**儲存**。

1. 選取或取消選取資料中的資料欄，以將其包含在建置中或刪除。
**注意**  
如果您在建置後使用模型進行批次預測，Canvas 會在預測結果中新增刪除的資料欄。但是，Canvas 不會將刪除的資料欄新增至時間序列模型的批次預測中。

1. (選用) 使用 Canvas 提供的視覺化和分析工具來視覺化您的資料，並決定您想要在模型中包含哪些功能。如需更多資訊，請參閱[探索和分析您的資料](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html)。

1. (選用) 使用資料轉換來清理、轉換和準備用於模型建置的資料。如需更多資訊，請參閱[使用進階轉換準備資料](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html)。您可以選擇**模型配方**以開啟**模型配方**側邊面板來檢視和移除轉換。

1. (選用) 如需其他功能，例如預覽模型的準確性、驗證資料集，以及變更 Canvas 從資料集取得的隨機範例大小，請參閱[預覽模型](canvas-preview-model.md)。

1. 檢閱資料並對資料集進行任何變更後，請選擇**快速建置**或**標準建置**以開始建置您的模型。下列螢幕擷取畫面顯示**建置**頁面和**快速建置**和**標準建置**選項。  
![\[2 類別模型的建置頁面會顯示快速建置和標準建置選項。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/build-page-tabular-quick-standard-options.png)

模型開始建置後，您可以離開此頁面。當模型在**我的模型**頁面上顯示為**就緒**時就可以進行分析和預測。

## 建置自訂映像預測模型
<a name="canvas-build-model-image"></a>

單一標籤影像預測模型同時支援**快速建置**和**標準建置**。

若要建立單一標籤影像預測模型，請遵循下列程序：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**我的模型**。

1. 選擇**新模型**。

1. 在**建立新的模型**對話方塊中，執行下列動作：

   1. 在**模型名稱**欄位中輸入名稱。

   1. 選取**影像分析**問題類型。

   1. 選擇**建立**。

1. 針對**選取資料集**，請從資料集清單中選取您的資料集。如果您尚未匯入資料，請選擇**匯入**以轉向至匯入資料工作流程。

1. 當您準備好開始建置模型時，請選擇**選取資料集**。

1. 在**建置**索引標籤上，您會看到資料集中影像的**標籤分佈**。**模型類型**設定為**單一標籤影像預測**。

1. 在此頁面上，您可以預覽影像並編輯資料集。如果您有任何未標籤的影像，請選擇**編輯資料集**和[為未標籤的影像指派標籤](canvas-edit-image.md#canvas-edit-image-assign)。當您[編輯影像資料集](canvas-edit-image.md)時也可以執行其他任務，例如重新命名標籤，以及將影像新增至資料集。

1. 檢閱資料並對資料集進行任何變更後，請選擇**快速建置**或**標準建置**以開始建置您的模型。下列螢幕擷取畫面顯示已就緒，且可以建置的映像預測模型的**建置**頁面。  
![\[單一標籤影像預測模型的建置頁面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/build-page-image-model.png)

模型開始建置後，您可以離開此頁面。當模型在**我的模型**頁面上顯示為**就緒**時就可以進行分析和預測。

## 建置自訂文字預測模型
<a name="canvas-build-model-text"></a>

多類別文字預測模型同時支援**快速建置**和**標準建置**。

若要建立文字預測模型，請遵循下列程序：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**我的模型**。

1. 選擇**新模型**。

1. 在**建立新的模型**對話方塊中，執行下列動作：

   1. 在**模型名稱**欄位中輸入名稱。

   1. 選取**文字分析**問題類型。

   1. 選擇**建立**。

1. 針對**選取資料集**，請從資料集清單中選取您的資料集。如果您尚未匯入資料，請選擇**匯入**以轉向至匯入資料工作流程。

1. 當您準備好開始建置模型時，請選擇**選取資料集**。

1. 在**建置**索引標籤的**目標欄**下拉式清單中，選取您要預測的模型目標。目標欄必須有二進位或分類資料類型，而且目標欄中的每個唯一標籤必須至少有 25 個項目 (或資料列)。

1. 針對**模型類型**，請確認模型類型已自動設定為 **多類別文字預測**。

1. 針對訓練資料欄，請選取文字資料的來源資料欄。這應該為包含您要分析的文字的資料欄。

1. 選擇**快速建置**或**標準建置**以開始建置模型。下列螢幕擷取畫面顯示已就緒，且可以建置的文字預測模型的**建置**頁面。  
![\[多類別文字預測模型的建置頁面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/build-page-text-model.png)

模型開始建置後，您可以離開此頁面。當模型在**我的模型**頁面上顯示為**就緒**時就可以進行分析和預測。

## 建置時間序列預測模型
<a name="canvas-build-model-forecasting"></a>

時間序列預測模型同時支援**快速建置**和**標準建置**。

若要建置時間序列預測模型，請使用下列程序：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**我的模型**。

1. 選擇**新模型**。

1. 在**建立新的模型**對話方塊中，執行下列動作：

   1. 在**模型名稱**欄位中輸入名稱。

   1. 選取**時間序列預測**問題類型。

   1. 選擇**建立**。

1. 針對**選取資料集**，請從資料集清單中選取您的資料集。如果您尚未匯入資料，請選擇**匯入**以轉向至匯入資料工作流程。

1. 當您準備好開始建置模型時，請選擇**選取資料集**。

1. 在**建置**索引標籤的**目標欄**下拉式清單中，選取您要預測的模型目標。

1. 在**模型類型**區段中，選擇**設定模型**。

1. **設定模型**方塊隨即開啟。針對**時間序列組態**區段，填寫下列欄位：

   1. 針對**項目 ID 欄**，選擇資料集中唯一識別每一列的資料欄。資料欄的資料類型應為 `Text`。

   1. (選用) 針對**群組欄**，選擇您要用於分組預測值的一或多個分類欄 (資料類型為 `Text`)。

   1. 針對**時間戳記欄**，選取具有時間戳記的資料欄 (採用日期時間格式)。如需接受之日期時間格式的詳細資訊，請參閱[Amazon SageMaker Canvas 中的時間序列預測](canvas-time-series.md)。

   1. 針對**預測長度**欄位，輸入您要預測值的時段。Canvas 會自動偵測資料中的時間單位。

   1. (選用) 開啟**使用假日排程**切換以選取來自不同國家/地區的假日排程，並讓您使用假日資料的預測更準確。

1. 在**設定模型**方塊中，**進階**區段中還有其他設定。如需每個進階設定的詳細資訊，請參閱 [進階模型建置組態](canvas-advanced-settings.md)。若要設定**進階**設定，請執行下列動作：

   1. 針對**目標指標**下拉式清單，選取您要 Canvas 在建置模型時最佳化的指標。如果您未選取指標，Canvas 預設會為您選擇一個指標。如需可用指標的說明，請參閱 [指標參考](canvas-metrics.md)。

   1. 如果您正在執行標準建置，您會看到**演算法**區段。此區段用於選取您要用於建置模型的時間序列預測演算法。您可以選取可用演算法的子集，或者如果您不確定要嘗試哪些演算法，則可以選取所有演算法。

      當您執行標準建置時，Canvas 會建置整合模型，合併所有演算法以最佳化預測正確性。
**注意**  
如果您正在執行快速建置，Canvas 會使用單一樹狀學習演算法來訓練您的模型，而且您不需要選取任何演算法。

   1. 針對**預測分位數**，輸入最多 5 個逗號分隔分位數值，以指定預測的上限和下限。

   1. 設定**進階**設定後，選擇**儲存**。

1. 選取或取消選取資料中的資料欄，以將其包含在建置中或刪除。
**注意**  
如果您在建置後使用模型進行批次預測，Canvas 會在預測結果中新增刪除的資料欄。但是，Canvas 不會將刪除的資料欄新增至時間序列模型的批次預測中。

1. (選用) 使用 Canvas 提供的視覺化和分析工具來視覺化您的資料，並決定您想要在模型中包含哪些功能。如需更多資訊，請參閱[探索和分析您的資料](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html)。

1. (選用) 使用資料轉換來清理、轉換和準備用於模型建置的資料。如需更多資訊，請參閱[使用進階轉換準備資料](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html)。您可以選擇**模型配方**以開啟**模型配方**側邊面板來檢視和移除轉換。

1. (選用) 如需其他功能，例如預覽模型的準確性、驗證資料集，以及變更 Canvas 從資料集取得的隨機範例大小，請參閱[預覽模型](canvas-preview-model.md)。

1. 檢閱資料並對資料集進行任何變更後，請選擇**快速建置**或**標準建置**以開始建置您的模型。

模型開始建置後，您可以離開此頁面。當模型在**我的模型**頁面上顯示為**就緒**時就可以進行分析和預測。

# 進階模型建置組態
<a name="canvas-advanced-settings"></a>

Amazon SageMaker Canvas 支援您可以在建置模型時設定的各種進階設定。以下頁面列出所有進階設定，以及有關其選項和組態的其他資訊。

**注意**  
目前僅數值、分類和時間序列預測模型類型支援下列進階設定。

## 進階數值和分類預測模型設定
<a name="canvas-advanced-settings-predictive"></a>

Canvas 支援下列數值和分類預測模型類型的進階設定。

### 目標指標
<a name="canvas-advanced-settings-predictive-obj-metric"></a>

目標指標是您想要 Canvas 在建置您模型時最佳化的指標。如果您未選取指標，Canvas 預設會為您選擇一個指標。如需可用指標的描述，請參閱[指標參考](canvas-metrics.md)。

### 訓練模式
<a name="canvas-advanced-settings-predictive-method"></a>

Canvas 可以根據資料集大小自動選取訓練方法，也可以手動選取訓練方法。下列訓練方法可供您選擇：
+ **整合** - SageMaker AI 利用 AutoGluon 程式庫來訓練數個基礎模型。為了找到適合您的資料集最佳組合，整合模式會以不同的模型與中繼參數設定來執行 5–10 次試驗。然後，會使用堆疊整合方法合併這些模型，以建立最佳的預測模型。如需表格式資料整合模式支援的演算法清單，請參閱下列[演算法](#canvas-advanced-settings-predictive-algos)一節。
+ **超參數最佳化 (HPO)** - SageMaker AI 在您的資料集執行訓練任務時，使用 Bayesian 最佳化或多逼真度最佳化調整超參數，找到模型的最佳版本。HPO 模式選擇與您的資料集最相關的演算法，並選擇最佳的超參數範圍來調整您的模型。若要調整模型，HPO 模式最多可執行 100 次試驗 (預設值)，以尋找所選範圍內的最佳超參數設定。如果您的資料集大小小於 100 MB，SageMaker AI 會使用 Bayesian 最佳化。如果您的資料集大於 100 MB，SageMaker AI 會選擇多逼真度最佳化。

  如需表格式資料 HPO 模式支援的演算法清單，請參閱下列[演算法](#canvas-advanced-settings-predictive-algos)一節。
+ **自動** - SageMaker AI 會根據您的資料集大小自動選擇整合模式或 HPO 模式。如果您的資料集大於 100 MB，SageMaker AI 會選擇 HPO。否則，它會選擇整合模式。

### 演算法
<a name="canvas-advanced-settings-predictive-algos"></a>

在**整合模式**下，Canvas 支援以下機器學習演算法：
+ [LightGbM](https://docs.aws.amazon.com/sagemaker/latest/dg/lightgbm.html)–使用具有梯度提升的樹型演算法的最佳化架構。該演算法使用在廣度而非深度上生長的樹，並且針對速度進行了高度最佳化。
+ [CatBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/catboost.html)–使用樹型演算法與梯度提升的架構。針對處理分類變數進行最佳化。
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)–使用樹型演算法與梯度提升的架構，深度增長，而不是廣度。
+ [隨機樹系](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html)–在資料的隨機子樣本使用多個決策樹並進行取代的樹型演算法。這些樹在每個層級被分成最佳節點。每棵樹的決策被平均在一起，以防止過度學習並改善預測。
+ [Extra Tree](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.ExtraTreesClassifier.html#sklearn.ensemble.ExtraTreesClassifier)–在整個資料集使用多個決策樹的樹型演算法。樹在每個層級隨機分割。對每棵樹的決定進行平均，以防止過度學習並改善預測。與隨機樹系演算法相比，額外的樹會增加一定程度的隨機化。
+ [線性模型](https://scikit-learn.org/stable/modules/classes.html#module-sklearn.linear_model)–使用線性方程式對觀測資料中兩個變數之間關係進行建模的架構。
+ 神經網路火炬 – 使用 [Pytorch](https://pytorch.org/) 實作的神經網路模型。
+ 神經網路 fast.ai–使用 [fast.ai](https://www.fast.ai/) 實作的神經網路模型。

在 **HPO 模式**下，Canvas 支援下列機器學習演算法：
+ [XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html)–藉由結合一組較簡單且較脆弱的模型之預估值集合來嘗試精確預測目標變數的監督式學習演算法。
+ 深度學習演算法–多層感知器 (MLP) 和前饋人工神經網路。此演算法可以處理不可線性分隔的資料。

### 資料分割
<a name="canvas-advanced-settings-predictive-split"></a>

您可以選擇指定如何在訓練集 (用於建置模型的資料集部分) 與驗證集 (用於驗證模型正確性的資料集部分) 之間分割資料集。例如，常見的分割比率是 80% 訓練和 20% 驗證，其中 80% 資料用於建置模型，而 20% 是為了測量模型效能而保留的。如果您未指定自訂比率，則 Canvas 會自動分割您的資料集。

### 候選項目數上限
<a name="canvas-advanced-settings-predictive-candidates"></a>

**注意**  
這項功能僅適用於 HPO 訓練模式。

您可以指定 Canvas 在建置您模型時產生的模型候選項目數量上限。我們建議您使用預設的候選項目數量，也就是 100，來建置最正確的模型。您可以指定的數量上限為 250。減少模型候選項目的數量可能會影響您模型的正確性。

### 任務執行時間上限
<a name="canvas-advanced-settings-predictive-runtime"></a>

您可以指定任務執行時間上限，或 Canvas 建置您模型所花費的時間上限。在時間限制之後，Canvas 會停止建置並選取最佳模型候選項目。

您可以指定的時間上限是 720 小時。強烈建議您將任務執行時間上限保留在 30 分鐘以上，以確保 Canvas 有足夠的時間產生模型候選項目並完成建置模型。

## 進階時間序列預測模型設定
<a name="canvas-advanced-settings-time-series"></a>

對於時間序列預測模型，Canvas 支援目標指標，如上節所列。

時間序列預測模型也支援下列進階設定：

### 演算法選擇
<a name="canvas-advanced-settings-time-series-algos"></a>

當您建置時間序列預測模型時，Canvas 會使用統計和機器學習演算法的*整合* (或組合) 來提供高度正確的時間序列預測。根據預設，Canvas 會根據資料集中的時間序列，選取所有可用演算法的最佳組合。不過，您可以選擇指定一或多個演算法，以用於預測模型。在此情況下，Canvas 只會使用您選取的演算法來決定最佳混合。如果您不確定要選取哪個演算法訓練模型，建議您選擇所有可用的演算法。

**注意**  
只有標準建置才支援演算法選擇。如果您未在進階設定中選取任何演算法，則 SageMaker AI 預設會執行快速建置，並使用單一樹狀學習演算法訓練模型候選項目。如需快速建置與標準建置之間差異的詳細資訊，請參閱[自訂模型的運作方式](canvas-build-model.md)。

Canvas 支援下列時間序列預測演算法：
+ [ 自動迴歸整合移動平均 (ARIMA)](https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average) - 一種簡單的隨機時間序列模型，使用統計分析來解譯資料並做出未來的預測。此演算法適用於時間序列少於 100 個的簡單資料集。
+ [ 卷積神經網路 - 分位數迴歸 (CNN-QR)](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-algo-cnnqr.html) - 一種專屬的監督式學習演算法，可從大型時間序列集合中訓練一個全域模型，並使用分位數解碼器進行預測。CNN-QR 最適用於包含數百個時間序列的大型資料集。
+ [ DeepAR\$1](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-deeparplus.html) - 一種專屬的監督式學習演算法，用於使用遞迴神經網絡 (RNN) 來預測純量時間序列，在所有時間序列中共同訓練單一模型。DeepAR A\$1 最適合包含數百個特徵時間序列的大型資料集。
+ [ 非參數時間序列 (NPTS)](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-recipe-npts.html) - 可擴展的機率基準預測器，透過從過去的觀察值中取樣來預測指定時間序列的未來值分佈。NPTS 在處理稀疏或間歇性時間序列時非常有用 (例如，預測時間序列有許多 0 或計數低的個別項目的需求)。
+ [指數平滑法 (ETS)](https://en.wikipedia.org/wiki/Exponential_smoothing) - 一種預測方法，其產生的預測是過去觀察值的加權平均值，其中較舊觀察值的權重呈指數減少。該演算法對於少於 100 個時間序列的簡單資料集以及具有季節性模式的資料集很有用。
+ [Prophet](https://facebook.github.io/prophet/) – 一種附加迴歸模型，最適合具有強烈季節性效果和數個季節歷史資料的時間序列。此演算法適用於其非線性成長趨勢接近限制的資料集。

### 預測分位數
<a name="canvas-advanced-settings-time-series-quantiles"></a>

對於時間序列預測，SageMaker AI 會使用您的目標時間序列訓練 6 個模型候選項目。然後，SageMaker AI 會使用堆疊整合方法來結合這些模型，為指定的目標指標建立最佳預測模型。每個預測模型都會透過在 P1 與 P99 之間的分位數產生預測來產生機率預測。這些分位數用於解釋預測的不確定性。根據預設，會針對 0.1 (`p10`)、0.5 (`p50`) 與 0.9 (`p90`) 產生預測。您可以選擇透過 0.01 或更高的增量，從 0.01 (`p1`) 到 0.99 (`p99`) 指定最多五個自己的分位數。

# 編輯影像資料集
<a name="canvas-edit-image"></a>

您可以在 Amazon SageMaker Canvas 中在建立模型之前，編輯影像資料集並檢閱標籤。您可能會想要執行諸如為未標籤的影像指派標籤，或將更多影像新增至資料集等任務。這些任務都可以在 Canvas 應用程式中完成，為您提供修改資料集和建立模型的單一位置。

**注意**  
在建立模型之前，您必須為資料集中的所有影像指派標籤。此外，每個標籤必須至少有 25 張影像，並且至少有兩個標籤。如需有關指派標籤的更多資訊，請參閱此頁面上名為**為未標籤的影像指派標籤**一節。如果您無法判斷影像的標籤，則應該將其從資料集中刪除。如需此關於刪除影像的更多資訊，請參閱此頁面[從資料集新增或刪除影像](#canvas-edit-image-add-delete)的章節。

若要開始編輯影像資料集，您應該在建置單一標籤映像預測模型時位於**建置**索引標籤。

新頁面隨即開啟，其中顯示資料集中的影像及其標籤。此頁面會將您的影像資料集分類為**影像總數**、**標籤的影像**以及**未標籤影像**。您也可以檢閱**資料集準備指南**，瞭解建置準確影像預測模型的最佳實務。

下列螢幕擷取畫面顯示編輯影像資料集的頁面。

![\[Canvas 中影像資料集管理頁面的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/dataset-management-page.png)


您可以在此頁面進行下列動作。

## 檢視每個影像的屬性 (標籤、大小、維度)
<a name="canvas-edit-image-view"></a>

若要檢視個別影像，您可以在搜尋列中依檔案名稱進行搜尋。然後選擇影像以開啟完整檢視。您可以檢視影像屬性並重新指派影像的標籤。檢視影像時，請選擇**儲存**。

## 在資料集中新增、重新命名或刪除標籤
<a name="canvas-edit-image-labels"></a>

Canvas 會在左側導覽窗格中列出資料集的標籤。您可以在**新增標籤**文字欄位中輸入標籤，將標籤新增至資料集。

若要重新命名或刪除資料集中的標籤，請選擇標籤旁的**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選取**重新命名**或**刪除**。如果重新命名標籤，您可以輸入新標籤名稱並選擇**確認**。如果您刪除標籤，該標籤會從資料集中所有具有該標籤的影像中移除。任何帶有該標籤的影像都將被取消標記。

## 為未標籤的影像指派標籤
<a name="canvas-edit-image-assign"></a>

若要檢視資料集中未標籤的影像，請選擇左側導覽窗格中的**未標籤**。針對各個影像，請選取該影像並開啟標題為**未標籤**的標籤，然後從下拉式清單中選取要指派給影像的標籤。您也可以選取多個影像並執行此動作，所有選取的影像都會指派您選擇的標籤。

## 重新指派標籤給影像
<a name="canvas-edit-image-reassign"></a>

您可以選取影像 (或一次多個影像)，然後開啟標題為目前標籤的下拉式清單，以重新指派影像的標籤。選取您想要的標籤，影像就會以新標籤更新。

## 按標籤排序影像
<a name="canvas-edit-image-sort"></a>

您可以在左側導覽窗格中選擇標籤，來檢視指定標籤的所有影像。

## 從資料集新增或刪除影像
<a name="canvas-edit-image-add-delete"></a>

您可以選擇上方導覽窗格中的**新增影像**，將更多影像新增至資料集。您會被導向至匯入更多影像的工作流程。您匯入的影像會新增至您現有的資料集。

您可以從資料集中刪除影像，方法是選取影像，然後在上方導覽窗格中選擇**刪除**。

**注意**  
對資料集進行任何變更後，請選擇**儲存資料集**，確保您不會遺失變更。

# 資料探索和分析
<a name="canvas-explore-data"></a>

**注意**  
您只能針對將 SageMaker Canvas 視覺效果和分析用於以表格式資料集建立的模型。也會排除多類別文字預測模型。

在 Amazon SageMaker Canvas 中，您可以使用視覺化和分析來探索資料集中的變數，並建立應用程式內視覺化和分析。在建置模型之前，您可以使用這些探索來瞭解變數之間的關係。

如需 Canvas 中視覺化技術的更多相關資訊，請參閱[使用視覺化技術探索您的資料](canvas-explore-data-visualization.md)。

如需 Canvas 中分析的更多相關資訊，請參閱[使用分析探索您的資料](canvas-explore-data-analytics.md)。

# 使用視覺化技術探索您的資料
<a name="canvas-explore-data-visualization"></a>

**注意**  
您只能針對將 SageMaker Canvas 視覺效果用於以表格式資料集建立的模型。也會排除多類別文字預測模型。

您可以使用 Amazon SageMaker Canvas 在建置機器學習 (ML) 模型之前，探索和視覺化資料，以取得資料的進階洞察。您可以使用散佈圖、長條圖和盒狀圖進行視覺化，協助您瞭解資料並探索可能影響模型準確度的功能之間的關係。

在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**資料視覺化工具**以開始建立視覺效果。

您可以變更視覺效果取樣大小，以調整從資料集擷取的隨機取樣大小。取樣大小過大可能會影響資料視覺化的效能，因此建議您選擇適當的取樣大小。若要變更取樣大小，請使用下列程序。

1. 選擇**視覺效果取樣**。

1. 使用滑桿選擇您想要的取樣大小。

1. 選擇**更新**以確認取樣大小的變更。

**注意**  
某些視覺化技術需要特定資料類型的資料欄。例如，散佈圖的 x 軸和 y 軸只能使用數值欄。

## 散佈圖
<a name="canvas-explore-data-scatterplot"></a>

若要使用資料集建立散佈圖，請在**視覺化**面板中選擇**散佈圖**。從**資料欄**區段中選擇要在 x 軸和 y 軸上繪製的特徵。您可以將資料欄拖放到軸上，或在放下軸後從支援的資料欄清單中選擇資料欄。

您可以使用**顏色顯示依據**，以第三個特徵為圖表上的資料點著色。您也可以使用**分組依據**，根據第四個特徵將資料分組為單獨的繪圖。

下列影像顯示使用**顏色顯示依據**和**分組依據**的散佈圖。在此範例中，每個資料點都由 `MaritalStatus` 特徵著色，並依 `Department` 特徵分組，並產生每個部門資料點的散佈圖。

![\[Canvas 應用程式的資料視覺化檢視中散佈圖螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-eda-scatter-plot.png)


## 長條圖
<a name="canvas-explore-data-barchart"></a>

若要使用資料集建立長條圖，請在**視覺化**面板中選擇**長條圖**。從**資料欄**區段中選擇要在 x 軸和 y 軸上繪製的特徵。您可以將資料欄拖放到軸上，或在放下軸後從支援的資料欄清單中選擇資料欄。

您可以使用**分組依據**一句第三個特徵對長條圖進行分組。您可以使用**堆疊依據**根據第四個特徵的唯一值來針對每個長條描繪垂直陰影。

下列影像顯示使用**分組依據**和**堆疊依據**的長條圖。在此範例中，長條圖會依 `MaritalStatus`特徵分組，並依 `JobLevel` 特徵堆疊。針對 x 軸上的每一個 `JobRole`，都有一個單獨的長條用於表示 `MaritalStatus` 特徵中的唯一類別，且每個長條都依據 `JobLevel` 特徵垂直堆疊。

![\[Canvas 應用程式的資料視覺化工具中的長條圖螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-eda-bar-chart.png)


## 盒狀圖
<a name="canvas-explore-data-boxplot"></a>

若要使用資料集建立盒狀圖，請在**視覺化**面板中選擇**盒狀圖**。從**資料欄**區段中選擇要在 x 軸和 y 軸上繪製的特徵。您可以將資料欄拖放到軸上，或在放下軸後從支援的資料欄清單中選擇資料欄。

您可以使用**分組依據**依據第三個特徵對盒狀圖進行分組。

下列影像顯示使用**分組依據**的盒狀圖。在此範例中，x 軸和 y 軸分別顯示 `JobLevel` 和 `JobSatisfaction`，彩色盒狀圖會依 `Department` 特徵分組。

![\[Canvas 應用程式的資料視覺化工具中的盒狀圖螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-eda-box-plot.png)


# 使用分析探索您的資料
<a name="canvas-explore-data-analytics"></a>

**注意**  
您只能針對將 SageMaker Canvas 分析用於以表格式資料集建立的模型。也會排除多類別文字預測模型。

透過 Amazon SageMaker Canvas 中的分析功能，您可以在建立模型之前探索資料集並深入分析所有變數。您可以使用相互關聯矩陣來決定資料集中特徵之間的關係。您可以使用此技巧將資料集摘要成矩陣，以顯示兩個或多個值之間的相互關聯。這可幫助您識別並視覺化指定資料集中的模式，以進行進階資料分析。

矩陣會將每個特徵之間的相互關聯性 顯示為正、負或中性。建置模型時，您可能會想要包括彼此之間相互關聯性高的特徵。幾乎沒有相互關聯的特徵可能與您的模型不相關，您可以在建置模型時放棄這些特徵。

若要開始使用 SageMaker Canvas 中的相互關聯性矩陣，請參閱下列章節。

## 建立相互關聯性矩陣
<a name="canvas-explore-data-analytics-correlation-matrix"></a>

當您準備在 SageMaker Canvas 應用程式的**建置**標籤中建立模型時，可以建立相互關聯性矩陣。

如需如何開始建立模型的指示，請參閱[建立模型](canvas-build-model-how-to.md)。

在 SageMaker Canvas 應用程式中開始準備模型之後，請執行下列操作：

1. 在**建置**索引標籤中，選擇**資料視覺化工具**。

1. 然後選擇**分析**。

1. 選擇**相互關聯性矩陣**。

您應該會看到類似下列螢幕擷取畫面的視覺效果，該螢幕擷取畫面顯示組織成相互關聯矩陣的資料集最多 15 個資料欄。

![\[Canvas 應用程式中相互關連矩陣的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-correlation-matrix-2.png)


建立相互關聯矩陣後，您可以藉由以下動作來自訂它：

### 1. 選擇您的資料欄
<a name="canvas-explore-data-analytics-correlation-matrix-columns"></a>

針對**資料欄**，您可以選取想要包含在矩陣中的欄。您最多可以比較資料集中的 15 個資料欄。

**注意**  
您可以針對相互關聯矩陣使用數值、分類或二進位資料欄類型。相互關聯矩陣不支援日期時間或文字資料欄類型。

若要在相互關聯矩陣中新增或移除資料欄，請從**資料欄**面板中選取並取消選取欄。您也可以將資料欄直接從面板拖放到矩陣上。如果資料集有很多資料欄，您可以在**搜尋欄位**中搜尋想要的資料欄。

若要依資料類型篩選資料欄，請選擇下拉式清單，然後選取**全部**、**數值**或**分類**。選取**全部**會顯示資料集中的所有資料欄，而**數值**和**分類**篩選只會顯示資料集中的數值或分類資料欄。請注意，二進位資料欄類型包含在數值或分類篩選條件中。

若要獲得最佳資料洞見，請在相互關聯矩陣中包含您的目標欄。當您將目標欄包括在相互關聯矩陣中時，它會在出現在矩陣中最後一個特徵，並包含一個目標符號。

### 2. 選擇相互關聯類型
<a name="canvas-explore-data-analytics-correlation-matrix-cor-type"></a>

SageMaker Canvas 支援不同的*相互關聯類型*或計算欄之間關聯性的方法。

若要變更相互關聯類型，請使用前一節中提到的**資料欄**篩選條件，篩選您想要的資料欄類型和資料欄。您應該會在側邊面板中看到**相互關聯類型**。針對數值比較，您可以選擇 **Pearson** 或 **Spearman**。針對分類比較，相互關聯類型會設定為 **MI**。針對分類與混合比較，相互關聯類型會設定為 **Spearman & MI**。

針對僅比較數值欄的矩陣，相互關聯類型是 Pearson 或 Spearman。Pearson 量值會評估兩個連續變數之間的線性關係。Spearman 量值會評估兩個變數之間的單調關係。對於 Pearson 與 Spearman，相互關聯性的規模範圍從 -1 到 1，規模的任一端表示一個完美的相關性 (直接 1:1 關係) 而 0 表示無相關性。如果您的資料具有更多線性關係 (如[散佈圖視覺效果](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-explore-data.html#canvas-explore-data-scatterplot)所顯示)，您可能會想要選取 Pearson。如果您的資料並非線性的，或者混合了包含線性和單調關係，那麼您可能需要選擇 Spearman。

針對只比較分類資料欄的矩陣，相互關聯類型會設定為相互資訊分類 (MI)。MI 值是兩個隨機變數之間相互相依性的量值。MI 量值的範圍為 0 到 1，0 表示無相互關聯，1 表示完美相互關聯。

針對比較數值和分類資料欄的混合矩陣，相互關聯類型 **Spearman & MI** 是 Spearman 和 MI 相互關聯類型的組合。針對兩個數值欄之間的相互關聯，矩陣會顯示 Spearman 值。針對數值和分類欄或兩個分類欄之間的相互關聯，矩陣會顯示 MI 值。

最後請記住，相互關聯不一定表示因果關係。強相互關聯值僅表示兩個變數之間存在關係，但這些變數可能沒有因果關係。請仔細檢閱您感興趣的資料欄，以避免在建置模型時出現偏差。

### 3. 篩選您的相互關聯
<a name="canvas-explore-data-analytics-correlation-matrix-filter"></a>

在側邊面板中，您可以使用**篩選相互關聯**功能來篩選要包含在矩陣中的相關值範圍。例如，如果您要篩選僅具有正或中性相互關聯的特徵，您可以將**下限**設定為 0，將**上限**設定為 1 (有效值為 -1 到 1)。

針對 Spearman 和 Pearson 比較，您可以在 -1 到 1 範圍之間的任何地方設定**篩選相互關聯**，0 表示沒有相互關聯，-1 和 1 表示變數分別具有強的負或正相互關聯。

針對 MI 比較，相互關聯範圍僅從 0 到 1，0 表示沒有相互關聯，1 表示變數具有很強的相互關聯，無論是正或負。

每個特徵都與本身具有完美的相互關聯 (1)。因此您可能會注意到相互關聯矩陣的第一列永遠為 1。如果要排除這些值，可以使用篩選器將**上限**設定為小於 1。

請記住，如果您的矩陣比較了數字和分類欄的混合，並使用 **Spearman & MI** 相互關聯類型，則*分類 x 數值*和*分類 x 分類*相互關聯 (使用 MI 量值) 的範圍為 0 到 1，而*數值 x 數值*關聯 (使用 Spearman 量值) 的範圍為 -1 到 1。仔細檢閱您感興趣的相互關聯，以確保您知道用於計算每個值的相互關聯類型。

### 4. 選擇視覺化方法。
<a name="canvas-explore-data-analytics-correlation-matrix-viz-method"></a>

在側邊面板中，您可以使用**視覺化依據**來變更矩陣的視覺化方法。選擇**數值**視覺化方法以顯示相互關聯 (Pearson、Spearman 或 MI) 值，或選擇**大小**視覺化方法，來視覺化與不同大小和顏色點的相互關聯。如果您選擇**大小**，您可以將游標暫留在矩陣的特定點上，以查看實際的相互關聯值。

### 5. 選擇調色盤
<a name="canvas-explore-data-analytics-correlation-matrix-color"></a>

在側邊面板中，您可以使用**顏色選取**來變更用於矩陣中負至正相互關聯的調色盤。選取其中一個替代調色盤，以變更矩陣中使用的顏色。

# 準備用於模型建置的資料
<a name="canvas-prepare-data"></a>

**注意**  
您現在可以使用 Data Wrangler，在 SageMaker Canvas 中執行進階資料準備，Data Wrangler 為您提供自然語言介面和超過 300 個內建轉換。如需詳細資訊，請參閱[資料準備](canvas-data-prep.md)。

您的機器學習資料集可能需要資料準備才能建立模型。由於各種問題 (可能包括缺少值或極端值)，您可能希望清理資料，並執行特徵工程以提高模型的準確性。Amazon SageMaker Canvas 提供機器學習 (ML) 資料轉換，您可以使用這些清理、轉換和準備資料以建立模型。您可以在資料集上使用這些轉換，而不需要任何程式碼。SageMaker Canvas 會將您使用的轉換新增至**模型配方**，這是在建置模型之前對資料進行的資料準備記錄。您使用的任何資料轉換只會修改用於模型建置的輸入資料，而不會修改原始資料來源。

資料集的預覽會顯示資料集的前 100 列。如果資料集的列數超過 20,000 個，Canvas 會隨機取樣 20,000 列的樣本，並預覽該樣本中的前 100 列。您只能搜尋和指定預覽資料列中的數值，而篩選功能只會篩選預覽的資料列，而不非整個資料集。

SageMaker Canvas 中提供了以下轉換，以便您準備建置的資料。

**注意**  
您只能針對以表格式資料集建立的模型使用進階轉換。也會排除多類別文字預測模型。

## 卸除資料欄
<a name="canvas-prepare-data-drop"></a>

您可以將欄放置在 SageMaker Canvas 應用程式的**建置**索引標籤中，從模型建置中排除該欄。取消選取要放置的資料欄柱，建置模型時不會包含該資料欄。

**注意**  
如果您放置資料欄，然後使用模型進行[批次預測](canvas-make-predictions.md)，SageMaker Canvas 會將放置的資料欄新增回輸出資料集，可供您下載。但是，SageMaker Canvas 不會將放置除的資料欄新增回時間序列模型中。

## 篩選資料列
<a name="canvas-prepare-data-filter"></a>

篩選功能會根據您指定的條件篩選預覽的資料列 (資料集的前 100 個資料列)。篩選列可建立資料的暫時預覽，不會影響模型建置。您可以篩選以預覽缺少值、包含極端值或符合所選欄中的自訂條件的列。

### 依缺少值篩選資料列
<a name="canvas-prepare-data-filter-missing"></a>

缺少值是機器學習資料集中常見的情況。如果某些欄中有 Null 或空值的資料列，您可能會想要篩選並預覽這些資料列。

若要從預覽資料中篩選缺少值，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**依資料列篩選** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/filter-icon.png))。

1. 選擇要確認缺少值的**資料欄**。

1. 針對**作業**，選擇**遺失**。

SageMaker Canvas 篩選器適用於在您選取的**資料欄**中包含缺少值的資料列，並提供篩選列的預覽。

![\[SageMaker Canvas 應用程式中缺少值作業的篩選器螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-filter-missing.png)


### 依極端值篩選資料列
<a name="canvas-prepare-data-filter-outliers"></a>

極端值或資料分佈和範圍中的罕見值可能會對模型準確性產生負面影響，並導致更長的建置時間。SageMaker Canvas 可讓您偵測和篩選數值欄中包含極端值的資料列。您可以選擇使用標準偏差或自訂範圍來定義極端值。

若要篩選資料中的極端值，請執行以下操作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**依資料列篩選** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/filter-icon.png))。

1. 選擇您要檢查極端值的**資料欄**。

1. 針對**作業**，選擇**遺失**。

1. 將**極端值範圍**設定為**標準偏差**或**自訂範圍**。

1. 如果您選擇**標準偏差**，請指定從 1 - 3 開始的 **SD** (標準偏差) 值。如果您選擇**自訂範圍**，請選取**百分位數**或**數字**，然後指定**下限**和**上限**。

**標準偏差**選項會使用平均值和標準偏差來偵測並篩選數值欄中的極端值。您也可以指定標準偏差的數值，其值必須與平均值不同，才能被視為極端值。例如，如果您指定 `3` 為 **SD**，則值必須與平均值的標準偏差必須超過 3，才能被視為極端值。

**自訂範圍**選項會使用最小值和最大值偵測並篩選數值欄中的極端值。如果您知道可分隔極端值的閾值，請使用此方法。您可以將範圍的**類型**設定為**百分位數**或**數字**。如果您選擇**百分位數**，則 **下限**與**上限**值應為您要允許的百分位數範圍 (0-100) 的最小值和最大值。如果您選擇**數字**，則**下限**和**上限**值應為您要在資料中篩選的最小和最大數值。

![\[SageMaker Canvas 應用程式中依據極端值作業篩選的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-filter-outlier.png)


### 按自訂值篩選資料列
<a name="canvas-prepare-data-filter-custom"></a>

您可以篩選具有符合自訂條件數值的資料列。例如，您可能希望在刪除之前預覽價格值大於 100 的資料列。您可以使用此功能，篩選超出所設定閾值的列，並預覽所篩選的資料。

若要使用自訂篩選器功能，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**依資料列篩選** (![\[Filter icon in the SageMaker Canvas application.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/filter-icon.png))。

1. 選擇您要檢查的**資料欄**。

1. 選取您要使用的**作業**類型，然後指定選取條件的數值。

針對**作業**，您可以選擇以下其中一個選項。請注意，可用的作業取決於您選擇的資料欄的資料類型。例如，您無法為包含文字值的資料欄建立 `is greater than` 作業。


| 作業 | 支援的資料類型 | 支援的功能類型 | 函式 | 
| --- | --- | --- | --- | 
|  等於  |  數值、文字  | 二進位、分類 |  篩選**資料欄**中數值等於您指定數值的資料列。  | 
|  不等於  |  數值、文字  | 二進位、分類 |  篩選**資料欄**中數值不等於您指定數值的資料列。  | 
|  少於  |  數值  | N/A |  篩選**資料欄**中數值少於您指定數值的資料列。  | 
|  小於或等於  |  數值  | N/A |  篩選**資料欄**中數值小於或等於您指定數值的資料列。  | 
|  大於  |  數值  | N/A |  篩選**資料欄**中數值大於您指定數值的資料列。  | 
|  大於或等於  |  數值  | N/A |  篩選**資料欄**中數值大於或等於您指定數值的資料列。  | 
|  介於  |  數值  | N/A |  篩選**資料欄**中數值介於您指定的兩個數值之間的資料列。  | 
|  Contains  |  文字  | 分類 |  篩選**資料欄**中數值包含您指定數值的資料列。  | 
|  開頭為  |  文字  | 分類 |  篩選**資料欄**中數值開始於您指定數值的資料列。  | 
|  Ends with  |  分類  | 分類 |  篩選**資料欄**中數值結尾為您指定數值的資料列。  | 

設定篩選作業後，SageMaker Canvas 會更新資料集的預覽，以向您顯示篩選的資料。

![\[SageMaker Canvas 應用程式中自訂值作業的篩選器螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-filter-custom.png)


## 函式和運算子
<a name="canvas-prepare-data-custom-formula"></a>

您可以使用數學函式和運算子來探索和發佈資料。您可以使用 SageMaker Canvas 支援的函式，或使用現有資料建立自己的公式，並使用公式的結果建立新資料欄。例如，您可以新增兩欄的對應值，並將結果儲存至新資料欄。

您可以巢狀化陳述式來建立更複雜的函式。以下是一些您可能使用的巢狀化函式範例。
+ 若要計算 BMI，您可以使用 `weight / (height ^ 2)` 函式。
+ 若要分類年齡，您可以使用 `Case(age < 18, 'child', age < 65, 'adult', 'senior')` 函式。

您可以在建置模型之前，在資料準備階段指定函式。若要使用函式，請執行下列動作。
+ 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**檢視全部**，然後選擇**自訂公式**以開啟**自訂公式**面板。
+ 在**自訂公式**面板中，您可以選擇要新增至**模型配方**的**公式**。每個公式都會套用至您指定的欄中的所有值。針對接受兩個或多個資料欄作為引數的公式，請使用具有相符資料類型的資料欄；否則您會在新資料欄中收到錯誤或 `null` 值。
+ 指定**公式**後，請在**新資料欄名稱**中新增資料欄名稱。SageMaker Canvas 會將此名稱用於所建立的新資料欄。
+ (選用) 選擇**預覽**以預覽轉換。
+ 若要將函式新增至**模型配方**，請選擇**新增**。

SageMaker Canvas 會使用您在**新資料欄名稱**中指定的名稱，將函式的結果儲存至新資料欄。您可以從**模型配方**面板中檢視或移除函式。

SageMaker Canvas 支援下列運算子的函式。您可以使用文字格式或內嵌格式來指定函式。


| 運算子 | Description | 支援的資料類型 | 文字格式 | 內嵌格式 | 
| --- | --- | --- | --- | --- | 
|  加  |  傳回值的總和  |  數值  | Add(sales1, sales2) | sales1 \$1 sales2 | 
|  減  |  傳回值之間的差異  |  數值  | Subtract(sales1, sales2) | sales1 ‐ sales2 | 
|  乘  |  傳回值的產品  |  數值  | Multiply(sales1, sales2) | sales1 \$1 sales2 | 
|  除  |  傳回值的商數  |  數值  | Divide(sales1, sales2) | sales1 / sales2 | 
|  MOD  |  傳回模數運算子的結果 (除以兩個值後的餘數)  |  數值  | Mod(sales1, sales2) | sales1 % sales2 | 
|  Abs  | 傳回數值的絕對值。 |  數值  | Abs(sales1) | N/A | 
|  負  | 傳回值的負數 |  數值  | Negate(c1) | -c1 | 
|  EXP  |  傳回 e (尤拉數) 的該值次方  |  數值  | Exp(sales1) | N/A | 
|  Log  |  傳回值的對數 (以 10 為底)  |  數值  | Log(sales1) | N/A | 
|  Ln  |  傳回值的自然對數 (以 e 為底)  |  數值  | Ln(sales1) | N/A | 
|  Pow  |  傳回值的冪  |  數值  | Pow(sales1, 2) | sales1 ^ 2 | 
|  If  |  根據您指定的條件傳回真或偽標籤  |  布林值、數值、文字  | If(sales1>7000, 'truelabel, 'falselabel') | N/A | 
|  或  |  傳回指定值或條件之一是否為真的布林值  |  Boolean  | Or(fullprice, discount) | fullprice \$1\$1 discount | 
|  及  |  傳回兩個指定值或條件之一是否為真的布林值  |  Boolean  | And(sales1,sales2) | sales1 && sales2 | 
|  Not  |  傳回一個與指定值或條件相反的布林值  |  Boolean  | Not(sales1) | \$1sales1 | 
|  案例  |  傳回基於條件描述的布林值 (若 cond1 為真則傳回 c1，若 cond2 為真則傳回 c2，否則傳回 c3)  |  布林值、數值、文字  | Case(cond1, c1, cond2, c2, c3) | N/A | 
|  等於  |  傳回兩個值是否相等的布林值  |  布林值、數值、文字  | N/A | C1 = C2C1 == C2 | 
|  不等於  |  傳回兩個值不相等的布林值  |  布林值、數值、文字  | N/A | c1 \$1= c2 | 
|  Less than  |  傳回 c1 是否小於 c2 的布林值  |  布林值、數值、文字  | N/A | c1 < c2 | 
|  Greater than  |  傳回 c1 是否大於 c2 的布林值  |  布林值、數值、文字  | N/A | c1 > c2 | 
|  Less than or equal  |  傳回 c1 是否小於或等於 c2 的布林值  |  布林值、數值、文字  | N/A | c1 <= c2 | 
|  Greater than or equal  |  傳回 c1 是否大於或等於 c2 的布林值  |  布林值、數值、文字  | N/A | c1 >= c2 | 

SageMaker Canvas 也支援彙總運算子，這些運算子可以執行諸如計算所有值的總和或在資料欄中尋找最小值之類的作業。您可以將彙總運算子與函式中的標準運算子結合使用。例如要計算與平均值的差異，您可以使用該 `Abs(height – avg(height))` 函式。SageMaker Canvas 支援下列彙總運算子。


| 彙總運算子 | Description | 格式 | 範例 | 
| --- | --- | --- | --- | 
|  sum  |  傳回資料欄中所有值的總和  | sum | sum(c1) | 
|  minimum  |  傳回資料欄的最小值  | min | min(c2) | 
|  maximum  |  傳回資料欄的最大值  | max | max(c3) | 
|  average  |  傳回資料欄的平均值  | avg | avg(c4) | 
|  std  | 傳回資料欄的範例標準偏差 | std | std(c1) | 
|  stddev  | 傳回資料欄值的標準偏差 | stddev | stddev(c1) | 
|  variance  | 傳回資料欄中的無偏差變異數 | variance | variance(c1) | 
|  approx\$1count\$1distinct  | 傳回資料欄中不同項目的近似數 | approx\$1count\$1distinct | approx\$1count\$1distinct(c1) | 
|  count  | 傳回資料欄中項目的數字 | count | count(c1) | 
|  first  |  傳回資料欄的第一個值  | first | first(c1) | 
|  last  |  傳回資料欄的最後一個值  | last | last(c1) | 
|  stddev\$1pop  | 傳回資料欄的人口標準偏差 | stddev\$1pop | stddev\$1pop(c1) | 
|  variance\$1pop  |  傳回資料欄中值的人口變異數  | variance\$1pop | variance\$1pop(c1) | 

## 管理資料列
<a name="canvas-prepare-data-manage"></a>

透過管理資料列轉換，您可以執行排序、隨機顯示，以及從資料集中移除資料列。

### 排序列
<a name="canvas-prepare-data-manage-sort"></a>

若要依指定資料欄排序資料集中的資料列，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**管理資料列**，然後選擇**排序資料列**。

1. 在**對資料欄進行排序**中，選擇要當作排序依據的資料欄。

1. 針對**排序順序**，請選取**遞增**或**遞減**。

1. 選擇**新增**，將轉換新增至**模型配方**。

### 隨機顯示資料列
<a name="canvas-prepare-data-manage-shuffle"></a>

若要隨機顯示資料集中的資料列，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**管理資料列**，然後選擇**隨機顯示資料列**。

1. 選擇**新增**，將轉換新增至**模型配方**。

### 捨棄重複的資料列
<a name="canvas-prepare-data-manage-drop-duplicate"></a>

若要移除資料集中重複的資料列，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**管理資料列**，然後選擇**捨棄重複的資料列**。

1. 選擇**新增**，將轉換新增至**模型配方**。

### 按缺少值刪除資料行
<a name="canvas-prepare-data-remove-missing"></a>

缺少值是機器學習資料集中常見的情況，且會影響模型準確度。如果您想要捨棄特定資料欄中含有 Null 或空值的資料列，請使用此轉換。

若要移除指定欄中包含缺少值的列，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**管理資料列**。

1. 選擇**按缺少值刪除資料行**。

1. 選擇**新增**，將轉換新增至**模型配方**。

SageMaker Canvas 會在您選取的**資料欄**中刪除包含缺少值的列。從資料集中移除資料列之後，SageMaker Canvas 會在**模型配方**區段中新增轉換。如果您從**模型配方**區段移除轉換，則資料列會傳回資料集。

![\[SageMaker Canvas 應用程式中缺少值作業移除列的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-remove-missing.png)


### 按極端值刪除資料行
<a name="canvas-prepare-data-remove-outliers"></a>

極端值或資料分佈和範圍中的罕見值可能會對模型準確性產生負面影響，並導致更長的建置時間。使用 SageMaker Canvas 您可以偵測和移除數值欄中包含極端值的資料列。您可以選擇使用標準偏差或自訂範圍來定義極端值。

若要移除資料中的極端值，請執行以下操作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**管理資料列**。

1. 選擇**按極端值刪除資料列**。

1. 選擇您要檢查極端值的**資料欄**。

1. 將**運算子**設定為**標準偏差**、**自訂數值範圍**或**自訂分位數範圍**。

1. 如果您選擇 **Standard deviation** (標準偏差)，請指定從 1 - 3 開始的 **Standard deviations** (標準偏差) 值。如果您選擇 **Custom numeric range** (自訂數值範圍) 或 **Custom quantile range** (自訂分位數範圍)，請指定 **Min** (下限) 與 **Max** (上限) (數值範圍的數字，或若為分位數範圍，則指定介於 0 - 100% 之間的百分位數)。

1. 選擇 **Add** (新增)，將轉換新增至 **Model recipe** (模型配方)。

**Standard deviation** (標準偏差) 選項會使用平均值和標準偏差來偵測並移除數值欄中的極端值。您也可以指定標準偏差的數值，其值必須與平均值不同，才能被視為極端值。例如，如果您指定 `3` 為**標準偏差**，則該值必須與平均值的標準偏差必須超過 3，才能被視為極端值。

**Custom numeric range** (自訂數值範圍) 和 **Custom quantile range** (自訂分位數範圍) 選項會使用最小值和最大值偵測並移除數值欄中的極端值。如果您知道可分隔極端值的閾值，請使用此方法。如果您選擇數值範圍，則** Min** (下限) 和 **Max** (上限) 值應為您要在資料中允許的最小和最大數值。如果您選擇分位數範圍，則 **Min** (下限) 與 **Max** (上限) 值應為您要允許的百分位數範圍 (0-100) 的最小值和最大值。

從資料集中移除資料列之後，SageMaker Canvas 會在 **Model recipe** (模型配方) 區段中新增轉換。如果您從 **Model recipe** (模型配方) 區段移除轉換，則資料列會傳回資料集。

![\[SageMaker Canvas 應用程式中依據極端值作業移除資料列的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-remove-outlier.png)


### 依自訂值刪除資料列
<a name="canvas-prepare-data-remove-custom"></a>

您可以移除 具有符合自訂條件數值的資料列。例如建置模型時，您可能想要排除價格值大於 100 的所有列。透過此轉換，您可以建立一個規則，以移除超出所設定閾值的所有資料列。

若要使用自訂移除轉換，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**管理資料列**。

1. 選擇 **Drop rows by formula** (按公式捨棄資料列)。

1. 選擇您要檢查的 **Column** (資料欄)。

1. 選取您要使用的 **Operation** (作業) 類型，然後指定選取條件的數值。

1. 選擇 **Add** (新增)，將轉換新增至 **Model recipe** (模型配方)。

針對 **Operation** (作業)，您可以選擇以下其中一個選項。請注意，可用的作業取決於您選擇的資料欄的資料類型。例如，您無法為包含文字值的資料欄建立 `is greater than` 作業。


| 作業 | 支援的資料類型 | 支援的功能類型 | 函式 | 
| --- | --- | --- | --- | 
|  等於  |  數值、文字  |  二進位、分類  |  移除 **Column** (資料欄) 中數值等於您指定數值的資料列。  | 
|  不等於  |  數值、文字  |  二進位、分類  |  移除 **Column** (資料欄) 中數值不等於您指定數值的資料列。  | 
|  少於  |  數值  | N/A |  移除 **Column** (資料欄) 中數值少於您指定數值的資料列。  | 
|  小於或等於  |  數值  | N/A |  移除 **Column** (資料欄) 中數值小於或等於您指定數值的資料列。  | 
|  大於  |  數值  | N/A |  移除 **Column** (資料欄) 中數值大於您指定數值的資料列。  | 
|  大於或等於  | 數值 | N/A |  移除 **Column** (資料欄) 中數值大於或等於您指定數值的資料列。  | 
|  介於  | 數值 | N/A |  刪除 **Column** (資料欄) 中數值介於您指定的兩個數值之間的資料列。  | 
|  Contains  |  文字  | 分類 |  移除 **Column** (資料欄) 中數值包含您指定數值的資料列。  | 
|  開頭為  |  文字  | 分類 |  移除 **Column** (資料欄) 中數值開始於您指定數值的資料列。  | 
|  Ends with  |  文字  | 分類 |  移除 **Column** (資料欄) 中數值結尾為您指定數值的資料列。  | 

從資料集中移除資料列之後，SageMaker Canvas 會在 **Model recipe** (模型配方) 區段中新增轉換。如果您從 **Model recipe** (模型配方) 區段移除轉換，則資料列會傳回資料集。

![\[SageMaker Canvas 應用程式中自訂值作業移除列的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-remove-custom.png)


## 重新命名欄
<a name="canvas-prepare-data-rename"></a>

透過重新命名資料欄轉換，您可以重新命名資料中的欄。當您重新命名資料欄時，SageMaker Canvas 會變更模型輸入中的欄位名稱。

您可以在 SageMaker Canvas 應用程式的**建置**索引標籤中按兩下資料欄名稱，然後輸入新名稱，即可重新命名資料集中的資料欄。按 **Enter Key** (輸入索引鍵) 可提交變更，按一下輸入外的任意位置可取消變更。您也可以按一下位於清單檢視中列末端或在網格檢視中標題儲存格結尾處的的 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選擇 **Rename** (重新命名) 來重新命名資料欄。

您的資料欄名稱不得超過 32 個字元，或有雙底線 (\$1\$1)，也無法將資料欄重新命名為與另一資料欄相同的名稱。您也無法重新命名捨棄的資料欄。

下列螢幕擷取畫面顯示如何按兩下欄位名稱來重新命名資料欄。

![\[在 SageMaker Canvas 應用程式按兩下重新命名資料欄方法的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-rename-column.png)


當您重新命名資料欄時，SageMaker Canvas 會在 **Model recipe** (模型配方) 區段中新增轉換。如果您從 **Model recipe** (模型配方) 區段中移除轉換，則該欄會還原為其原始名稱。

## 管理欄
<a name="canvas-prepare-data-manage-cols"></a>

透過下列轉換，您可以變更資料欄的資料類型，並取代特定資料欄的遺失值或極端值。SageMaker Canvas 會在建置模型時使用更新的資料類型或值，但不會變更原始資料集。請注意，如果您使用 [卸除資料欄](#canvas-prepare-data-drop) 轉換從資料集中捨棄資料欄，就無法取代該資料欄中的值。

### 取代遺失值
<a name="canvas-prepare-data-replace-missing"></a>

缺少值是機器學習資料集中常見的情況，且會影響模型準確度。您可以選擇捨棄具有缺少值的列，但如果您選擇取代遺失值，則模型會更準確。透過此轉換，您可以將數值欄中遺失值取代為欄中資料的平均值或中間值，或者可以指定自訂值取代遺失值。針對非數字欄，您可以使用欄的模式 (最常用的值) 或自訂值來取代遺失值。

如果您想要取代特定資料欄中含有的 Null 或空值，請使用此轉換。若要在指定欄中取代遺失值，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇 **Manage columns** (管理資料欄)。

1. 選擇 **Replace missing values** (取代遺失值)。

1. 選擇要取代遺失值的 **Column** (資料欄)。

1. 將 **Mode** (模式) 設定為 **Manual** (手動)，以您指定的值取代遺失值。使用 **Automatic (default)** (自動(預設)) 設定，SageMaker Canvas 會以最適合您資料的推算值取代遺失值。除非您指定 **Manual** (手動) 模式，否則每個模型建置都會自動完成此推算方法。

1. 設定**取代為**值：
   + 如果您的欄是數值，請選取 **Mean **(平均值)、**Median** (中間值) 或 **Custom** (自訂)。**Mean** (平均值) 會以欄的平均值取代遺失值，而 **Median** (中間值) 則以欄的中間值取代遺失值。如果您選擇 **Custom** (自訂)，則必須指定要用來取代遺失值的自訂值。
   + 如果您的欄是數值，請選取 **Mode** (模式) 或 **Custom** (自訂)。**Mode** (模式) 會以資料欄的模式或最常用的值取代遺失值。針對 **Custom** (自訂)，則請指定要用來取代遺失值的自訂值。

1. 選擇 **Add** (新增)，將轉換新增至 **Model recipe** (模型配方)。

從資料集中取代缺少值之後，SageMaker Canvas 會在 **Model recipe** (模型配方) 區段中新增轉換。如果您從 **Model recipe** (模型配方) 區段移除轉換，則缺少值會傳回資料集。

![\[SageMaker Canvas 應用程式中取代遺失值作業的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-replace-missing.png)


### 取代極端值
<a name="canvas-prepare-data-replace-outliers"></a>

極端值或資料分佈和範圍中的罕見值可能會對模型準確性產生負面影響，並導致更長的建置時間。SageMaker Canvas 可讓您偵測數值欄中的極端值，並以資料中可接受範圍內的值取代極端值。您可以選擇使用標準偏差或自訂範圍來定義極端值，也可以使用接受範圍內的最小值和最大值來取代極端值。

若要取代資料中的極端值，請執行以下操作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇**管理資料欄**。

1. 選擇 **Replace outlier values** (取代極端值)。

1. 選擇要取代極端值的 **Column** (資料欄)。

1. 針對 **Define outliers** (定義極端值)，請選擇 **Standard deviation** (標準偏差)、**Custom numeric range** (自訂數值範圍) 或 **Custom quantile range** (自訂分位數範圍)。

1. 如果您選擇 **Standard deviation** (標準偏差)，請指定從 1 - 3 開始的 **Standard deviations** (標準偏差) 值。如果您選擇 **Custom numeric range** (自訂數值範圍) 或 **Custom quantile range** (自訂分位數範圍)，請指定 **Min** (下限) 與 **Max** (上限) (數值範圍的數字，或若為分位數範圍，則指定介於 0 - 100% 之間的百分位數)。

1. 針對 **Replace with** (取代為)，選取 **Min/max range** (最小/最大範圍)。

1. 選擇 **Add** (新增)，將轉換新增至 **Model recipe** (模型配方)。

**Standard deviation** (標準偏差) 選項會使用平均值和標準偏差來偵測數值欄中的極端值。您也可以指定標準偏差的數值，其值必須與平均值不同，才能被視為極端值。例如，如果您指定 3 為**標準偏差**，則值必須與平均值的標準偏差必須超過 3，才能被視為極端值。SageMaker Canvas 會以接受的範圍內的最小值或最大值取代極端值。例如，如果您將標準偏差設定為僅包含 200 - 300 之間的值，則 SageMaker Canvas 會將 198 的值變更為 200 (最小值)。

**Custom numeric range** (自訂數值範圍) 和 **Custom quantile range** (自訂分位數範圍)選項會使用最小值和最大值偵測數值欄中的極端值。如果您知道可分隔極端值的閾值，請使用此方法。如果您選擇數值範圍，則** Min** (下限) 和 **Max** (上限) 值應為您想允許的最小和最大數值。SageMaker Canvas 會將任何超出最小值和最大值的任何值取代為最小值與最大值。例如，如果您的範圍僅允許 1 - 100 之間的值，則 SageMaker Canvas 會將數值 102 變更為 100 (最大值)。如果您選擇分位數範圍，則 **Min** (下限) 與 **Max** (上限) 值應為您要允許的百分位數範圍 (0-100) 的最小值和最大值。

從資料集中取代數值之後，SageMaker Canvas 會在 **Model recipe** (模型配方) 區段中新增轉換。如果您從 **Model recipe** (模型配方) 區段移除轉換，則原始值會傳回資料集。

![\[SageMaker Canvas 應用程式中移除極端值作業的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-replace-outlier.png)


### 變更資料類型
<a name="canvas-prepare-data-change-type"></a>

SageMaker Canvas 可讓您在數值、文字和日期時間之間變更欄的*資料類型*，同時還能顯示該資料類型的關聯*功能類型*。*資料類型*是指資料的格式及其儲存方式，而*特徵類型*則是指機器學習演算法 (例如二進位或分類) 中所使用之資料的特性。這使您可以有彈性地根據功能手動更改資料欄中的資料類型。在建置模型之前，選擇正確的資料類型可確保資料完整性和準確性。建置模型時會使用這些資料類型。

**注意**  
目前不支援變更功能類型 (例如從二進位變更為分類)。

下表列出了所有 Canvas 支援的資料類型。


| 資料類型 | Description | 範例 | 
| --- | --- | --- | 
| 數值 | 數字資料代表數值 | 1、2、31.1、1.2。1.3 | 
| 文字 | 文字資料代表字元序列，如名稱或描述 | A, B, C, D蘋果，香蕉，柳橙1A\$1, 2A\$1, 3A\$1 | 
| 日期時間 | 日期時間資料代表時間戳記格式格式的日期和時間 | 2019-07-01 01:00:00, 2019-07-01 02:00:00, 2019-07-01 03:00:00 | 

下表列出了所有 Canvas 支援的特徵類型。


| 特徵類型 | Description | 範例 | 
| --- | --- | --- | 
| 二進位 | 二進位特徵代表兩個可能的值 | 0, 1, 0, 1, 0 (2 個相異值)真，偽，真 (2 個相異值) | 
| 分類 | 分類特徵代表不同的類別或群組 | 蘋果，香蕉，柳橙，蘋果 (3 個相異值)A，B，C，D，E，A，D，C (5 個相異值) | 

若要修改資料集中資料欄的資料類型，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的建置****索引標籤中，前往 **Column view** (欄位檢視) 或 **Grid view** (網格檢視)，然後針對特定欄選取 **Data type** (資料類型) 下拉式清單。

1. 在 **資料類型** (資料類型) 下拉式清單中，選擇要轉換的目的資料類型。下列螢幕擷取畫面顯示下拉式清單功能表。  
![\[資料欄的資料類型轉換下拉式清單功能表，顯示在建置索引標籤中。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-prepare-data-change.png)

1. 在 **Column** (資料欄)，選擇或驗證您要變更其資料類型的欄。

1. 針對 **New data type** (新資料類型)，選擇或驗證要轉換成的新資料類型。

1. 如果 **New data type** (新資料類型) 為 `Datetime` 或 `Numeric`，請在 **Handle invalid values** (處理無效值)下選擇下列其中一個選項：

   1. **Replace with empty value** (以空白值取代) - 將無效值取代為空值

   1. **Delete rows** (刪除列) - 具有無效值的資料列會從資料集中移除

   1. **Replace with custom value** (以自訂值取代) - 無效值會以您指定的 **Custom Value** (自訂值) 取代。

1. 選擇 **Add** (新增)，將轉換新增至 **Model recipe** (模型配方)。

您的資料欄資料類型現在應該被更新。

## 準備時間序列資料
<a name="canvas-prepare-data-timeseries"></a>

使用下列功能來準備時間序列資料，以建立時間序列預測模型。

### 重新取樣時間序列資料
<a name="canvas-prepare-data-resample"></a>

透過重新取樣時間序列資料，您可以為時間序列資料集中的觀察建立固定的間隔。這在處理包含不規則間隔觀察值的時間序列資料時特別有用。例如您可以使用重新取樣，將每隔一小時、兩小時和三小時間隔記錄一次觀察值的資料集，轉換為每次觀測之間固定一小時間隔。預測演算法需要定期取樣觀察值。

若要重新取樣時間序列資料，請執行下列動作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤中，選擇 **Time series** (時間序列)。

1. 選擇 **Resample** (重新取樣)。

1. 在 **Timestamp column** (時間戳記欄)，選擇要套用轉換作業的資料欄。您只能選取 **Datetime** (日期時間) 類型的資料欄。

1. 在 **Frequency settings** (頻率設定) 區段中，選擇 **Frequency** (頻率) 和 **Rate** (比率)。**Frequency** (頻率) 是頻率的單位，**Rate** (比率) 是要套用至資料欄的頻率單位的間隔。例如，在 **Frequency value** (頻率值) 選擇 `Calendar Day`，在 **Rate** (比率) 選擇 `1` 會設定每 1 個行事曆日增加的間隔，例如 `2023-03-26 00:00:00`、`2023-03-27 00:00:00`、`2023-03-28 00:00:00`。如需 **Frequency value** (頻率值) 的完整清單，請參閱此程序之後的資料表。

1. 選擇 **Add** (新增)，將轉換新增至 **Model recipe** (模型配方)。

下表列出重新取樣時間序列資料時可選取的所有 **Frequency** (頻率) 類型。


| Frequency (頻率) | Description | 範例值 (假設比率為 1) | 
| --- | --- | --- | 
|  工作日  |  將日期時間資料欄中的觀察重新採樣為一週的 5 個工作日 (星期一、星期二、星期三、星期四、星期五)  |  2023-03-24 00：00：00 2023-03-27 00：00：00 2023-03-28 00：00：00 2023-03-29 00：00：00 2023-03-30 00：00：00 2023-03-31 00：00：00 2023-04-03 00：00：00  | 
|  行事曆日  |  將日期時間資料欄中的觀察重新採樣為一週的 7 個工作日 (星期一、星期二、星期三、星期四、星期五、星期六、星期日)  |  2023-03-26 00：00：00 2023-03-27 00：00：00 2023-03-28 00：00：00 2023-03-29 00：00：00 2023-03-30 00：00：00 2023-03-31 00：00：00 2023-04-01 00：00：00  | 
|  週  |  將日期時間欄中的觀察重新採樣到每週的第一天  |  2023-03-13 00：00：00 2023-03-20 00：00：00 2023-03-27 00：00：00 2023-04-03 00：00：00  | 
|  月  |  將日期時間欄中的觀察重新採樣到每月的第一天  |  2023-03-01 00：00：00 2023-04-01 00：00：00 2023-05-01 00：00：00 2023-06-01 00：00：00  | 
|  每年季度  |  將日期時間欄中的觀察重新採樣到每季的最後一天  |  2023-03-31 00：00：00 2023-06-30 00：00：00 2023-09-30 00：00：00 2023-12-31 00：00：00  | 
|  年  |  將日期時間欄中的觀察重新採樣到每年的最後一天  |  2022-12-31 0：00：00 2023-12-31 00：00：00 2024-12-31 00：00：00  | 
|  小時  |  將日期時間欄中的觀察重新採樣到每天的每小時  |  2023-03-24 00：00：00 2023-03-24 01：00：00 2023-03-24 02：00：00 2023-03-24 03：00：00  | 
|  分鐘  |  將日期時間欄中的觀察重新採樣到每小時的每分鐘  |  2023-03-24 00：00：00 2023-03-24 00：01：00 2023-03-24 00：02：00 2023-03-24 00：03：00  | 
|  秒  |  將日期時間欄中的觀察重新採樣到每分鐘的每秒  |  2023-03-24 00：00：00 2023-03-24 00：00：01 2023-03-24 00：00：02 2023-03-24 00：00：03  | 

套用重新取樣轉換時，您可以使用**進階**選項，指定如何修改資料集中其餘資料欄 (時間戳記欄除外) 的結果值。這可以透過指定重新取樣方法來實現，該方法可以是數值和非數值欄的縮減取樣或向上取樣。

*縮減取樣*會增加資料集中觀察值取樣的間隔時間。例如，如果您縮減取樣每小時或每兩個小時取樣一次的觀察值，則資料集中的每個觀察值會每兩小時取樣一次。每小時觀察值的其他資料欄的值使用組合方法，被彙總為單一值。下表顯示使用均值作為組合方法以縮減取樣時間序列資料的範例。資料會從每兩個小時縮減取樣到每小時一次。

下表顯示縮減取樣前一天的每小時溫度讀數。


| 時間戳記 | 溫度 (攝氏) | 
| --- | --- | 
| 12:00 PM | 30 | 
| 1:00 am | 32 | 
| 2:00 am | 35 | 
| 3:00 am | 32 | 
| 4:00 am | 30 | 

下表顯示縮減取樣至每兩小時的溫度讀數。


| 時間戳記 | 溫度 (攝氏) | 
| --- | --- | 
| 12:00 PM | 30 | 
| 2:00 am | 33.5 | 
| 2:00 am | 35 | 
| 4:00 am | 32.5 | 

若要縮減時間序列資料的取樣，請執行下列動作：

1. 展開 **Resample** (重新取樣) 轉換下的 **Advanced** (進階) 區段。

1. 選擇 **Non-numeric combination** (非數值組合)，以指定非數值資料欄的組合方式。如需組合方法的完整清單，請參閱下列資料表。

1. 選擇 **Numeric combination** (數值組合)，以指定數值資料欄的組合方式。如需組合方法的完整清單，請參閱下列資料表。

如果未指定組合方法，則 **Non-numeric combination** (非數字組合) 為 `Most Common` 和 **Numeric combination** (數字組合) 為 `Mean`。下表列出了數值和非數值組合的方法清單。


| 縮減取樣方法 | 組合方法 | Description | 
| --- | --- | --- | 
| 非數字組合 | 最常見 | 依最常見的數值彙總非數值資料欄中的值 | 
| 非數字組合 | Last | 依資料欄最後一個值彙總非數值資料欄中的值 | 
| 非數字組合 | First | 依資料欄第一個值彙總非數值資料欄中的值 | 
| 數字組合 | Mean | 透過取資料欄中所有值的平均值，來彙總數值列中的值 | 
| 數字組合 | Median | 透過取資料欄中所有值的中間值，來彙總數值列中的值 | 
| 數字組合 | 最少 | 透過取資料欄中所有值的最小值，來彙總數值列中的值 | 
| 數字組合 | 最多 | 透過取資料欄中所有值的最大值，來彙總數值列中的值 | 
| 數字組合 | 總和 | 將資料欄所有值相加，彙總數值資料欄中的值 | 
| 數字組合 | 分位數 | 透過取資料欄中所有值的分位數值，來彙總數值列中的值 | 

*擴大取樣*會縮減資料集中觀察取樣的間隔時間。例如，如果您將每兩個小時採樣一次的觀測值擴大取樣為每一小時取樣一次，則每小時觀察的其他資料欄的值是從每兩小時獲得的值內插入的。

若要向上取樣時間序列資料，請執行下列動作：

1. 展開 **Resample** (重新取樣) 轉換下的 **Advanced** (進階) 區段。

1. 選擇 **Non-numeric estimation** (非數值估算)，以指定非數值欄的估算方法。如需方法的完整清單，請參閱此程序之後的資料表。

1. 選擇 **Numeric estimation** (數值估算)，以指定數值欄的估算方法。如需方法的完整清單，請參閱下列資料表。

1. (選用) 選擇 **ID Column** (ID 欄) 以指定具有時間序列觀察 ID 的資料欄。如果您的資料集有兩個時間序列，請指定此選項。如果您的資料欄僅代表一個時間序列，請不要指定此欄位的值。例如，您可以擁有包含資料欄 `id` 和 `purchase` 的資料集。該 `id` 資料欄列具有以下值：`[1, 2, 2, 1]`。該 `purchase` 資料欄列具有以下值 `[$2, $3, $4, $1]`。因此該資料集有兩個時間序列 - 一個時間序列是：`1: [$2, $1]`，另一個時間序列為 `2: [$3, $4]`。

如果未指定估算方法，則預設值 `Forward Fill`適用於 **Non-numeric estimation** (非數值估算) 和 `Linear`適用於 **Numeric estimation** (數值估算)。下表會列出用於估算的方法。


| 向上取樣方法 | 估算方法 | Description | 
| --- | --- | --- | 
| 非數值估算 | 向前填充 | 透過在欄中的所有值之後取連續值，在非數字資料欄中插入數值 | 
| 非數值估算 | 向後填充 | 透過在欄中的所有值之前取連續值，在非數字資料欄中插入數值 | 
| 非數值估算 | 保持缺少 | 藉由顯示空值，在非數值資料欄中插入數值 | 
| 數值估算 | Linear, Time, Index, Zero, S-Linear, Nearest, Quadratic, Cubic, Barycentric, Polynomial, Krogh, Piecewise Polynomial, Spline, P-chip, Akima, Cubic Spline, From Derivatives | 使用指定的插補器在數值欄中插入值。如需有關插補方法的資訊，請參閱 pandas 文件中的 [pandas.DataFrame.interpolate](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)。 | 

下列螢幕擷取畫面顯示 **Advanced** (進階) 設定，其中已填寫縮減取樣和向上取樣欄位。

![\[Canvas 應用程式，其時間序列重新取樣側邊面板顯示進階選項。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-prepare-data-resampling.png)


### 使用日期時間擷取
<a name="canvas-prepare-data-datetime"></a>

透過日期時間擷取轉換，您可以將日期時間資料欄中的值擷取至不同的資料欄。例如，如果您有一個包含購買日期的欄，則可以將月份值擷取至單獨的欄，並在建置模型時使用新欄。您也可以透過單一轉換來擷取多個值至不同的資料欄。

您的日期時間欄必須使用支援的時間戳記格式。如需 SageMaker Canvas 支援的格式清單，請參閱[Amazon SageMaker Canvas 中的時間序列預測](canvas-time-series.md)。如果您的資料集未使用其中一種支援的格式，請在建立模型之前更新資料集以使用支援的時間戳記格式，並將其重新匯入 Amazon SageMaker Canvas。

要執行日期時間擷取，請執行以下操作。

1. 在 SageMaker Canvas 應用程式的**建置**索引標籤的在轉換列上選擇**檢視全部**。

1. 選擇 **Extract features** (擷取功能)。

1. 選擇要從中擷取值的 **Timestamp column** (時間戳記欄)。

1. 針對 **Values** (值)，選取一個或多個要從欄擷取的值。您可以從時間戳記欄擷取的值包括 **Year** (年)、**Month** (月)、**Day** (日)、**Hour** (小時)、**Week of year** (年份中的週數)、**Day of year** (該年的第幾日) 以及 **Quarter** (季)。

1. (選用) 選擇 **Preview** (預覽) 以預覽轉換結果。

1. 選擇 **Add** (新增)，將轉換新增至 **Model recipe** (模型配方)。

SageMaker Canvas 會在資料集中為您擷取的每個值建立一個新資料欄。除了**年**值之外，SageMaker Canvas 對擷取的值使用以 0 為基礎的編碼。例如，如果您擷取 **Month** (月) 值，則一月會擷取為 0，而二月則為 1。

![\[SageMaker Canvas 應用程式中日期時間擷取方塊的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-datetime-extract.png)


您可以在 **Model recipe** (模型配方) 區段中看到列出的轉換。如果您從 **Model recipe** (模型配方) 區段移除轉換，則新資料欄會從資料集中移除。

# 模型評估
<a name="canvas-evaluate-model"></a>

建立模型之後，您可以先評估模型在資料上執行的效能，然後再使用模型進行預測。您可以使用資訊 (例如預測標籤和進階指標時模型的準確性)，來判斷模型是否可以針對資料進行足夠準確的預測。

[評估評估您的模型效能](canvas-scoring.md)一節描述如何檢視和解譯模型**分析**頁面上的資訊。[在分析中使用進階指標](canvas-advanced-metrics.md)一節包含有關用來量化模型正確性的**進階指標**的更詳細資訊。

您也可以檢視特定*模型候選項目*的更進階資訊，這些是 Canvas 在建置模型時執行的所有模型迭代。根據指定模型候選項目的進階指標，您可以選擇不同的候選項目做為預設值，或是用於進行預測和部署的版本。對於每個模型候選項目，您可以檢視**進階指標**資訊，以協助您決定要選取哪個模型候選項目做為預設值。您可以從**模型排行榜**中選取模型候選項目來檢視此資訊。如需詳細資訊，請參閱[在模型排行榜中檢視模型候選項目](canvas-evaluate-model-candidates.md)。

Canvas 也提供下載 Jupyter 筆記本的選項，讓您可以檢視和執行用來建置模型的程式碼。如果您想要調整程式碼或進一步了解模型的建置方式，這會很有用。如需詳細資訊，請參閱[下載模型筆記本](canvas-notebook.md)。

# 評估評估您的模型效能
<a name="canvas-scoring"></a>

Amazon SageMaker Canvas 為不同類型的模型提供概觀和評分資訊。模型分數可協助您判斷模型進行預測時的準確度。額外的評分洞察可以幫助您量化實際值和預測值之間的差異。

若要檢視模型的分析，請執行下列操作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**我的模型**。

1. 選擇您建立的模型。

1. 在頂部導覽窗格中，選擇**分析**索引標籤。

1. 在**分析**索引標籤中，您可以檢視模型的概觀和評分資訊。

以下章節描述如何解譯每個模型類型的評分。

## 評估分類預測模型
<a name="canvas-scoring-categorical"></a>

**概觀**索引標籤會顯示每個資料欄的資料欄影響。**Column impact** (資料欄影響) 是一個百分比分數，用於表示資料欄在進行預測方面，相對於其他資料欄具有多少權重。針對 25% 的資料欄影響，Canvas 將該欄位的預測權重設為 25%，將其他欄位的預測權重設為 75%。

下列螢幕擷取畫面顯示模型的 **Accuracy** (準確度) 分數，以及 **Optimization metric** (最佳化指標)，這是您在建置模型時選擇最佳化的指標。在此情況下，**最佳化指標**為**正確性**。如果您建置模型的新版本，則可以指定不同的最佳化指標。

![\[Canvas 中 Analyze (分析) 索引標籤上的準確度分數和最佳化指標的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-category.png)


分類預測模型的 **Scoring** (評分) 索引標籤使您能夠視覺化所有預測。線段會從頁面左側延伸，表示模型所做的所有預測。線段會在頁面中間聚合在一個垂直的區段上，以表示每個預測與單一類別的比例。從預測的類別中，區段分支至實際類別。您可以透過跟隨預測類別的每個線段到實際類別，從而獲得預測的準確性的視覺理解。

下列影像為您提供 **3\$1 類別預測**模型的 **Scoring section** (評分區段) 範例。

![\[3+ 類別預測模型的 Scoring (評分) 索引標籤螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-analyze/canvas-multiclass-classification.png)


您也可以檢視**進階指標**索引標籤，以取得模型效能的詳細資訊，例如進階指標、錯誤密度圖或混淆矩陣。若要進一步了解**進階指標**，請參閱[在分析中使用進階指標](canvas-advanced-metrics.md)。

## 評估數值預測模型
<a name="canvas-scoring-numeric"></a>

**Overview** (概觀) 索引標籤會顯示每個資料欄的資料欄影響。**Column impact** (資料欄影響) 是一個百分比分數，用於表示資料欄在進行預測方面，相對於其他資料欄具有多少權重。針對 25% 的資料欄影響，Canvas 將該欄位的預測權重設為 25%，將其他欄位的預測權重設為 75%。

下列螢幕擷取畫面顯示 **Overview** (概觀) 索引標籤上模型的 **RMSE** 分數，在此情況下為 **Optimization metric** (最佳化指標)。**Optimization metric** (最佳化指標) 是您在建置模型時選擇最佳化的指標。如果您建置模型的新版本，則可以指定不同的最佳化指標。

![\[Canvas 中 Analyze (分析) 索引標籤上的 RMSE 最佳化指標的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-numeric.png)


用於數值預測的 **Scoring** (評分) 標籤會顯示一條線，以指出模型的預測值與用於進行預測資料的關係。數值預測的值通常為 \$1/- RMSE (均方根誤差值)。該模型預測的值通常是在 RMSE 的範圍內。該行周圍的紫色帶寬度表示 RMSE 範圍。預測值通常落在範圍內。

下列影像顯示了用於數值預測的 **Scoring** (評分) 區段。

![\[數值預測模型的 Scoring (評分) 索引標籤螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-analyze/canvas-analyze-regression-scoring.png)


您也可以檢視**進階指標**索引標籤，以取得模型效能的詳細資訊，例如進階指標、錯誤密度圖或混淆矩陣。若要進一步了解**進階指標**，請參閱[在分析中使用進階指標](canvas-advanced-metrics.md)。

## 評估時間序列預測模型
<a name="canvas-scoring-time-series"></a>

在時間序列預測模型的 **Analyze** (分析) 頁面上，您可以查看模型指標的概觀。您可以將滑鼠懸停在每個指標上方以取得詳細資訊，也可以參閱[在分析中使用進階指標](canvas-advanced-metrics.md)以取得每個指標的詳細資訊。

在**資料欄影響**區段，您可以看到各欄的分數。**資料欄影響**是一個百分比分數，用於表示資料欄在進行預測方面，相對於其他資料欄具有多少權重。針對 25% 的資料欄影響，Canvas 將該欄位的預測權重設為 25%，將其他欄位的預測權重設為 75%。

下列螢幕擷取畫面顯示模型的時間序列指標分數，以及 **Optimization metric** (最佳化指標)，這是您在建置模型時選擇最佳化的指標。在此情況下，**Optimization metric** (最佳化指標) 為 **RMSE**。如果您建置模型的新版本，則可以指定不同的最佳化指標。這些指標分數取自您的回溯測試結果，可在**成品**索引標籤中下載。

![\[Canvas 中 Analyze (分析) 索引標籤上的 RMSE 最佳化指標的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/analyze-tab-2-time-series.png)


**成品**索引標籤可讓您存取數個關鍵資源，您可以用來深入討模型的效能並繼續將其迭代：
+ **隨機訓練和驗證分割** - 本節包含將資料集分割為訓練和驗證集時產生的成品連結，可讓您檢閱資料分佈和潛在偏差。
+ **回溯測試結果** - 本節包含驗證資料集的預測值連結，用來為您的模型產生正確性指標和評估資料。
+ **正確性指標** - 本節列出評估模型效能的進階指標，例如均方根誤差 (RMSE)。如需每個指標的詳細資訊，請參閱[時間序列預測的指標](canvas-metrics.md#canvas-time-series-forecast-metrics)。
+ **可解釋性報告** - 本節提供下載可解釋性報告的連結，其會提供模型決策程序的洞見，以及輸入欄的相對重要性。此報告可協助您識別潛在區域以進行改進。

在**分析**頁面上，您也可以選擇**下載**按鈕，將回溯測試結果、正確性指標和可解釋性報告成品直接下載至本機電腦。

## 評估影像預測模型
<a name="canvas-scoring-image"></a>

**Overview** (概觀) 索引標籤會顯示 **Per label performance** (每個標籤效能)，為您提供每個標籤所預測影像的整體精確度分數。您可以選擇標籤來查看更具體的詳細資訊，例如標籤的 **Correctly predicted** (預測正確) 和 **Incorrectly predicted** (預測不正確) 的影像。

您可以開啟 **Heatmap** (熱度圖) 切換開關，查看每個影像的熱度圖。熱度圖會顯示模型進行預測時影響最大的感興趣區域。如需有關熱度圖以及如何使用熱度圖改善模型的更多相關資訊，請選擇 **Heatmap** (熱度圖) 切換開關旁邊的 **More info** (更多資訊) 圖示。

單一標籤影像預測模型的 **Scoring** (評分) 索引標籤會顯示模型預測為標籤與實際標籤的比較。您一次最多可以選取 10 個標籤。您可以透過選擇標籤下拉式清單功能表，並選取或取消選取標籤來變更視覺效果中的標籤。

您也可以在 **Model accuracy insights** (模型準確度洞察 ) 區段中選擇 **View scores for** (檢視分數) 下拉式清單，檢視個別標籤或標籤群組的深入分析，例如精確度最高或最低的三個標籤。

下列螢幕擷取畫面顯示單一標籤影像預測模型的**評分**資訊。

![\[評分頁面上多類別文字預測模型的實際標籤與預測標籤。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/analyze-image-scoring.png)


## 評估文字預測模型
<a name="canvas-scoring-text"></a>

**Overview** (概觀) 索引標籤會顯示 **Per label performance** (每個標籤效能)，為您提供每個標籤所預測文字段落的整體精確度分數。您可以選擇標籤來查看更具體的詳細資訊，例如標籤的 **Correctly predicted** (預測正確) 和 **Incorrectly predicted** (預測不正確) 的段落。

多類別文字預測模型的 **Scoring** (評分) 索引標籤會顯示模型預測為標籤與實際標籤的比較。

在 **Model accuracy insights** (模型精確度洞察) 區段中，您可以看到 **Most frequent category** (最常見類別)，告訴您模型預測中最頻繁出現的類別，以及這些預測的準確度。如果您的模型在 99% 的次數將標籤預測為 **Positive** (正)，那麼您可以對模型保持高度信心，您的模型擅長預測文字中的正面情緒。

下列螢幕擷取畫面顯示多類別文字預測模型的**評分**資訊。

![\[評分頁面上單一標籤影像預測模型的實際標籤與預測標籤。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/analyze-text-scoring.png)


# 在分析中使用進階指標
<a name="canvas-advanced-metrics"></a>

下節描述如何在 Amazon SageMaker Canvas 中尋找和解譯模型的進階指標。

**注意**  
進階指標目前僅適用於數值和分類預測模型。

若要尋找**進階指標**索引標籤，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**我的模型**。

1. 選擇您建立的模型。

1. 在頂部導覽窗格中，選擇**分析**索引標籤。

1. 在**分析**索引標籤內，選擇**進階指標**索引標籤。

在**進階指標**索引標籤中，您可以找到**效能**索引標籤。頁面看起來像是下列螢幕擷取畫面。

![\[分類預測模型進階指標索引標籤的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-analyze-performance.png)


在頂端，您可以看到指標分數的概觀，包括**最佳化指標**，這是您在建置模型時選取要最佳化的指標 (或 Canvas 預設選取的指標)。

下列各節描述**進階指標**內**效能**索引標籤的更詳細資訊。

## 效能
<a name="canvas-advanced-metrics-performance"></a>

在**效能**索引標籤中，您會看到**指標資料表**，以及 Canvas 根據您的模型類型建立的視覺化。對於分類預測模型，Canvas 提供*混淆矩陣*，而對於數值預測模型，Canvas 為您提供*殘差*和*誤差密度*圖。

在**指標資料表**中，會提供您每個進階指標的模型分數完整清單，這比頁面頂端的分數概觀更全面。這裡顯示的指標取決於您的模型類型。如需協助您了解和解譯每個指標的參考，請參閱[指標參考](canvas-metrics.md)。

若要了解根據您的模型類型可能出現的視覺化，請參閱下列選項：
+ **混淆矩陣** - Canvas 使用混淆矩陣在模型正確進行預測時，來協助您進行視覺化。在混淆矩陣中，您的結果會被加以排列，以比較預測值與實際值。下列範例解釋混淆矩陣如何在預測正面和負面標籤的 2 類別預測模型中運作：
  + 相符 - 當真標籤為正數時，模型正確地預測正值。
  + 不相符 — 當真標籤為負值時，模型正確地預測負值。
  + 誤報 - 當真標籤為負值時，模型錯誤地預測正數。
  + 漏報 - 當真標籤為正數時，模型錯誤地預測負值。
+ **精確度召回曲線** - 精確度召回曲線是針對模型召回分數繪製之模型精確度分數的視覺化。一般而言，可以進行完美預測的模型，其精確度和召回分數皆為 1。準確模型的精確度回收曲線在精確度和回收率方面都相當高。
+ **殘差** - 殘差是實際值與模型預測值之間的差異。殘差圖會針對對應的值繪製殘差，以視覺化其分佈和任何模式或極端值。殘差在零附近的常態分佈表示模型與資料非常吻合。不過，如果殘差明顯偏斜或有極端值，可能表示模型過度擬合資料，或有其他需要解決的問題。
+ **誤差密度** - 錯誤密度圖表示模型誤差的分佈。它會顯示每個點的誤差機率密度，從而協助您識別模型可能過度擬合或造成系統性誤差的任何區域。

# 在模型排行榜中檢視模型候選項目
<a name="canvas-evaluate-model-candidates"></a>

當您在 Amazon SageMaker Canvas 中為表格式和時間序列預測模型執行[標準建置](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)時，SageMaker AI 會訓練多個*模型候選項目* (模型的不同迭代)，且預設會選取最佳化指標最高值的模型。對於表格式模型，Canvas 會使用各種演算法和超參數設定，來建置最多 250 個不同的模型候選項目。對於時間序列預測模型，Canvas 會建置 7 個不同的模型 - 每個[支援的預測演算法](canvas-advanced-settings.md#canvas-advanced-settings-time-series)各一個，且有一個整體模型會平均其他模型的預測，以嘗試最佳化正確性。

預設模型候選項目是您可以在 Canvas 中用於預測、註冊至模型註冊庫或部署至端點等動作的唯一版本。不過，您可能想要檢閱所有模型候選項目，然後選取不同的候選項目成為預設模型。您可以在 Canvas 的**模型排行榜**上檢視所有模型候選項目和每個候選項目的更多詳細資訊。

若要檢視**模型排行榜**，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**我的模型**。

1. 選擇您建立的模型。

1. 在頂部導覽窗格中，選擇**分析**索引標籤。

1. 在**分析**索引標籤中，選擇**模型排行榜**。

**模型排行榜**頁面隨即開啟，表格式模型的排行榜頁面看起來就像下列螢幕擷取畫面。

![\[模型排行榜，其中列出 Canvas 已訓練的所有模型候選項目。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-model-leaderboard.png)


對於時間序列預測模型，您會看到 7 個模型，其中包括 Canvas 支援的每個時間序列預測演算法各一個，以及一個整合模型。如需演算法的詳細資訊，請參閱[進階時間序列預測模型設定](canvas-advanced-settings.md#canvas-advanced-settings-time-series)。

在上述螢幕擷取畫面中，您可以看到列出的第一個模型候選項目標記為**預設模型**。這是您可以進行預測或部署到端點的模型候選項目。

若要檢視模型候選項目的更詳細指標資訊以比較這些模型候選項目，您可以選擇**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選擇**檢視模型詳細資訊**。

**重要**  
 載入非預設模型候選項目的模型詳細資訊可能需要幾分鐘 (通常少於 10 分鐘)，且需支付 SageMaker AI 託管費用。如需詳細資訊，請參閱 [SageMaker AI 定價](https://aws.amazon.com/sagemaker/pricing/)。

模型候選項目會在**分析**索引標籤中開啟，而顯示的指標專屬於該模型候選項目。檢閱完模型候選項目的指標後，您可以返回或結束檢視以返回**模型排行榜**。

如果想要將**預設模型**設定為不同的候選項目，您可以選擇**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選擇**變更為預設模型**。變更使用 HPO 模式訓練之模型的預設模型可能需要幾分鐘的時間。

**注意**  
如果您的模型已在生產環境中部署、[已註冊至模型註冊庫](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-register-model.html)，或已設定[自動化](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-manage-automations.html)，則您必須在變更預設模型之前刪除部署、模型註冊或自動化。

# 指標參考
<a name="canvas-metrics"></a>

下列各節描述每個模型類型在 Amazon SageMaker Canvas 中可用的指標。

## 數值預測的指標
<a name="canvas-numeric-metrics"></a>

以下清單定義 SageMaker Canvas 中數值預測的指標，並提供有關如何使用它們的資訊。
+ InferenceLatency - 提出模型預測請求後，到從部署模型的即時端點接收模型預測之間的大約時間。此指標以秒為單位進行測量，僅適用於使用 **Ensembling** 模式建置的模型。
+ MAE - 絕對平均值錯誤。平均而言，目標欄的預測與實際值相比為 \$1/-\$1MAE\$1。

  測量預測值和實際值在所有值上取平均值時的差異。MAE 常用於數值預測，以了解模型預測誤差。如果預測為線性，MAE 表示從預測線到實際值的平均距離。MAE 被定義為絕對值誤差的總和，除以觀測值的數量。其數值範圍從 0 到無限大，數字越小，表示模型越適合資料。
+ MAPE - 平均絕對百分比誤差。平均而言，目標欄的預測與實際值相比為 \$1/- \$1MAPE\$1 %。

  MAPE 是實際值與預測或預估值之間絕對差的平均值，除以實際值並以百分比表示。較低的 MAPE 表示更好的效能，因為它表示預測值或預估值更接近實際值。
+ MSE - 均方誤差 (MSE) 是預測值與實際值之間平方差的平均值。

  MSE 值始終為正值。MSE 值越小，模型預測實際值的能力越好。
+ R2 - 目標欄中的差異百分比，可由輸入目標欄說明。

  量化模型可以解釋相依變數的變異程度。數值的範圍從一 (1) 到負一 (-1)。數字越高表示解釋變異性的分數越高。接近零 (0) 的值表示模型只能解釋極少的相依變數。負值表示與資料契合度不佳，且常數函式 (或水平線) 的效能優於模型。
+ RMSE – 均方根誤差或誤差的標準差。

  測量預測值與實際值之間平方差的平方根，並對所有值進行平均。它是用來了解模型預測誤差，也是指出是否存在較大模型誤差與極端值的重要指標。其數值範圍從零 (0) 到無限大，數字越小，表示模型越適合資料。RMSE 取決於規模，不應用來比較不同類型的資料集。

## 用於分類預測的指標
<a name="canvas-categorical-metrics"></a>

本節定義 SageMaker Canvas 中分類預測的指標，並為您提供如何使用它們的相關資訊。

以下是 2 類別預測的可用指標清單。
+ 準確性 - 正確預測的百分比。

  或者，正確預測項目數與總預測數的比率。準確性衡量預測的類別值與實際值的接近程度。準確性指標的值在零 (0) 和一 (1) 之間變化。值 1 表示完美的準確性，0 表示完全不準確。
+ AUC - 介於 0 到 1 之間的值，表示您的模型能夠在資料集中分隔類別的程度。值 1 表示它能夠完美地分隔類別。
+ BalancedAccuracy - 測量準確預測與所有預測的比率。

  這個比率是把真陽性 (TP) 和真陰性 (TN)，按照陽性 (P) 和陰性 (N) 的總數標準化之後計算出來的。其定義如下：`0.5*((TP/P)+(TN/N))`，值範圍從 0 到 1。當不平衡資料集中的正值或負值數量彼此相差很大時，例如只有 1% 的電子郵件是垃圾郵件時，平衡的準確性指標可提供更好的準確性測量。
+ F1 - 準確度的平衡衡量，其會考慮類別平衡。

  這是精確度和召回分數的調和平均值，定義如下：`F1 = 2 * (precision * recall) / (precision + recall)`。F1 評分在 0 和 1 之間變化。評分 1 表示效能已達可能性的上限，0 表示最差。
+ InferenceLatency - 提出模型預測請求後，到從部署模型的即時端點接收模型預測之間的大約時間。此指標以秒為單位進行測量，僅適用於使用 **Ensembling** 模式建置的模型。
+ LogLoss - 對數損失，也稱為跨熵損失，是一種用於評估機率輸出品質的指標，而不是輸出本身。對數損失是一項重要指標，能指出模型何時有高機率發生錯誤預測。其數值介於 0 到無限大之間。如數值為 0，代表完美預測資料的模型。
+ 精確度 - 在預測 \$1category x\$1 的所有時間中，預測正確的時間為 \$1precision\$1%。

  精確度衡量演算法在所有找到的陽性結果中，預測出真陽性 (TP) 的成效。其定義如下：`Precision = TP/(TP+FP)`，其值範圍從零 (0) 到一 (1)。當假陽性的成本高時，精確度是一個重要的指標。舉例來說，一個飛機安全系統被錯誤地判定為可安全飛行，這個假陽性的成本就非常高。假陽性 (FP) 反映了資料中實際上是陰性的陽性預測。
+ 召回率 - 當 \$1target\$1column\$1 實際上是 \$1category x\$1 時，模型正確預測為 \$1category x\$1 的比率為 \$1recall\$1%。

  召回率衡量演算法在資料集內，正確預測所有的真陽性 (TP) 的表現。真陽性代表其為一個陽性預測，同時也是資料中的實際陽性。召回率定義如下：`Recall = TP/(TP+FN)`，值範圍從 0 到 1。分數越高，代表模型在資料中預測出真陽性 (TP) 的能力越好。請注意，通常只測量召回率是不夠的，因為只要預測每個輸出都是真陽性，就能獲得完美的召回率分數。

以下是 3\$1 類別預測的可用指標清單。
+ 準確性 - 正確預測的百分比。

  或者，正確預測項目數與總預測數的比率。準確性衡量預測的類別值與實際值的接近程度。準確性指標的值在零 (0) 和一 (1) 之間變化。值 1 表示完美的準確性，0 表示完全不準確。
+ BalancedAccuracy - 測量準確預測與所有預測的比率。

  這個比率是把真陽性 (TP) 和真陰性 (TN)，按照陽性 (P) 和陰性 (N) 的總數標準化之後計算出來的。其定義如下：`0.5*((TP/P)+(TN/N))`，值範圍從 0 到 1。當不平衡資料集中的正值或負值數量彼此相差很大時，例如只有 1% 的電子郵件是垃圾郵件時，平衡的準確性指標可提供更好的準確性測量。
+ F1macro - F1macro 分數透過計算精確度和召回率來套用 F1 評分，然後取其諧波平均值來計算每個類別的 F1 分數。然後，F1macro 會平均個別分數以取得 F1macro 分數。F1macro 在 0 與 1 之間變化。評分 1 表示效能已達可能性的上限，0 表示最差。
+ InferenceLatency - 提出模型預測請求後，到從部署模型的即時端點接收模型預測之間的大約時間。此指標以秒為單位進行測量，僅適用於使用 **Ensembling** 模式建置的模型。
+ LogLoss - 對數損失，也稱為跨熵損失，是一種用於評估機率輸出品質的指標，而不是輸出本身。對數損失是一項重要指標，能指出模型何時有高機率發生錯誤預測。其數值介於 0 到無限大之間。如數值為 0，代表完美預測資料的模型。
+ PrecisionMacro - 測量精確度，方法是計算每個類別的精確度，並平均分數來取得數個類別的精確度。分數範圍從零 (0) 到一 (1)。分數高表示這個模型在所有找到的陽性結果中，預測出真陽性 (TP) 的成效顯著，而且是在好幾個類別裡平均算出來的。
+ RecallMacro - 測量召回率，方法是計算每個類別的召回率，並平均分數來取得數個類別的召回率。分數範圍從 0 到 1。分數越高，就表示這模型預測出資料集裡的真陽性 (TP) 能力越強。真陽性指的是其預測是陽性，而在資料裡實際上也是陽性。通常只測量召回率是不夠的, 因為只要預測每個輸出都是真陽性，就能獲得完美的召回率分數。

請注意，對於 3\$1 類別預測，您也會收到平均 F1、準確性、精確度和召回率指標。這些指標的分數只是所有類別的平均指標分數。

## 用於影像和文字預測的指標
<a name="canvas-cv-nlp-metrics"></a>

以下是影像預測與文字預測的可用指標清單。
+ 準確性 - 正確預測的百分比。

  或者，正確預測項目數與總預測數的比率。準確性衡量預測的類別值與實際值的接近程度。準確性指標的值在零 (0) 和一 (1) 之間變化。值 1 表示完美的準確性，0 表示完全不準確。
+ F1 - 準確度的平衡衡量，其會考慮類別平衡。

  這是精確度和召回分數的調和平均值，定義如下：`F1 = 2 * (precision * recall) / (precision + recall)`。F1 評分在 0 和 1 之間變化。評分 1 表示效能已達可能性的上限，0 表示最差。
+ 精確度 - 在預測 \$1category x\$1 的所有時間中，預測正確的時間為 \$1precision\$1%。

  精確度衡量演算法在所有找到的陽性結果中，預測出真陽性 (TP) 的成效。其定義如下：`Precision = TP/(TP+FP)`，其值範圍從零 (0) 到一 (1)。當假陽性的成本高時，精確度是一個重要的指標。舉例來說，一個飛機安全系統被錯誤地判定為可安全飛行，這個假陽性的成本就非常高。假陽性 (FP) 反映了資料中實際上是陰性的陽性預測。
+ 召回率 - 當 \$1target\$1column\$1 實際上是 \$1category x\$1 時，模型正確預測為 \$1category x\$1 的比率為 \$1recall\$1%。

  召回率衡量演算法在資料集內，正確預測所有的真陽性 (TP) 的表現。真陽性代表其為一個陽性預測，同時也是資料中的實際陽性。召回率定義如下：`Recall = TP/(TP+FN)`，值範圍從 0 到 1。分數越高，代表模型在資料中預測出真陽性 (TP) 的能力越好。請注意，通常只測量召回率是不夠的，因為只要預測每個輸出都是真陽性，就能獲得完美的召回率分數。

請注意，對於預測 3 個或更多類別的影像和文字預測模型，您也會收到*平均* F1、準確性、精確度和召回率指標。這些指標的分數只是所有類別的指標分數平均值。

## 時間序列預測的指標
<a name="canvas-time-series-forecast-metrics"></a>

以下內容定義 Amazon SageMaker Canvas 中時間序列預測的進階指標，並提供有關如何使用它們的資訊。
+ 平均加權分位數損失 (WQL) - 透過平均 P10、P50 和 P90 分位數的準確度來評估預測。較低的值表示較精確的模型。
+ 加權絕對誤差百分比 (WAPE) – 絕對誤差的總和，由絕對目標的總和標準化，測量預測值與觀測值的整體偏差。較低的值表示更精確的模型，其中 WAPE = 0 是沒有錯誤的模型。
+ 均方根誤差 (RMSE) - 平均平方誤差的平方根。較低的 RMSE 表示更精確的模型，其中 RMSE = 0 是沒有錯誤的模型。
+ 平均絕對百分比誤差 (MAPE) - 所有時間點的平均誤差百分比 (平均預測值與實際值的百分比差異)。較低的值表示更精確的模型，其中 MAPE = 0 是沒有錯誤的模型。
+ 平均絕對縮放誤差 (MASE) - 由簡單基準預測方法的平均絕對誤差標準化的預測的平均絕對誤差。值越低表示模型越準確，其中 MASE < 1 估計值比基準更好，MASE > 1 估計值比基準較差。

# 使用自訂模型進行預測
<a name="canvas-make-predictions"></a>

使用您在 SageMaker Canvas 建立的模型來預測您的資料。以下各節說明如何針對數值和分類預測模型、時間序列預測、影像預測模型，以及文字預測模型進行預測。

數值和分類預測、影像預測和文字預測自訂模型支援針對您的資料進行以下類型的預測：
+ **單一預測** - **單一預測**是指您只需要進行一項預測的時候。例如，您有一個要分類的影像或文字段落。
+ **批次預測** - **批次預測**是指您想要對整個資料集進行預測的時候。您可以對 1 TB\$1 的資料集進行批次預測。例如，您有一個客戶評論的 CSV 檔案，您想要分析客戶情緒，或者您可能有要分類的影像檔案資料夾。您應該使用與輸入資料集相符的資料集進行預測。Canvas 可讓您執行手動批次預測，或者您可以設定每當您更新資料集時就會執行的自動批次預測。

針對每個預測或一組預測，SageMaker Canvas 會傳回下列資訊：
+ 預測的值
+ 預測值正確的機率

**開始使用**

選擇以下其中一個工作流程以您的自訂模型進行預測：
+ [SageMaker Canvas 中的批次預測](canvas-make-predictions-batch.md)
+ [進行單一預測](canvas-make-predictions-single.md)

使用模型產生預測之後，您也可以執行下列操作：
+ [新增版本以更新您的模型。](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-update-model.html)如果您想要嘗試改善模型的預測準確度，您可以建立模型的新版本。您可以選擇複製原始模型建置組態和資料集，也可以變更您的組態並選取不同的資料集。新增版本後，您可以檢閱和比較版本，以選擇最佳版本。
+ [在 SageMaker AI 模型註冊庫中註冊模型版本。](canvas-register-model.md)。您可以將模型的版本註冊到 SageMaker 模型註冊庫，這是追蹤和管理模型版本和機器學習管道狀態的功能。可以存取 SageMaker 模型註冊庫的資料科學家或 MLOps 團隊使用者可以檢閱您的模型版本，並在將模型版本部署到生產環境之前核准或拒絕這些版本。
+ [將您的批次預測傳送至 Quick。](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-send-predictions.html)在 Quick 中，您可以使用批次預測資料集來建置和發佈儀表板。這可以幫助您分析和分享自訂模型產生的結果。

# 進行單一預測
<a name="canvas-make-predictions-single"></a>

**注意**  
本節描述如何從 Canvas 應用程式中的模型取得單一預測。如需透過將模型部署到端點來在生產環境中進行即時調用的相關資訊，請參閱[將模型部署到端點](canvas-deploy-model.md)。

如果您要取得單一資料點的預測，請進行單一預測。您可以使用此功能取得即時預測，或嘗試變更個別值，以瞭解它們如何影響預測結果。請注意，單一預測依賴於非同步推論端點，該端點會在閒置 (或未收到任何預測請求) 兩個小時後關閉。

基於您的模型類型，選擇下列其中一個程序。

## 使用數值和分類預測模型進行單一預測
<a name="canvas-make-predictions-numeric-categorical"></a>

若要針對數值或分類預測模型進行單一預測，請執行下列動作：

1. 在 Canvas 應用程式左側導覽窗格中選擇 **My models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。

1. 開啟模型後，選擇 **Predict** (預測) 分頁標籤。

1. 在 **Run predictions** (執行預測) 頁面上，選擇 **Single prediction** (單一預測)。

1. 對於代表輸入資料欄的每個 **Column** (資料欄) 欄位，您可以變更 **Value** (值)。從下拉式清單功能表選取您要變更的 **Value** (值)。針對數值欄位，您可以輸入新數值。針對具有標籤的欄位，您可以選取不同的標籤。

1. 當您準備好產生預測時，請在右側的 **Prediction** (預測) 窗格中選擇 **Update** (更新)。

在右側的 **Prediction** (預測) 窗格中，您將看到預測結果。您可以 **Copy** (複製) 預測結果圖表，或者也可以選擇 **Download** (下載) 將預測結果圖表下載為影像，或將值和預測下載為 CSV 檔案。

## 使用時間序列預測模型進行單一預測
<a name="canvas-make-predictions-forecast"></a>

若要對時間序列預測模型進行單一預測，請執行下列動作：

1. 在 Canvas 應用程式左側導覽窗格中選擇 **My models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。

1. 開啟模型後，選擇 **Predict** (預測) 分頁標籤。

1. 選擇**單一預測**。

1. 針對**項目**，選取您要預測其值的項目。

1. 如果您已使用依資料欄分組來訓練模型，請為項目選取依類別分組。

預測結果會在以下窗格中載入，為您顯示每個分位數的預測圖表。選擇**結構描述檢視**以查看數值預測值。您也可以選擇**下載**，將預測結果下載為影像或 CSV 檔案。

## 使用影像預測模型進行單一預測
<a name="canvas-make-predictions-image"></a>

若要針對單一標籤影像預測模型進行單一預測，請執行下列動作：

1. 在 Canvas 應用程式左側導覽窗格中選擇 **My models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。

1. 開啟模型後，選擇 **Predict** (預測) 分頁標籤。

1. 在 **Run predictions** (執行預測) 頁面上，選擇 **Single prediction** (單一預測)。

1. 選擇 **Import package** (匯入影像)。

1. 系統會提示您上傳影像。您可以從本機電腦或 Amazon S3 儲存貯體上傳影像。

1. 選擇 **Import** (匯入) 以匯入影像並產生預測。

在右側的 **Prediction results** (預測結果) 窗格中，模型列出了影像的可能標籤，以及每個標籤的 **Confidence** (可信度分數)。例如，模型可以預測影像的標籤**大海**，可信度分數為 96%。該模型可能已將影像預測為**冰河**，其可信度分數僅為 4％。因此您可以判斷您的模型在預測海洋的影像方面是否可信。

## 使用文字預測模型進行單一預測
<a name="canvas-make-predictions-text"></a>

若要針對多類別文字預測模型進行單一預測，請執行下列動作：

1. 在 Canvas 應用程式左側導覽窗格中選擇 **My models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。

1. 開啟模型後，選擇 **Predict** (預測) 分頁標籤。

1. 在 **Run predictions** (執行預測) 頁面上，選擇 **Single prediction** (單一預測)。

1. 在 **Text field** (文字欄位) 中，輸入您要取得預測的文字。

1. 選擇 **Generate prediction results** (產生預測結果) 以取得您的預測。

在右側窗格 **Prediction results** (預測結果) 中，除了每個可能標籤的 **Confidence** (可信度分數) 之外，您還會獲得文字的分析。例如，如果您針對某項產品輸入了正面評論，您可能會得到 **Positive** (正數) 的可信度分數 85%，而 **Neutral** (中性) 的可信度分數可能是 10%，而 **Negative** (負值) 的可信度分數則只有 5%。

# SageMaker Canvas 中的批次預測
<a name="canvas-make-predictions-batch"></a>

當您擁有要產生預測的整個資料集時，請進行批次預測。Amazon SageMaker Canvas 支援針對大小高達數 PB 的資料集進行批次預測。

您可以使用兩種類型的批次預測：
+ [手動](canvas-make-predictions-batch-manual.md)批次預測是指您有要進行一次性預測的資料集時。
+ [自動批次預測](canvas-make-predictions-batch-auto.md)是當您設定每當更新特定資料集都會執行的組態時。例如，如果您已設定每週更新 SageMaker Canvas 資料集的庫存資料，則可以設定每次更新資料集時執行的自動批次預測。設定自動批次預測工作流程後，請參閱以[如何管理自動化](canvas-manage-automations.md)取得有關檢視和編輯組態詳細資訊的更多相關資訊。如需設定自動資料集更新的更多相關資訊，請參閱[設定資料集的自動更新](canvas-update-dataset-auto.md)。

**注意**  
時間序列預測模型不支援自動批次預測。  
您僅可針對透過本機上傳或 Amazon S3 匯入的資料集設定自動批次預測。此外，自動批次預測只會在您登入 Canvas 應用程式時執行。如果您登出 Canvas，則當您重新登入時，自動批次預測任務便會繼續。

若要開始使用，請檢閱[批次預測資料集需求](canvas-make-predictions-batch-preqreqs.md)，然後選擇下列其中一個手動或自動批次預測工作流程。

**Topics**
+ [批次預測資料集需求](canvas-make-predictions-batch-preqreqs.md)
+ [進行手動批次預測](canvas-make-predictions-batch-manual.md)
+ [進行自動批次預測](canvas-make-predictions-batch-auto.md)
+ [編輯自動批次預測設定](canvas-make-predictions-batch-auto-edit.md)
+ [刪除自動批次預測設定](canvas-make-predictions-batch-auto-delete.md)
+ [檢視您的批次預測任務](canvas-make-predictions-batch-auto-view.md)

# 批次預測資料集需求
<a name="canvas-make-predictions-batch-preqreqs"></a>

針對批次預測，請確定您的資料集符合[建立資料集](canvas-import-dataset.md)中所述的需求。如果您的資料集大於 5 GB，則 Canvas 會使用 Amazon EMR Serverless，來處理您的資料並將其分割成較小的批次。在您分割資料之後，Canvas 會使用 SageMaker AI 批次轉換進行預測。執行批次預測後，您可能會看到來自這兩個服務的費用。如需詳細資訊，請參閱 [Canvas 定價](https://aws.amazon.com/sagemaker/canvas/pricing/)。

您可能無法對某些資料集進行預測，如果它們具有不相容的*結構描述*的話。*結構描述*是一種組織結構。針對表格式資料集，結構描述是資料欄的名稱和資料欄中資料的資料類型。不相容的結構描述可能的發生原因如下：
+ 您用來進行預測的資料集具有的資料欄少於您用來建立模型的資料集。
+ 您用來建立資料集的資料欄資料類型，可能與您用來進行預測的資料集中的資料類型不同。
+ 您用來進行預測的資料集，以及用來建置模型的資料集中資料欄名稱不相符。欄位名稱區分大小寫，`Column1` 不同於 `column1`。

為了確保您可以成功產生批次預測，請比對批次預測資料集的結構描述與用於訓練模型的資料集。

**注意**  
針對批次預測，如果您在建置模型時捨棄任何欄，Canvas 會將捨棄的欄新增回預測結果。但是，Canvas 不會將刪除的資料欄新增至時間序列模型的批次預測中。

# 進行手動批次預測
<a name="canvas-make-predictions-batch-manual"></a>

基於您的模型類型，選擇下列其中一個程序用於手動批次預測。

## 使用數值、分類和時間序列預測模型進行手動批次預測
<a name="canvas-make-predictions-batch-numeric-categorical"></a>

若要對數值、分類和時間序列預測模型類型進行手動批次預測，請執行下列動作：

1. 在 Canvas 應用程式左側導覽窗格中選擇 **My models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。

1. 開啟模型後，選擇 **Predict** (預測) 分頁標籤。

1. 在 **Run predictions** (執行預測) 頁面上，選擇 **Batch prediction** (批次預測)。

1. 選擇**選取資料集**以挑選用於產生預測的資料集。

1. 從可用資料集清單中，選取您的資料集，然後選擇**開始預測**以取得您的預測。

在預測任務完成執行之後，**預測**區段的相同頁面上會列出輸出資料集。此資料集包含您的結果，且如果您選取了 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，則您可以選擇 **Preview** (預覽) 來預覽輸出資料。您可以看到與預測相符的輸入資料以及預測正確的機率。然後您可以選擇 **Download prediction** (下載預測) 並將結果下載檔案。

## 使用影像預測模型進行手動批次預測
<a name="canvas-make-predictions-batch-image"></a>

若要針對單一標籤影像預測模型進行手動批次預測，請執行下列動作：

1. 在 Canvas 應用程式左側導覽窗格中選擇 **My models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。

1. 開啟模型後，選擇 **Predict** (預測) 分頁標籤。

1. 在 **Run predictions** (執行預測) 頁面上，選擇 **Batch prediction** (批次預測)。

1. 如果您已匯入您的資料集，請選擇** Select dataset** (選取資料集)。如果沒有，請選擇 **Import new dataset** (匯入新的資料集)，然後系統將導引您完成匯入資料工作流程。

1. 從可用資料集清單中，選取您的資料集，然後選擇 **Generate predictions** (產生預測) 以取得您的預測。

預測工作完成執行後，在 **Run predictions** (執行預測) 頁面上，您會看到 **Predictions** (預測) 下方列出的輸出資料集。此資料集包含您的結果，且如果您選取了 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，則您可以選擇 **View prediction results** (檢視預測結果) 來檢視輸出資料。您可以檢視影像及其預測的標籤和可信度分數。然後您可以選擇 **Download prediction** (下載預測) 將結果下載為 CSV 或 ZIP 檔案。

## 使用文字預測模型進行手動批次預測
<a name="canvas-make-predictions-batch-text"></a>

若要針對多類別文字預測模型進行手動批次預測，請執行下列動作：

1. 在 Canvas 應用程式左側導覽窗格中選擇 **My models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。

1. 開啟模型後，選擇 **Predict** (預測) 分頁標籤。

1. 在 **Run predictions** (執行預測) 頁面上，選擇 **Batch prediction** (批次預測)。

1. 如果您已匯入您的資料集，請選擇** Select dataset** (選取資料集)。如果沒有，請選擇 **Import new dataset** (匯入新的資料集)，然後系統將導引您完成匯入資料工作流程。您選擇的資料集必須具有與建立模型時所使用的資料集相同的來源資料欄。

1. 從可用資料集清單中，選取您的資料集，然後選擇 **Generate predictions** (產生預測) 以取得您的預測。

預測工作完成執行後，在 **Run predictions** (執行預測) 頁面上，您會看到 **Predictions** (預測) 下方列出的輸出資料集。此資料集包含您的結果，且如果您選取了 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，則您可以選擇 **Preview** (預覽) 來檢視輸出資料。您可以檢視影像及其預測的標籤和可信度分數。然後您可以選擇 **Download prediction** (下載預測) 來下載結果。

# 進行自動批次預測
<a name="canvas-make-predictions-batch-auto"></a>

**注意**  
時間序列預測模型不支援自動批次預測。

若要設定自動批次預測的排程，請執行以下動作：

1. 在 Canvas 左側導覽窗格中選擇 **My Models** (我的模型)。

1. 選擇您的模型。

1. 選擇 **Predict** (預測) 標籤。

1. 選擇 **Batch prediction** (批次預測)。

1. 針對 **Generate predictions** (產生預測)，選擇 **Automatic** (自動)。

1. **Automate batch predictions** (自動批次預測) 對話方塊隨即彈出。選擇 **Select dataset** (選取資料集)，然後選擇您要自動執行預測的資料集。請注意，您只能選取透過本機上傳或 Amazon S3 匯入的資料集。

1. 選取資料集之後，請選擇 **Set up** (設定)。

Canvas 在您設定組態之後，會針對資料集執行批次預測工作。然後，每當您[更新資料集](canvas-update-dataset.md)時，會手動或自動執行另一個批次預測工作。

預測工作完成執行後，在 **Run predictions** (執行預測) 頁面上，您會看到 **Predictions** (預測) 下方列出的輸出資料集。此資料集包含您的結果，且如果您選取了 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，則您可以選擇 **Preview** (預覽) 來預覽輸出資料。您可以看到與預測相符的輸入資料以及預測正確的機率。然後，您可以選擇 **Download** (下載) 資源下載結果。

以下各節描述如何透過 Canvas 應用程式中的 **Datasets** (資料集) 頁面檢視、更新及刪除自動批次預測組態。您最多只能在 Canvas 中設定 20 個自動組態。如需透過 Canvas 應用程式中的 **Automations** (自動化) 頁面檢視自動更新批次預測作業歷史記錄或變更自動更新組態的更多相關資訊，請參閱 [如何管理自動化](canvas-manage-automations.md)。

# 編輯自動批次預測設定
<a name="canvas-make-predictions-batch-auto-edit"></a>

您可能想要變更資料集的自動更新組態，例如變更更新頻率。您也可能希望關閉自動更新組態，以暫停資料集的更新。

當您編輯批次預測設定時，您可以變更目標資料集，但無法變更頻率 (因為每當資料集更新時，都會自動進行批次預測)。

若要編輯自動更新組態，請執行下列動作：

1. 前往模型的 **Predict** (預測) 索引標籤。

1. 在 **Predictions** (預測) 下，選擇 **Configuration** (組態) 索引標籤。

1. 尋找您的組態並選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 從下拉式清單功能表選擇 **Update configuration** (更新組態)。

1. **Automate batch prediction** (自動批次預測) 對話方塊隨即彈出。您可以選取其他資料集，然後選擇 **Set up** (設定) 以儲存變更。

您的自動批次預測設定現已更新。

若要暫停自動批次預測，請執行下列動作來關閉自動設定：

1. 前往模型的 **Predict** (預測) 索引標籤。

1. 在 **Predictions** (預測) 下，選擇 **Configuration** (組態) 索引標籤。

1. 從清單中尋找您的組態，然後關閉 **Auto update** (自動更新) 切換開關。

自動批次預測現已暫停。您可以隨時重新開啟切換，以繼續更新排程。

# 刪除自動批次預測設定
<a name="canvas-make-predictions-batch-auto-delete"></a>

若要了解如何刪除自動批次預測設定，請參閱 [刪除自動組態](canvas-manage-automations-delete.md)。

您也可以刪除組態，請執行下列動作：

1. 前往模型的 **Predict** (預測) 索引標籤。

1. 在 **Predictions** (預測) 下，選擇 **Configuration** (組態) 索引標籤。

1. 從清單中尋找您的組態並選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 從下拉式清單功能表選擇 **Delete configuration** (刪除組態)。

您的組態現在應該已刪除。

# 檢視您的批次預測任務
<a name="canvas-make-predictions-batch-auto-view"></a>

若要檢視批次預測任務的狀態和歷程記錄，請前往模型的**預測**索引標籤。

每個自動批次預測任務都會顯示在模型的**預測**索引標籤中。在 **Predictions** (預測) 下，您可以看到 **All jobs** (所有工作) 索引標籤和 **Configuration** (組態) 索引標籤：
+ **所有任務** - 在此索引標籤中，您可以查看此模型的所有手動和自動批次預測任務。您可以依組態名稱篩選工作。對於每個任務，您可以看到下列欄位：
  + **狀態** - 批次預測任務的目前狀態。如果狀態為**失敗**或**部分失敗**，您可以將滑鼠懸停在狀態上方，以檢視更詳細的錯誤訊息來協助您進行故障診斷。
  + **輸入資料集** - Canvas 輸入資料集的名稱，包括資料集版本。
  + **預測類型** - 預測任務是自動還是手動。
  + **資料列** - 預測的資料列數量。
  + **組態名稱** - 批次預測任務組態的名稱。
  + **QuickSight** – 說明您是否已將批次預測傳送至 Quick。
  + **已建立** - 批次預測任務的建立時間。

  如果您選擇**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，您可以選擇**檢視詳細資訊**、**預覽預測**、**下載預測**或**傳送至快速**。如果您選擇**檢視詳細資訊**，頁面即會開啟，其中為您顯示批次預測任務的完整詳細資訊，包括狀態、輸入和輸出資料組態、用來完成任務的執行個體相關資訊，以及 Amazon CloudWatch logs 的存取權。頁面看起來像是下列螢幕擷取畫面。  
![\[批次預測任務詳細資訊頁面，其中顯示任務的所有其他詳細資訊。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-view-batch-prediction-job-details.png)
+ **Configuration** (組態) - 在此索引標籤中，您可以檢視為此模型建立的所有自動批次預測組態。針對每個組態，您都可以看到**已建立**組態的時間戳記、追蹤其更新的**輸入資料集**，以及**下一個排程任務**等欄位，而這個排程是下一個自動預測任務排定要開始的時間。如果您選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，您可以選擇 **View all jobs** (檢視所有工作)來查看組態的作業歷史記錄和進行中的工作。



# 將預測傳送至 Quick
<a name="canvas-send-predictions"></a>

**注意**  
您可以將批次預測傳送至 Quick，以取得數值和分類預測和時間序列預測模型。不包括單一標籤影像預測和多類別文字預測模型。

在 SageMaker Canvas 中使用自訂表格式模型產生批次預測後，您可以將這些預測做為 CSV 檔案傳送至 Quick，這是用於建置和發佈預測儀表板的商業智慧 (BI) 服務。

例如，如果您建立 2 類別預測模型來判斷客戶是否會流失，您可以在 Quick 中建立視覺化的預測儀表板，以顯示預期流失的客戶百分比。若要進一步了解 Quick，請參閱 [Quick 使用者指南](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html)。

下列各節說明如何將批次預測傳送至 Quick 進行分析。

## 開始之前
<a name="canvas-send-predictions-prereqs"></a>

您的使用者必須擁有必要的 AWS Identity and Access Management (IAM) 許可，才能將預測傳送至 Quick。您的管理員可以為您的使用者設定 IAM 許可。如需詳細資訊，請參閱[授予您的使用者將預測傳送至快速的許可](canvas-quicksight-permissions.md)。

您的快速帳戶必須包含`default`命名空間，該命名空間會在您第一次建立快速帳戶時設定。請聯絡您的管理員，以協助您存取 Quick。如需詳細資訊，請參閱《 [快速使用者指南》中的設定](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html)*快速*。

您的快速帳戶必須在與 Canvas 應用程式相同的區域中建立。如果您 Quick 帳戶的所在區域與 Canvas 應用程式的區域不同，您必須[關閉](https://docs.aws.amazon.com/quicksight/latest/user/closing-account.html)並重新建立您的 Quick 帳戶，或在與 Quick 帳戶相同的區域中[設定 Canvas 應用程式](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)。您可以執行下列動作來檢查快速主要區域 （假設您已擁有快速帳戶）：

1. 開啟您的 [Quick 主控台](https://quicksight.aws.amazon.com/)。

1. 當頁面載入時，您的快速主區域會以下列格式附加至 URL：`https://<your-home-region>.quicksight.aws.amazon.com/`。

您必須知道要向其傳送預測之 Quick 使用者的使用者名稱。您可以將預測發送給自己或具有正確許可的其他使用者。您傳送預測的任何使用者都必須位於 Quick 帳戶的`default`[命名空間](https://docs.aws.amazon.com/quicksight/latest/user/namespaces.html)中，並在 Quick 中具有 `Author`或 `Admin`角色。

此外，Quick 必須能夠存取您網域的 SageMaker AI 預設 Amazon S3 儲存貯體，其命名格式如下：`sagemaker-{REGION}-{ACCOUNT_ID}`。區域應與快速帳戶的主區域和 Canvas 應用程式的區域相同。若要了解如何快速存取存放在 Amazon S3 儲存貯體中的批次預測，請參閱《 快速*使用者指南*》中的[我無法連線至 Amazon S3](https://docs.aws.amazon.com/quicksight/latest/user/troubleshoot-connect-S3.html) 的主題。

## 支援的資料格式
<a name="canvas-send-predictions-formatting"></a>

傳送預測之前，請檢查批次預測的資料格式是否與 Quick 相容。
+ 若要進一步了解時間序列資料接受的資料格式，請參閱《 *快速使用者指南*》中的[支援的日期格式](https://docs.aws.amazon.com/quicksight/latest/user/supported-date-formats.html)。
+ 若要進一步了解可能使您無法傳送至 Quick 的資料值，請參閱*《Quick 使用者指南*》中的[資料中不支援的值](https://docs.aws.amazon.com/quicksight/latest/user/unsupported-data-values.html)。

另請注意，Quick 使用 字元`"`做為文字限定詞，因此如果您的 Canvas 資料包含任何`"`字元，請確定您關閉所有相符的引號。任何不相符的引號都可能導致將資料集傳送至 Quick 時發生問題。

## 將批次預測傳送至 Quick
<a name="canvas-send-predictions-send"></a>

使用下列程序將您的預測傳送至 Quick：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇 **My Models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。

1. 選擇 **Predict** (預測) 標籤。

1. 在 **Predictions** (預測) 下，選取您要共用的批次預測資料集 (或多個資料集)。您一次最多可以共用 5 個批次預測資料集。

1. 選取資料集後，選擇**傳送至快速**。
**注意**  
除非您選取一或多個資料集，否則**傳送至快速**按鈕不會啟用。

   或者您也可以選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選擇 **View prediction results** (檢視預測結果) 來預覽預測。從資料集預覽中，您可以選擇**傳送至快速**。下列螢幕擷取畫面顯示資料集預覽中的**「傳送至快速**」按鈕。  
![\[資料集預覽的螢幕擷取畫面，其中包含底部的「傳送至快速」按鈕。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/send-to-quicksight-preview.png)

1. 在**傳送至快速**對話方塊中，執行下列動作：

   1. 對於 **QuickSight 使用者**，輸入您要向其傳送預測的 Quick 使用者名稱。如果您想將它們發送給自己，請輸入您自己的使用者名稱。您只能將預測傳送給 Quick 帳戶`default`命名空間中的使用者，而且使用者必須在 Quick 中具有 `Author`或 `Admin`角色。

   1. 選擇**傳送**。

   下列螢幕擷取畫面顯示**「傳送至快速**」對話方塊：  
![\[傳送至快速對話方塊。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/send-to-quicksight.png)

傳送批次預測後，您傳送之資料集的 **QuickSight** 欄位會顯示為 `Sent`。在確認預測已傳送的確認方塊中，您可以選擇**開啟快速**以開啟您的快速應用程式。如果您已完成使用 Canvas，則應[登出](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-log-out.html) Canvas 應用程式。

您已將資料集傳送到 的快速使用者可以開啟其快速應用程式，並檢視已與其共用的 Canvas 資料集。然後，他們可以使用資料建立預測儀表板。如需詳細資訊，請參閱《 [快速使用者指南》中的快速資料分析入門](https://docs.aws.amazon.com/quicksight/latest/user/getting-started.html)。 **

根據預設，您傳送預測的所有使用者都具有 Quick 中資料集的擁有者許可。擁有者可以建立分析、重新整理、編輯、刪除和重新共用資料集。擁有者對資料集所做的變更會變更所有具有存取權的使用者的資料集。若要變更許可，請前往 Quick 中的資料集並管理其許可。如需詳細資訊，請參閱[《 快速使用者指南》中的檢視和編輯與資料集共用的許可使用者](https://docs.aws.amazon.com/quicksight/latest/user/sharing-data-sets.html#view-users-data-set)。 **

# 下載模型筆記本
<a name="canvas-notebook"></a>

**注意**  
模型筆記本功能適用於快速建置和標準建置表格式模型，以及微調基礎模型。影像預測、文字預測或時間序列預測模型不支援模型筆記本。  
如果您想要為此功能啟動之前建置的表格式模型產生模型筆記本，則必須重新建置模型以產生筆記本。

對於您在 Amazon SageMaker Canvas 中成功建置的合格模型，會產生一個包含所有模型建置步驟報告的 Jupyter 筆記本。此 Jupyter 筆記本包含 Python 程式碼，您可以在本機執行或在 Amazon SageMaker Studio Classic 等環境中執行該程式碼，以複寫建置模型所需的步驟。如果您想要試驗程式碼或參閱 Canvas 如何建置模型的後端詳細資訊，筆記本會很有用。

若要存取模型筆記本，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇**我的模型**。

1. 選擇您已建置的模型和版本。

1. 在模型版本的頁面上，選擇標頭中的**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 從下拉式功能表中，選擇**檢視筆記本**。

1. 隨即出現快顯視窗，其中含有筆記本內容。您可以選擇**下載**，然後執行下列其中一個動作：

   1. 選擇**下載**，將筆記本內容儲存到您的本機裝置。

   1. 選擇**複製 S3 URI** 以複製存放筆記本的 Amazon S3 位置。筆記本存放在 **Canvas 儲存組態**中指定的 Amazon S3 儲存貯體中，該組態是在[設定 Amazon SageMaker Canvas 的先決條件](canvas-getting-started.md#canvas-prerequisites)一節中設定的。

您現在應該能夠在本機或以 Amazon S3 中的物件形式檢視筆記本。您可以將筆記本上傳至 IDE 以編輯和執行程式碼，也可以與組織中的其他人共用筆記本以供檢閱。

# 將您的模型傳送至 Quick
<a name="canvas-send-model-to-quicksight"></a>

如果您使用 Quick，並想要在 Quick 視覺化中利用 SageMaker Canvas，您可以建置 Amazon SageMaker Canvas 模型，並將其用作 Quick 資料集中的*預測欄位*。*預測欄位*是快速資料集中的欄位，可以對資料集中的指定資料欄進行預測，類似於 Canvas 使用者如何使用模型進行單一或批次預測。若要進一步了解如何將 Canvas 預測功能整合到您的快速資料集，請參閱《 [快速使用者指南](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html)》中的 [SageMaker Canvas 整合](https://docs.aws.amazon.com/quicksight/latest/user/sagemaker-canvas-integration.html)。

下列步驟說明如何使用 Canvas 模型將預測欄位新增至快速資料集：

1. 開啟 Canvas 應用程式並使用資料集建立模型。

1. 在 Canvas 中建置模型之後，請將模型傳送至 Quick。當您將模型傳送至 Quick 時，結構描述檔案會自動下載到您的本機電腦。您可以在下一個步驟中將此結構描述檔案上傳至 Quick。

1. 開啟快速，然後選擇與用來建置模型的資料集具有相同結構描述的資料集。在資料集中新增預測欄位，並執行下列動作：

   1. 指定從 Canvas 傳送的模型。

   1. 上傳在步驟 2 中下載的結構描述檔案。

1. 儲存並發佈變更，然後產生新資料集的預測。Quick 使用模型以預測填入目標資料欄。

若要將模型從 Canvas 傳送至 Quick，您必須符合下列先決條件：
+ 您必須同時設定 Canvas 和 Quick。您的快速帳戶必須在與 Canvas 應用程式 AWS 區域 相同的 中建立。如果您 Quick 帳戶的所在區域與 Canvas 應用程式的區域不同，您必須[關閉](https://docs.aws.amazon.com/quicksight/latest/user/closing-account.html)並重新建立您的 Quick 帳戶，或在與 Quick 帳戶相同的區域中[設定 Canvas 應用程式](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)。您的快速帳戶也必須包含您在第一次建立快速帳戶時設定的預設命名空間。請聯絡您的管理員，以協助您存取 Quick。如需詳細資訊，請參閱《 [快速使用者指南》中的設定](https://docs.aws.amazon.com/quicksight/latest/user/setting-up.html)*快速*。
+ 您的使用者必須擁有必要的 AWS Identity and Access Management (IAM) 許可，才能將預測傳送至 Quick。您的管理員可以為您的使用者設定 IAM 許可。如需詳細資訊，請參閱[授予使用者將預測傳送至 Quick 的許可](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-quicksight-permissions.html)。
+ Quick 必須能夠存取您為 Canvas 應用程式儲存體指定的 Amazon S3 儲存貯體。如需詳細資訊，請參閱[設定您的 Amazon S3 儲存](canvas-storage-configuration.md)。

# Amazon SageMaker Canvas 中的時間序列預測
<a name="canvas-time-series"></a>

**注意**  
時間序列預測模型僅支援表格式資料集。

Amazon SageMaker Canvas 可讓您使用機器學習時間序列預測。時間序列預測使您能夠進行可能隨時間變化的預測。

您可以針對下列範例進行時間序列預測：
+ 預測您在未來幾個月內的庫存。
+ 未來四個月售出的物品數量。
+ 節日期間降低價格對銷售的影響。
+ 接下來 12 個月的物品庫存。
+ 接下來幾個小時內進入商店的客戶人數。
+ 預測產品價格降低 10％ 如何影響時段內的銷售。

若要進行時間序列預測，您的資料集必須具備下列項目：
+ 一個時間戳欄，其中所有值包含 `datetime` 類型。
+ 目標欄，其中包含您用來預測未來值的值。
+ 項目 ID 欄，其中包含資料集中每個項目的唯一識別碼，例如 SKU 號碼。

時間戳記欄的 `datetime` 值必須使用下列其中一種格式：
+ `YYYY-MM-DD HH:MM:SS`
+ `YYYY-MM-DDTHH:MM:SSZ`
+ `YYYY-MM-DD`
+ `MM/DD/YY`
+ `MM/DD/YY HH:MM`
+ `MM/DD/YYYY`
+ `YYYY/MM/DD HH:MM:SS`
+ `YYYY/MM/DD`
+ `DD/MM/YYYY`
+ `DD/MM/YY`
+ `DD-MM-YY`
+ `DD-MM-YYYY`

您可以針對下列間隔進行預測：
+ 1 分鐘
+ 5 分鐘。
+ 15 分鐘。
+ 30 分鐘。
+ 1 小時
+ 1 天
+ 1 週
+ 1 個月
+ 1 年

## 輸入資料集中的未來值
<a name="canvas-time-series-future"></a>

Canvas 會自動偵測資料集中可能包含未來值的資料欄。如果存在，這些值可以增強預測的準確性。Canvas 用 `Future values` 標籤來標籤這些特定的資料欄。Canvas 會推論這些欄中的資料與您嘗試預測的目標欄之間的關係，並利用該關係來產生更準確的預測。

例如，您可以預測雜貨店出售的冰淇淋數量。要進行預測，您必須有一個時間戳記欄，以及表示雜貨店售出了多少冰淇淋的資料欄。為了獲得更準確的預測，您的資料集還可以包括價格、環境溫度、冰淇淋的口味或冰淇淋的唯一識別碼。

當天氣變熱時，冰淇淋銷量可能會增加。冰淇淋價格下降可能會銷售的單位提高。有一個包含環境溫度資料的欄和一個包含定價料欄，可以提高預測雜貨店銷售的冰淇淋單位數量的能力。

雖然提供未來值是選擇性的，但它可以幫助您直接在 Canvas 應用程式中執行模擬分析，向您展示未來值的變化如何改變您的預測。

## 處理缺少值
<a name="canvas-time-series-missing"></a>

您可能由於不同的原因而遺失資料。遺失資料的原因可能會讓 Canvas 知道如何估算。例如，您的組織可能會使用在銷售發生時間加以追蹤的自動系統。如果您使用的是來自這種自動系統類型的資料集，表示目標欄中會有缺少值。

**重要**  
如果目標欄中有缺少值，建議您使用沒有這些值的資料集。SageMaker Canvas 使用目標欄來預測未來值。目標欄中的缺少值會大幅降低預測的準確性。

針對資料集中的缺少值，Canvas 會自動把 `0` 填入目標欄，並在其他數值資料欄填入資料欄的中間值數值，來自動為您輸入缺少的值。

不過，您可以為資料集中的目標欄和其他數值資料欄選取自己的填入邏輯。與其他數值資料欄相比，目標欄的填入準則和限制有所不同。目標欄位會填滿至歷史週期結束，而數值欄位會填入至歷史週期與未來週期一直到預測總時程結束。如果您的資料至少有一筆具有未來時間戳記和且該特定欄具有數值的記錄，則 Canvas 僅填入數字欄中的未來值。

您可以選擇下列其中一個填入邏輯選項，來輸入資料中的缺少值：
+ `zero` - 填入 `0`。
+ `NaN` - 填入 NaN，或不是數字。只有目標欄才支援此選項。
+ `mean` - 填入資料序列中的平均值。
+ `median` - 填入資料序列中的中間值。
+ `min` - 填入資料序列中的最小數值。
+ `max` - 填入充資料序列中的最大值。

選擇填入邏輯時，您應考慮模型將會如何解讀邏輯。例如，在零售案例中，記錄供應商品的 0 銷售量會不同於記錄無法供應之商品的 0 銷售量，因為後者並不一定表示客戶對該無法供應商品缺乏興趣。在此情況下，在資料集的目標欄填入 `0` 可能會導致模型在預測中偏差不足，並推論客戶對無法供應的項目缺乏興趣。相反地，填入 `NaN` 可能會導致模型忽略銷售商品中出售零商品的真實情況。

## 預測類型
<a name="canvas-time-series-types"></a>

您可以進行下列預測之一：
+ **單一項目**
+ **所有項目**

針對資料集中所有項目的預測，SageMaker Canvas 會傳回資料集中每個項目未來值的預測。

針對單一項目預測，您可以指定項目，SageMaker Canvas 會傳回未來值的預測。預測包括一個折線圖，繪製了一定時間內的預測值。

**Topics**
+ [輸入資料集中的未來值](#canvas-time-series-future)
+ [處理缺少值](#canvas-time-series-missing)
+ [預測類型](#canvas-time-series-types)
+ [用於預測洞見的其他選項](canvas-additional-insights.md)

# 用於預測洞見的其他選項
<a name="canvas-additional-insights"></a>

在 Amazon SageMaker Canvas 中您可以使用下列方法，從預測中取得更多深入分析：
+ 群組欄
+ 假日排程
+ 模擬情況

您可以將資料集中的資料欄指定為 **Group column** (群組欄)。Amazon SageMaker Canvas 會按照欄中的每個值來分組預測。例如，您可以將預測根據包含價格資料或項目識別符的欄位進行分組。依欄位將預測分組，可讓您進行更具體的預測。例如，如果您將預測根據包含項目識別符的欄位進行分組，則可以查看每個項目的預測。

項目的整體銷售可能會受到假日存在的影響。例如，在美國，十一月和十二月售出的商品數量可能與一月售出的商品數量有很大的不同。如果您使用十一月和十二月的資料來預測一月份的銷售額，結果可能不正確。使用假日排程可必避免您獲得不正確的結果。您可以使用 251 個國家/地區的假日排程。

針對資料集中單一項目的預測，您可以使用模擬情況。模擬情況可讓您變更資料中的值並變更預測。例如您可以使用模擬情況來回答下列問題：“如果我降低價格將會如何？ 將如何影響出售的物品數量？”

# 在 Amazon SageMaker Canvas 中新增模型版本
<a name="canvas-update-model"></a>

在 Amazon SageMaker Canvas 中，您可以透過新增*版本*來更新已建立的模型。您建立的每個模型都有一個版本編號。第一個模型是版本 1 或 `V1`。當您更新資料或使用[進階轉換](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-prepare-data.html)時，您可以使用模型版本查看預測準確度的變化。

檢視您的模型時，SageMaker Canvas 會為您顯示模型歷程記錄，以便您可以比較已建置的所有模型版本。您也可以刪除對您不再有用的版本。透過建立多個模型版本並評估其準確性，您可以迭代地改善模型效能。

**注意**  
文字預測和影像預測模型僅支援一個模型版本。

若要新增模型版本，您可以複製現有版本或建立新版本。

複製目前模型組態的現有版本副本，包括模型配方和輸入資料集。或者，如果您想要設定新的模型配方或選擇不同的資料集，則可以建立新的版本。

如果您建立新的版本並選取不同的資料集，則必須選擇與第 1 版資料集具有相同目標欄和結構描述的資料集。

您必須先成功建置至少一個模型版本，然後才能新增版本。然後，您可以[在 SageMaker 模型註冊庫中註冊模型版本](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-register-model.html)。將註冊庫用於追蹤模型版本，以及用於與生產模型核准上的 Studio Classic 使用者協作。

如果您為第一個模型版本進行了快速建置，則可以在新增版本時選擇執行標準建置。標準建置通常具有更高的準確性。因此，如果您對快速建置組態有信心，您可以執行標準建置來建立模型的最終版本。若要進一步了解快速建置與標準建置之間的差異，請參閱[自訂模型的運作方式](canvas-build-model.md)。

下列程序說明如何新增模型版本；程序會有所不同，取決於您要新增的是相同建置類型還是不同建置類型的版本 (快速與標準)。使用**新增模型版本**程序，以新增相同建置類型的版本。若要在執行快速建置之後新增標準建置模型版本，請遵循**執行標準建置**程序。

**新增模型版本**

1. 開啟您的 SageMaker Canvas 應用程式。如需詳細資訊，請參閱[Amazon Sagemaker Canvas 使用入門](canvas-getting-started.md)。

1. 在左側導覽窗格中選擇 **My Models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。若要尋找您的模型，您可以選擇**依問題類型進行篩選**。

1. 開啟您的模型後，請選擇頂端面板中的**新增版本**按鈕。

1. 從下拉式功能表中，選擇下列其中一個選項：

   1. **從頭開始新增版本** - 當您選取此選項時，**建置**標籤即會開啟，其中包含新模型版本的草稿。您可以選取不同的資料集 (只要結構描述符合第一個模型版本的資料集結構描述)，並設定新的模型配方。如需建置模型的詳細資訊，請參閱[建立模型](canvas-build-model-how-to.md)。

   1. **複製現有版本與組態** - 有一個對話方塊會提示您選取要複製的版本。選取所需版本後，請選擇**複製**。**建置**索引標籤隨即開啟，其中包含新模型版本的草稿。任何模型配方組態都會從複製的版本複製。如需建置模型的詳細資訊，請參閱[建立模型](canvas-build-model-how-to.md)。

**執行標準建置**

1. 開啟您的 SageMaker Canvas 應用程式。如需詳細資訊，請參閱[Amazon Sagemaker Canvas 使用入門](canvas-getting-started.md)。

1. 在左側導覽窗格中選擇 **My Models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。您可以選擇**依問題類型進行篩選**，更輕鬆地找到您的模型。

1. 開啟您的模型後，選擇**分析**索引標籤。

1. 選擇**標準建置**。  
![\[Canvas 模型的分析索引標籤，其中顯示標準建置按鈕。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-add-version-quick-to-standard.png)

   在開啟至**建置**索引標籤的模型草稿頁面上，您可以修改模型組態並啟動建置。如需建置模型的詳細資訊，請參閱[建立模型](canvas-build-model-how-to.md)。

您現在應該正在進行新的模型版本建置。如需建立模型的更多相關資訊，請參閱[自訂模型的運作方式](canvas-build-model.md)。

建置模型版本後，您可以隨時返回模型詳細資訊頁面，以檢視所有版本或新增更多版本。下圖顯示模型的**版本**頁面。

![\[Canvas 中模型的模型版本頁面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/model-versions.png)


在 **Versions** (版本) 頁面上，您可以檢視每個模型版本的下列資訊：
+ **Status** (狀態) - 此欄位告訴您模型目前是正在建置 (`In building`)、已完成建置 (`Ready`)、無法建置 (`Failed`)，還是仍在編輯 (`In draft`)。
+ **Model score** (模型分數)、**F1**、**Precision** (精確度)、**Recall** (重新呼叫) 和 **AUC** - 如果您開啟此頁面上的 **Show advanced metrics** (顯示進階指標) 切換開關，就可以看到這些模型指標。這些指標表示模型的準確性和效能。如需更多資訊，請參閱[評估您的模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-evaluate-model.html)。
+ **共用** - 此欄位指出您是否已與 SageMaker Studio Classic 使用者共用模型版本。
+ **模型註冊庫** - 此欄位指出您是否已將版本註冊至模型註冊庫。如需詳細資訊，請參閱[在 SageMaker AI 模型註冊庫中註冊模型版本。](canvas-register-model.md)。

# MLOps
<a name="canvas-mlops"></a>

在 SageMaker Canvas 中建立您有信心的模型之後，您可能會想要將模型與您的組織中的機器學習作業 (MLOps) 程序整合。MLOps 包含常見任務，例如部署模型以供生產環境使用，或設定持續整合與持續部署 (CI/CD) 管道。

下列主題描述如何使用 Canvas 中的功能，在生產環境中使用 Canvas 建置的模型。

**Topics**
+ [在 SageMaker AI 模型註冊庫中註冊模型版本。](canvas-register-model.md)
+ [將模型部署到端點](canvas-deploy-model.md)
+ [檢視您的部署](canvas-deploy-model-view.md)
+ [更新部署組態](canvas-deploy-model-update.md)
+ [測試您的部署](canvas-deploy-model-test.md)
+ [調用您的端點](canvas-deploy-model-invoke.md)
+ [刪除模型部署](canvas-deploy-model-delete.md)

# 在 SageMaker AI 模型註冊庫中註冊模型版本。
<a name="canvas-register-model"></a>

您可以使用 SageMaker Canvas 建立模型的多個迭代或版本，以隨著時間改進模型。如果您獲得更好的訓練資料，或者想要嘗試提高模型的準確度，則可能需要建立新版本的模型。如需有關將版本新增至模型的更多相關資訊，請參閱[更新模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-update-model.html)。

在您[建置好有信心的模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-build-model.html)之後，您可能會想要評估其效能，並先由您的組織中的資料科學家或 MLOps 工程師檢閱，然後再將其用於生產環境。若要執行此操作，您可以將模型版本註冊到 [SageMaker 模型註冊庫](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry.html)。SageMaker 模型註冊庫是資料科學家或工程師可用來編目機器學習 (ML) 模型的儲存庫，以及管理模型版本及其相關中繼資料，例如訓練指標。他們也可以管理和記錄模型的核准狀態。

在您將模型版本註冊到 SageMaker 模型註冊庫之後，資料科學家或您的 MLOps 團隊可以透過 [SageMaker Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio.html) 存取 SageMaker 模型註冊庫；這是一個用於處理機器學習模型的 Web 型整合式開發環境 (IDE)。在 Studio Classic 的 SageMaker 模型註冊庫介面中，資料科學家或 MLOps 團隊可以評估您的模型並更新其核准狀態。如果模型無法執行其需求，資料科學家或 MLOps 團隊可以將狀態更新為 `Rejected`。如果模型可以執行其需求，資料科學家或 MLOps 團隊可以將狀態更新為 `Approved`。然後，他們可以將[您的模型部署到端點](https://docs.aws.amazon.com/sagemaker/latest/dg/deploy-model.html#deploy-model-prereqs)，或使用 CI/CD 管道[自動化模型部署](https://aws.amazon.com/blogs/machine-learning/building-automating-managing-and-scaling-ml-workflows-using-amazon-sagemaker-pipelines/)。您可以使用 SageMaker AI 模型註冊庫功能，將 Canvas 中建置的模型與您組織中的 MLOps 程序無縫整合。

下圖摘要說明將 Canvas 中建置的模型版本註冊至 SageMaker 模型註冊庫以整合至 MLOps 工作流程的範例。

![\[註冊 Canvas 中建置的模型版本以整合至 MLOps 工作流程的步驟。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-model-registration-diagram.jpg)


您可以將表格式、影像和文字模型版本註冊到 SageMaker 模型註冊庫。這包括時間序列預測模型和 JumpStart 型[微調基礎模型](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-fm-chat-fine-tune.html)。

**注意**  
目前，您無法將 Canvas 中建置的 Amazon Bedrock 型微調基礎模型註冊到 SageMaker 模型註冊庫。

以下各節展示如何從 Canvas 將模型版本註冊至 SageMaker 模型註冊庫。

## 許可管理
<a name="canvas-register-model-prereqs"></a>

根據預設，您具有將模型版本註冊到 SageMaker 模型註冊庫的許可。SageMaker AI 透過連接至 AWS IAM 執行角的 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) 政策，為所有新的與現有 Canvas 使用者設定檔授與託管 Canvas 應用程式的 SageMaker AI 網域許可。

如果 Canvas 管理員正在設定新網域或使用者設定檔，當他們設定網域並遵循[入門指南](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html#canvas-prerequisites)中的先決條件指示時，SageMaker AI 會透過預設為啟用的 **ML Ops 許可組態**選項開啟模型註冊許可。

Canvas 管理員也可以在使用者設定檔等級上管理模型註冊許可。例如，如果管理員想要將模型註冊許可授予某些使用者設定檔，但要移除其他使用者的許可，則他們可以編輯特定使用者的許可。以下程序示範如何關閉特定使用者設定檔的模型註冊許可：

1. 開啟位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從網域清單中選取使用者設定檔的網域。

1. 在**網域詳細資訊**頁面上，選擇您要編輯其許可的**使用者設定檔**。

1. 在** User Details** (使用者詳細資訊) 頁面選擇 **Edit (編輯)**。

1. 在左側導覽窗格中，選擇** Canvas settings** (Canvas 設定)。

1. 在**機器學習 (ML) 作業許可組態**區段中，關閉**啟用模型註冊表註冊許可**切換開關。

1. 選擇**提交**，將變更儲存至您的網域設定。

使用者設定檔應該不再具有模型註冊許可。

## 將模型版本註冊到 SageMaker AI 模型註冊庫。
<a name="canvas-register-model-register"></a>

SageMaker 模型註冊庫會追蹤您建置的所有模型版本，以解決*模型群組*中的特定問題。當您建置 SageMaker Canvas 模型並將其註冊至 SageMaker 模型註冊庫時，該模型會以新的模型版本新增至模型群組。例如，如果您建置並註冊四個版本的模型，則在 SageMaker 模型註冊庫介面中工作的資料科學家或 MLOps 團隊可以檢視模型群組，並在單一位置檢閱模型的全部四個版本。

將 Canvas 模型註冊到 SageMaker 模型註冊庫時，會自動建立模型群組並以 Canvas 模型命名。或者，您可以將其重新命名為您自選的名稱，或使用 SageMaker 模型註冊庫中的現有模型群組名稱。如需建立模型群組的更多相關資訊，請參閱[建立模型群組](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry-model-group.html)。

**注意**  
目前您只能將 Canvas 中建置的模型註冊至相同帳戶中的 SageMaker 模型註冊庫。

若要從 Canvas 應用程式將模型版本註冊至 SageMaker 模型註冊庫，請使用下列程序：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中選擇 **My Models** (我的模型)。

1. 在 **My models** (我的模型) 頁面中，選擇您的模型。您可以 **Filter by problem type** (按問題類型進行篩選)，更輕鬆地找到您的模型。

1. 選擇您的模型後會開啟 **Versions** (版本) 頁面，列出模型的所有版本。您可以開啟 **Show advanced metrics** (顯示進階指標) 切換開關，以檢視進階指標，諸如 **Recall** (重新呼叫) 和 **Precision** (精確度)，以比較模型版本並決定要註冊的模型版本。

1. 從模型版本清單中，針對您要註冊的版本，選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。或者，您可以連按兩下您需要註冊的版本，然後在版本詳細資訊頁面上，選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 在下拉式清單中，選擇 **Add to Model Registry** (新增至模型註冊表)。**Add to Model Registry** (新增至模型註冊表) 對話方塊隨即開啟。

1. 在 **Add to Model Registry** (新增至模型註冊表) 對話方塊中，執行下列操作：

   1. (選用) 在 **SageMaker Studio Classic 模型群組**區段中，針對**模型群組名稱**欄位，輸入您要將版本註冊至其中的模型群組名稱。您可以針對 SageMaker AI 為您建立的新模型群組指定名稱，也可以指定現有模型群組。如果您未指定此欄位，Canvas 會將您的版本註冊到與模型相同名稱的預設模型群組中。

   1. 選擇**新增**。

您的模型版本現在應該已註冊到 SageMaker 模型註冊庫中的模型群組。將模型版本註冊到 SageMaker 模型註冊庫中的模型群組時，Canvas 模型的所有後續版本都會註冊到相同的模型群組 (如果您選擇註冊它們)。如果您將版本註冊到不同的模型群組，則需要前往 SageMaker 模型註冊庫並[刪除模型群組](https://docs.aws.amazon.com/sagemaker/latest/dg/model-registry-delete-model-group.html)。然後，您可以將模型版本重新註冊到新的模型群組。

若要檢視模型的狀態，您可以返回 Canvas 應用程式中模型的 **Versions** (版本) 頁面。此頁面顯示每個版本的 **Model Registry** (模型註冊表) 狀態。如果狀態為 `Registered`，則表示已成功註冊模型。

如果您想要檢視已註冊模型版本的詳細資訊，則針對** Model Registry** (模型註冊表) 狀態，您可以將游標暫留在 **Registered** (已註冊) 欄位上，以查看 **Model registry details** (模型登錄檔詳細資訊) 快顯方塊。這些詳細資訊包含更多資訊，例如：
+ **模型套件群組名稱**是您版本在 SageMaker 模型註冊庫中註冊的模型群組。
+ **Approval status** (核准狀態)，可以是 `Pending Approval`、`Approved` 或 `Rejected`。如果 Studio Classic 使用者在 SageMaker 模型註冊庫中核准或拒絕您的版本，則當您重新整理頁面時，模型版本頁面上會更新此狀態。

下列螢幕擷取畫面顯示 **Model registry details** (模型登錄檔詳細資訊) 方塊，以及此特定模型版本 `Approved`的 **Approval status** (核准狀態)。

![\[Canvas 應用程式中 SageMaker 模型註冊庫詳細資訊方塊的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/approved-mr.png)


# 將模型部署到端點
<a name="canvas-deploy-model"></a>

您可以在 Amazon SageMaker Canvas 中將模型部署到端點以進行預測。SageMaker AI 提供 ML 基礎設施，讓您可以在自己所選且具有運算執行個體的端點上託管模型。然後您可以*調用*端點 (發送預測請求) 並從模型中獲取即時預測。您可以透過此功能在生產環境中使用模型來回應傳入請求，並且可以將模型與現有應用程式和工作流程整合。

若要開始使用，您應該具有一個您想要部署的模型。您可以部署已建置的自訂模型版本、Amazon SageMaker JumpStart 基礎模型，以及微調的 JumpStart 基礎模型。如需在 Canvas 中建立模型的更多相關資訊，請參閱[自訂模型的運作方式](canvas-build-model.md)。如需 Canvas 中 JumpStart 基礎模型的詳細資訊，請參閱 [SageMaker Canvas 中的生成式 AI 基礎模型](canvas-fm-chat.md)。

檢閱下列**許可管理**章節，然後在**部署模型**區段中開始建立新的部署。

## 許可管理
<a name="canvas-deploy-model-prereqs"></a>

根據預設，您具有將模型部署到 SageMaker AI 託管端點的許可。SageMaker AI 透過連接至 AWS IAM 執行角的 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerCanvasFullAccess.html) 政策，為所有新的與現有 Canvas 使用者設定檔授與託管 Canvas 應用程式的 SageMaker AI 網域許可。

如果 Canvas 管理員正在設定新網域或使用者設定檔，當他們設定網域並遵循[設定 Amazon SageMaker Canvas 的先決條件](canvas-getting-started.md#canvas-prerequisites)中的先決條件指示時，SageMaker AI 會透過預設為啟用的**啟用 Canvas 模型直接部署**選項，開啟模型註冊許可。

Canvas 管理員也可以在使用者設定檔等級上管理模型部署許可。例如，如果管理員在設定網域時不想要將模型部署許可授予所有使用者設定檔，他們可以在建立網域之後將許可授予特定使用者。

以下程序展示如何修改特定使用者設定檔的模型部署許可：

1. 開啟位在 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 的 SageMaker AI 主控台。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在 **Admin configurations** (管理員組態) 下，選擇 **Domains** (網域)。

1. 從網域清單中選取使用者設定檔的網域。

1. 在**網域詳細資訊**頁面上，選擇**使用者設定檔**索引標籤。

1. 選擇您的**使用者設定檔**。

1. 在使用者設定檔的頁面上，選取**應用程式組態**索引標籤。

1. 在 **Canvas** 區段中，選擇**編輯**。

1. 在 **ML Ops 組態**區段中，開啟**啟用 Canvas 模型直接部署**切換，以啟用部署許可。

1. 選擇**提交**，將變更儲存至您的網域設定。

使用者設定檔現在應該具有模型部署許可。

將許可授予網域或使用者設定檔後，請確定使用者登出其 Canvas 應用程式，然後重新登入以套用許可變更。

## 部署模型
<a name="canvas-deploy-model-deploy"></a>

若要開始部署模型，請在 Canvas 中建立新部署，並指定要與機器學習 (ML) 基礎設施一起部署的模型版本，例如您想要用來託管模型的運算執行個體的類型和數目。

Canvas 會根據您的模型類型建議預設類型和執行個體數目，或者您也可以在 [Amazon SageMaker 定價頁面](https://aws.amazon.com/sagemaker/pricing/)上進一步了解各種 SageMaker AI 執行個體類型。在端點處於作用中狀態時，系統會根據 SageMaker AI 執行個體定價向您收費。

部署 JumpStart 基礎模型時，您也可以選擇指定部署時間的長度。您可以無限期地將模型部署到端點 (表示端點在您刪除部署之前一直處於作用中狀態)。或者，如果您只需要短暫使用端點並希望降低成本，則可以將模型部署到端點一段指定的時間，之後 SageMaker AI 會為您關閉該端點。

**注意**  
如果部署模型一段指定的時間，請在端點持續時間內保持登入 Canvas 應用程式。如果您登出或刪除應用程式，則 Canvas 無法在指定的時間關閉端點。

將模型部署到 SageMaker AI 託管[即時推論端點](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)後，您可以透過*調用*端點開始進行預測。

有幾種不同的方法可讓您從 Canvas 應用程式部署模型。您可以透過下列任一種方法來存取模型部署選項：
+ 在 Canvas 應用程式的**我的模型**頁面上，選擇您要部署的模型。然後，從模型的**版本**面中，選擇模型版本旁邊的**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選取**部署**。
+ 在模型版本的詳細資訊頁面上，請在**分析**索引標籤上選擇**部署**選項。
+ 在模型版本的詳細資訊頁面上，請在**預測**索引標籤上選擇頁面頂端的**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選取**部署**。
+ 在 Canvas 應用程式的 **ML Ops** 頁面上，選擇**部署**索引標籤，然後選擇**建立部署**。
+ 對於 JumpStart 基礎模型和微調基礎模型，請前往 Canvas 應用程式的**即用型模型**頁面。選擇**產生、擷取與摘要內容**。然後，尋找您要部署的 JumpStart 基礎模型或微調基礎模型。選擇模型，然後在模型的聊天頁面上，選擇**部署**按鈕。

這些方法都會開啟 **Deploy model** (部署模型) 側邊面板，您可以在其中指定模型的部署組態。若要從此面板部署模型，請執行下列動作：

1. (選用) 如果您要從 **ML Ops** 頁面建立部署，則可以選擇**選取模型和版本**。使用下拉式清單功能表選取您要部署的模型和模型版本。

1. 在 **Deployment Name** (部署名稱) 欄位中輸入名稱。

1. (僅適用於 JumpStart 基礎模型和微調基礎模型) 選擇**部署長度**。選取**無限期**以讓端點保持作用中狀態，直到您將其關閉為止，或選取**指定長度**，然後輸入您要讓端點保持作用中狀態的時段。

1. 針對**執行個體類型**，SageMaker AI 會偵測適合您模型的預設執行個體類型和數量。但是，您可以變更想要用於託管模型的執行個體類型。
**注意**  
如果 AWS 您的帳戶上所選執行個體類型的執行個體配額用盡，您可以請求增加配額。如需預設配額以及如何請求提高配額的詳細資訊，請參閱《AWS 一般參考指南》**中的 [Amazon SageMaker AI 端點和配額](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html)。

1. 針對**Instance count** (執行個體計數)，您可以設定用於端點的作用中執行個體數目。SageMaker AI 會偵測適合您模型的預設數目，但您可以變更此數字。

1. 當您準備好部署模型時，請選擇 **Deploy** (部署)。

您的模型現在應該部署到端點。

# 檢視您的部署
<a name="canvas-deploy-model-view"></a>

您可能想要在 Amazon SageMaker Canvas 中檢查模型部署的狀態或詳細資訊。例如如果您的部署失敗，您可能想要檢查詳細資訊以進行故障診斷。

您可以從 Canvas 應用程式或從 Amazon SageMaker AI 主控台檢視 Canvas 模型部署。

若要從 Canvas 檢視部署詳細資訊，請選擇下列其中一個程序：

若要從 **ML Ops** 頁面檢視您的部署詳細資訊，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中，選擇 **ML Ops**。

1. 選擇 **Deployment** (部署) 索引標籤。

1. 從清單中選擇您的部署階段名稱。

若要從 model version (模型版本) 頁面檢視您的部署詳細資訊，請執行下列動作：

1. 在 SageMaker Canvas 應用程式中，前往模型版本詳細資訊頁面。

1. 選擇 **Deploy** (部署) 索引標籤。

1. 在列出與該模型版本相關的所有部署組態的 **Deployments** (部署) 區段中，尋找您的部署。

1. 選擇 **More options** (更多選項) 圖示 (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選取 **View details** (檢視詳細資訊) 以開啟詳細資訊頁面。

部署的詳細資訊頁面隨即開啟，您可以檢視最近預測的時間、端點狀態和組態，以及目前部署至端點的模型版本等資訊。

您也可以從 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)中的 **SageMaker AI 儀表板**檢視目前作用中的 Canvas 工作區執行個體和作用中的端點。您的 Canvas 端點會與您建立的任何其他 SageMaker AI 託管端點一起列出，您可以使用 Canvas 標籤搜尋端點來篩選這些端點。

下列螢幕擷取畫面顯示 SageMaker AI 儀表板。在 **Canvas** 區段中，您可以看到一個工作區執行個體正在服務中，而且四個端點處於作用中狀態。

![\[顯示作用中 Canvas 工作區執行個體和端點的 SageMaker AI 儀表板的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-sagemaker-dashboard.png)


# 更新部署組態
<a name="canvas-deploy-model-update"></a>

您可以更新已部署到 Amazon SageMaker Canvas 中端點之模型的部署組態。例如，您可以將更新的模型版本部署到端點，也可以根據您的容量需求，更新端點後面的執行個體類型或執行個體數目。

有幾種不同的方法可讓您從 Canvas 應用程更新式部署。您可以使用下列任意方法：
+ 在 Canvas 應用程式的 **ML Ops** 頁面上，您可以選擇**部署**索引標籤，然後選取您要更新的部署。選擇 **Update configuration** (更新組態)。
+ 在模型版本的詳細資訊頁面上，您可以在 **Deploy** (部署) 索引標籤上檢視該版本的部署。在部署旁邊，選擇 **More options** (更多選項) 圖示 (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，然後選擇 **Update configuration** (更新組態)。

上述兩種方法都會開啟 **Update configuration** (更新組態) 側邊面板，您可以在其中變更部署組態。若要更新組態，請執行以下步驟：

1. 在 **Select version** (選取版本) 下拉式清單功能表，您可以選取要部署到端點的不同模型版本。
**注意**  
在更新部署組態時，您只能選擇要部署的不同模型版本。若要部署不同的模型，請建立新部署。

1. 您可以在 **Instance type** (執行個體類型) 選取不同的執行個體類型來託管您的模型。

1. 針對 **Instance count** (執行個體計數)，您可以變更用於端點的作用中執行個體數目。

1. 選擇**儲存**。

您的部署組態現在應該已更新。

# 測試您的部署
<a name="canvas-deploy-model-test"></a>

您可以透過 Amazon SageMaker Canvas 應用程式調用端點或提出單一預測請求來測試模型部署。在生產環境中以程式設計方式調用端點之前，您可以使用此功能來確認端點是否回應請求。

## 測試自訂模型部署
<a name="canvas-deploy-model-test-custom"></a>

您可以測試自訂模型部署，方法是透過 **ML Ops** 頁面存取該部署並進行單一調用，這會傳回預測以及預測正確的機率。

**注意**  
執行長度是在 Canvas 中調用和從端點獲取回應所花費的時間的估計值。如需詳細的延遲指標，請參閱 [SageMaker AI 端點調用指標](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-endpoint-invocation)。

若要透過 Canvas 應用程式測試端點，請執行以下動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中，選擇 **ML Ops**。

1. 選擇 **Deployment** (部署) 索引標籤。

1. 從部署清單中選擇具有您要調用之端點的部署。

1. 在部署詳細資料頁面上，選擇 **Test deployment** (測試部署) 索引標籤。

1. 在部署測試頁面上，您可以修改 **Value** (值) 欄位以指定新資料點。對於時間序列預測模型，您可以指定要對其進行預測的**項目 ID**。

1. 修改值後，選擇 **Update** (更新) 以取得預測結果。

預測會連同以及 **Invocation result** (調用結果) 欄位一同載入，這些欄位指出調用是否成功，以及要求處理請求所花費的時間。

下列螢幕擷取畫面顯示在 **Test deployment** (測試部署) 索引標籤的 Canvas 應用程式中執行的預測。

![\[Canvas 應用程式，其中顯示已部署模型的測試預測。\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/canvas-test-deployments.png)


針對除了數值預測和時間序列預測以外的所有模型類型，預測會傳回下列欄位：
+  **predicted\$1label** - 預測的輸出
+  **機率** - 預測標籤正確的概率
+  **標籤** - 所有可能的標籤清單
+  **概率** - 與每個標籤對應的概率 (此清單的順序與標籤的順序符合)

針對數字預測模型，預測僅包含**分數**欄位，即模型的預測輸出，例如房屋的預測定價。

對於時間序列預測模型，預測是依分位數顯示預測的圖表。您可以選擇**結構描述檢視**來查看每個分位數的預測數值。

您可以透過部署測試頁面繼續進行單一預測，或者您可以檢視下方[調用您的端點](canvas-deploy-model-invoke.md)區段，了解如何以程式設計方式從應用程式調用端點。

## 測試 JumpStart 基礎模型部署
<a name="canvas-deploy-model-test-js"></a>

您可以透過 Canvas 應用程式與部署的 JumpStart 基礎模型聊天，以在透過程式碼調用該模型之前測試其功能。

若要與部署的 JumpStart 基礎模型聊天，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中，選擇 **ML Ops**。

1. 選擇 **Deployment** (部署) 索引標籤。

1. 從部署清單中，尋找您要調用的部署，然後選擇其**更多選項**圖示 (![\[More options icon for a model deployment.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 從內容功能表中，選擇**測試部署**。

1. 新的**產生、擷取和摘要說明內容**聊天會搭配 JumpStart 基礎模型開啟，而且您可以開始輸入提示。請注意，來自此聊天的提示會以請求的形式傳送至 SageMaker AI 託管端點。

# 調用您的端點
<a name="canvas-deploy-model-invoke"></a>

**注意**  
建議您先在 [Amazon SageMaker Canvas 中測試模型部署](canvas-deploy-model-test.md)，再以程式設計方式調用 SageMaker AI 端點。

您可以使用已部署到生產環境中 SageMaker AI 端點的 Amazon SageMaker Canvas 模型搭配您的應用程式。採用您調用任何其他 [SageMaker AI 即時端點](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints.html)的同一方式，以程式設計方式調用端點。以程式設計方式調用端點會傳回一個回應物件，其中包含[測試您的部署](canvas-deploy-model-test.md)所述的相同欄位。

如需如何以程式設計方式調用端點的詳細資訊，請參閱[調用模型以進行即時推論](realtime-endpoints-test-endpoints.md)。

以下 Python 範例向您展示如何根據模型類型調用端點。

## JumpStart 基礎模型
<a name="canvas-invoke-js-example"></a>

下列範例展示如何調用已部署至端點的 JumpStart 基礎模型。

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame(
    [['feature_column1', 'feature_column2'], 
    ['feature_column1', 'feature_column2']]
).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## 數值和分類預測模型
<a name="canvas-invoke-tabular-example"></a>

下列範例展示如何調用數值或類別預測模型。

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame(['feature_column1', 'feature_column2'], ['feature_column1', 'feature_column2']).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## 時間序列預測模型
<a name="canvas-invoke-forecast-example"></a>

下列範例展示如何調用時間序列預測模型。如需如何測試調用時間序列預測模型的完整範例，請參閱[使用 Amazon SageMaker Autopilot 進行時間序列預測](https://github.com/aws/amazon-sagemaker-examples/blob/eef13dae197a6e588a8bc111aba3244f99ee0fbb/autopilot/autopilot_time_series.ipynb)。

```
import boto3
import pandas as pd

csv_path = './real-time-payload.csv'
data = pd.read_csv(csv_path)

client = boto3.client("runtime.sagemaker")

body = data.to_csv(index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

## 影像預測模型
<a name="canvas-invoke-cv-example"></a>

下列範例展示如何調用影像預測模型。

```
import boto3
client = boto3.client("runtime.sagemaker")
with open("example_image.jpg", "rb") as file:
    body = file.read()
    response = client.invoke_endpoint(
        EndpointName="endpoint_name",
        ContentType="application/x-image",
        Body=body,
        Accept="application/json"
    )
```

## 文字預測模型
<a name="canvas-invoke-nlp-example"></a>

下列範例展示如何調用文字預測模型。

```
import boto3
import pandas as pd

client = boto3.client("runtime.sagemaker")
body = pd.DataFrame([["Example text 1"], ["Example text 2"]]).to_csv(header=False, index=False).encode("utf-8")
    
response = client.invoke_endpoint(
    EndpointName="endpoint_name",
    ContentType="text/csv",
    Body=body,
    Accept="application/json"
)
```

# 刪除模型部署
<a name="canvas-deploy-model-delete"></a>

您可以從 Amazon SageMaker Canvas 應用程式刪除模型部署。此動作也會從 SageMaker AI 主控台刪除端點，並關閉任何端點相關的資源。

**注意**  
或者，您可以透過 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)或使用 SageMaker AI `DeleteEndpoint` API 刪除端點。如需詳細資訊，請參閱[刪除端點和資源](realtime-endpoints-delete-resources.md)。但是當您透過 SageMaker AI 主控台或 API 而非 Canvas 應用程式刪除端點時，Canvas 中的部署清單不會自動更新。您也必須從 Canvas 應用程式刪除部署，才能將其從清單中移除。

若要刪除 Canvas 中的部署，請執行下列動作：

1. 開啟 SageMaker Canvas 應用程式。

1. 在左側導覽窗格中，選擇 **ML Ops**。

1. 選擇 **Deployment** (部署) 索引標籤。

1. 從部署清單中選擇具有您要刪除目標的部署。

1. 在部署詳細資訊頁面頂端，選擇 **More options** (更多選項) 圖示 (![\[More options icon for the output CSV file.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 選擇 **Delete deployment** (刪除部署)。

1. 在 **Delete deployment** (刪除部署) 對話方塊中，選擇 **Delete** (刪除)。

您的部署和 SageMaker AI 託管端點現在應該同時從 Canvas 和 SageMaker AI 主控台中刪除。

# 如何管理自動化
<a name="canvas-manage-automations"></a>

您可以在 SageMaker Canvas 中建立自動化來更新資料集，或依排程從模型產生預測。例如，您可能每天都會收到新的運送資料。您可以設定資料集自動更新，並在資料集更新時執行自動批次預測。使用這些功能，您可以設定自動化工作流程，並減少手動更新資料集和進行預測所花費的時間。

**注意**  
您最多只能在 Canvas 應用程式中設定 20 個自動組態。只有在您登入 Canvas 應用程式時，自動化才會處於作用中狀態。如果您登出 Canvas 應用程式，則自動工作會暫停，直到您重新登入為止。

以下章節描述如何檢視、編輯和刪除現有自動化的組態。若要了解如何設定自動化，請參閱下列主題：
+ 若要設定自動資料集更新，請參閱[更新資料集](canvas-update-dataset.md)。
+ 若要設定自動批次預測，請參閱[SageMaker Canvas 中的批次預測](canvas-make-predictions-batch.md)。

**Topics**
+ [檢視自動化](canvas-manage-automations-view.md)
+ [編輯自動組態](canvas-manage-automations-edit.md)
+ [刪除自動組態](canvas-manage-automations-delete.md)

# 檢視自動化
<a name="canvas-manage-automations-view"></a>

您也可以前往 Canvas 的左側導覽窗格並選擇 **ML Ops**，來檢視所有自動更新任務。**ML 操作**頁面結合了自動資料集更新和自動批次預測的自動化。在**自動化**索引標籤上，您可以看到下列子索引標籤：
+ **All jobs** (所有工作) - 您可以查看 Canvas 已完成的**資料集更新**或**批次預測**工作的每個執行個體。針對每項工作，您都可以看到相關的 **Input dataset** (輸入資料集)、相關自動更新組態的 **Configuration name** (組態名稱)，以及顯示工作是否成功的 **Status** (狀態)等欄位。您可以依組態名稱篩選工作：
  + 針對資料集更新工作，您可以選擇資料集的最新版本或最近工作來預覽資料集。
  + 針對批次預測任務，您可以選擇**更多選項**圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png)) 來預覽或下載該任務的預測。您也可以選擇**檢視詳細資訊**，以查看預測任務的更多詳細資訊。如需批次預測任務詳細資訊的詳細資訊，請參閱[檢視您的批次預測任務](canvas-make-predictions-batch-auto-view.md)。
+ **Configuration** (組態) - 您可以查看所有已建立的 **Dataset update** (資料集更新) 和 **Batch prediction** (批次預測) 配置。針對每個配置，您都可以看到相關的 **Input dataset** (輸入資料集) 和工作的 **Frequency** (頻率) 等欄位。您也可以關閉或開啟 **Auto update** (自動更新) 切換開關，以暫停或繼續自動更新。如果您為特定組態選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))，您可以選擇組態的 **View all jobs** (檢視所有工作)、**Update configuration** (更新組態) 或 **Delete configuration** (刪除組態)。

# 編輯自動組態
<a name="canvas-manage-automations-edit"></a>

設定組態後，您可能想要對其進行變更。針對自動資料集更新，您可以更新 Canvas 的 Amazon S3 位置，以匯入資料、更新頻率和開始時間。針對自動批次預測，您可以變更組態追蹤更新的資料集。您也可以關閉自動化操作以暫停更新，直到您選擇繼續更新為止。

以下章節為您展示如何更新每種類型的組態。

**注意**  
您無法變更自動批次預測的頻率，因為每次更新目標資料集時都會執行自動批次預測。

**Topics**
+ [編輯自動資料集更新組態](canvas-manage-automations-edit-dataset.md)
+ [編輯自動批次預測設定](canvas-manage-automations-edit-batch.md)

# 編輯自動資料集更新組態
<a name="canvas-manage-automations-edit-dataset"></a>

您可能想要變更資料集的自動更新組態，例如變更更新頻率。您也可能希望關閉自動更新組態，以暫停資料集的更新。

若要變更資料集的自動更新組態，請執行下列動作：

1. 在 Canvas 左側導覽窗格中，選擇 **ML Ops**。

1. 選擇**自動化**索引標籤。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 針對您的自動更新組態，請選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 在下拉式清單功能表中選擇 **Update configuration** (更新組態)。您會被導向至資料集的 **Auto updates** (自動更新) 索引標籤。

1. 對組態進行變更。修改完成後，請選擇 **Save** (儲存)。

若要暫停資料集更新，請關閉自動組態。若要關閉自動更新的請執行以下動作：

1. 在 Canvas 左側導覽窗格中，選擇 **ML Ops**。

1. 選擇**自動化**索引標籤。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 從清單中尋找您的組態，然後關閉 **Auto update** (自動更新) 切換開關。

資料集的自動更新現在已暫停。您可以隨時重新開啟此切換，以繼續更新排程。

# 編輯自動批次預測設定
<a name="canvas-manage-automations-edit-batch"></a>

當您編輯批次預測設定時，您可以變更目標資料集，但無法變更頻率 (因為每當資料集更新時，都會自動進行批次預測)。

若要變更自動批次更新組態，請執行下列動作：

1. 在 Canvas 左側導覽窗格中，選擇 **ML Ops**。

1. 選擇**自動化**索引標籤。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 針對您的自動更新組態，請選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 在下拉式清單功能表中選擇 **Update configuration** (更新組態)。您會被導向至資料集的 **Auto updates** (自動更新) 索引標籤。

1. **Automate batch prediction** (自動批次預測) 對話方塊隨即彈出。您可以選取其他資料集，然後選擇 **Set up** (設定) 以儲存變更。

您的自動批次預測設定現已更新。

若要暫停自動批次預測，請關閉自動組態。若要關閉組態，請使用下列程序：

1. 在 Canvas 左側導覽窗格中，選擇 **ML Ops**。

1. 選擇**自動化**索引標籤。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 從清單中尋找您的組態，然後關閉 **Auto update** (自動更新) 切換開關。

資料集的自動批次預測現已暫停。您可以隨時重新開啟此切換，以繼續更新排程。

# 刪除自動組態
<a name="canvas-manage-automations-delete"></a>

您可能想要刪除組態，以停止在 SageMaker Canvas 中的自動化工作流程。

若要刪除自動資料集更新或自動批次預測的設定，請執行下列動作：

1. 在 Canvas 左側導覽窗格中，選擇 **ML Ops**。

1. 選擇**自動化**索引標籤。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 尋找您的自動更新組態並選擇 **More options** (更多選項) 圖示 (![\[Vertical ellipsis icon representing a menu or more options.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/more-options-icon.png))。

1. 選擇 **Delete configuration (刪除組態)**。

1. 在彈出的對話方塊中，選擇 **Delete** (刪除)。

您的自動更新組態現在已刪除。

# 登出 Amazon SageMaker Canvas
<a name="canvas-log-out"></a>

在 Amazon SageMaker Canvas 中完成您的工作之後，您可以登出或設定應用程式以自動終止*工作區執行個體*。有一個工作區執行個體會在您每次啟動 Canvas 應用程式時專供您使用，而且只要該執行個體執行，就會向您收取費用。登出或終止工作區執行個體會停止工作區執行個體計費。如需詳細資訊，請參閱 [SageMaker 定價](https://aws.amazon.com/sagemaker/pricing/)。

下列各節描述如何登出您的 Canvas 應用程式，以及如何設定您的應用程式以根據排程自動關閉。

## 登出 Canvas
<a name="canvas-log-out-how-to"></a>

當您登出 Canvas 時，您的模型和資料集不會受到影響。即使您登出，任何快速或標準模型建置或[大型資料處理任務](canvas-export-data.md#canvas-export-data-s3)仍會繼續執行。

若要登出，請選擇 SageMaker Canvas 應用程式左面板上的**登出**按鈕 (![\[Filter icon in the SageMaker Canvas app.\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/canvas/logout-icon.png))。

您也可以關閉瀏覽器索引標籤，然後在主控台中[刪除應用程式](canvas-manage-apps-delete.md)，藉此從 SageMaker Canvas 應用程式登出。

登出後，SageMaker Canvas 會告訴您在不同的索引標籤中重新啟動。登入大約需要 1 分鐘。如果您有管理員為您設定 SageMaker Canvas，請使用他們提供的指示重新登入。如果沒有管理員，請參閱[設定 Amazon SageMaker Canvas 的先決條件](canvas-getting-started.md#canvas-prerequisites)。

## 自動關閉 Canvas
<a name="canvas-auto-shutdown"></a>

如果您是 Canvas 管理員，建議您定期關閉應用程式以降低成本。您可以建立排程來關閉作用中的 Canvas 應用程式，也可以建立自動化，以在 Canvas 應用程式*閒置*時立即將其關閉 (表示使用者已有 2 小時未有任何動作)。

您可以使用呼叫 `DeleteApp` API 的 AWS Lambda 函數建立這些解決方案，並在特定條件下刪除 Canvas 應用程式。如需有關這些解決方案和存取您可以使用之 CloudFormation 範本的詳細資訊，請參閱部落格透過[自動關閉閒置應用程式來最佳化 Amazon SageMaker Canvas 的成本](https://aws.amazon.com/blogs/machine-learning/optimizing-costs-for-amazon-sagemaker-canvas-with-automatic-shutdown-of-idle-apps/)。

**注意**  
如果在設定閒置關閉排程時發生錯誤或發生 CloudWatch 錯誤，您可能遭遇缺失 [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 指標。我們建議您新增 CloudWatch 警示來監控是否缺失指標。如果您遇到此問題，請聯絡 支援 尋求協助。

# 限制與故障診斷
<a name="canvas-limits"></a>

以下章節概述了使用 Amazon SageMaker Canvas 時適用的故障診斷說明和限制。您可以使用這些主題來協助您進行任何問題的故障診斷。

## 針對透過 SageMaker AI 主控台授予許可的問題進行故障診斷
<a name="canvas-troubleshoot-trusted-services"></a>

如果您在將 Canvas 基本許可或Ready-to-use型模型許可授予使用者時遇到問題，您的使用者可能會有與 AWS 其他服務具有多個信任關係的 AWS IAM 執行角色。信任關係是連接至您角色的政策，可定義哪些主體者 (使用者、角色、帳戶或服務) 可以擔任該角色。例如，如果使用者的執行角色與 Amazon SageMaker AI 和 Amazon Forecast 具有信任關係，您可能會遇到將其他 Canvas 許可授予使用者的問題。

若要修正此問題，請選擇下列其中一個選項。

### 1. 從角色中移除所有信任服務，僅留下一個。
<a name="canvas-troubleshoot-trusted-services-remove"></a>

此解決方案需要您編輯使用者設定檔 IAM 角色的信任關係，並移除 SageMaker AI 以外的所有 AWS 服務。

若要編輯 IAM 執行角色的信任關係，請執行下列動作：

1. 移至 IAM 主控台 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在 IAM 主控台的導覽窗格中，選擇**角色**。主控台會顯示您帳戶的角色。

1. 選擇您要修改之角色的名稱，然後在詳細資訊頁面上，選取**信任關係**標籤。

1. 選擇**編輯信任政策**。

1. 在**編輯信任政策編輯器**，貼上以下內容，然後選擇**更新政策**。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

您也可以使用 IAM CLI 更新此政策文件。如需詳細資訊，請參閱 *IAM 命令行參考*中的 [update-trust](https://docs.aws.amazon.com/cli/latest/reference/ds/update-trust.html)。

您現在可以重試將 Canvas 基礎許可或即用型模型許可授予您的使用者。

### 2. 在一個或更少的可信服務上使用不同的角色。
<a name="canvas-troubleshoot-trusted-services-alternate"></a>

此解決方案要求您為使用者設定檔指定不同的 IAM 角色。如果您已經有可以替代的 IAM 角色，則可使用此選項。

若要為使用者指定其他執行角色，請執行以下動作：

1. 開啟 Amazon SageMaker AI 主控台，網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格中，選擇**管理員組態**。

1. 在**管理員組態**下，選擇**網域**。

1. 從網域清單中，選取您要檢視其使用者設定檔清單的網域。

1. 在**網域詳細資訊**頁面上，選擇**使用者設定檔**索引標籤。

1. 選擇您想要編輯其許可的使用者。在**使用者詳細資訊**頁面，選擇**編輯**。

1. 在**一般設定**頁面上，選擇**執行角色**下拉式清單，然後選取要使用的角色。

1. 選擇**提交**，將變更儲存至使用者設定檔。

您的使用者現在應該只使用一個受信任服務 (SageMaker AI) 的執行角色。

您可以重試將 Canvas 基礎許可或即用型模型許可授予您的使用者。

### 3. 手動將 AWS 受管政策連接至執行角色，而不是使用 SageMaker AI 網域設定中的切換。
<a name="canvas-troubleshoot-trusted-services-manual"></a>

您可以手動連接 AWS 受管政策，授予使用者正確許可，而非使用網域或使用者設定檔設定中的切換。

要授予使用者 Canvas 基本許可，請連接 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess)。要授予使用者即用型許可，請連接 [AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) 政策。

使用下列程序將 AWS 受管政策連接至您的角色：

1. 移至 IAM 主控台 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 選擇**角色**。

1. 在搜尋方塊中，依據名稱搜尋使用者的 IAM 角色並加以選取。

1. 在使用者角色頁面的**許可**下，選擇**新增許可**。

1. 在下拉式清單中，選擇**連接政策**。

1. 搜尋並選取要連接至使用者執行角色的一個或多個政策：

   1. 要授予 Canvas 基本許可，請搜尋並選擇 [AmazonSageMakerCanvasFullAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasFullAccess) 政策。

   1. 要授予即用型基本許可，請搜尋並選擇 [AmazonSageMakerCanvasAIServicesAccess](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-canvas.html#security-iam-awsmanpol-AmazonSageMakerCanvasAIServicesAccess) 政策。

1. 選擇**新增許可**以將政策連接到角色。

透過 IAM 主控台將 AWS 受管政策連接至使用者的角色之後，您的使用者現在應該擁有 Canvas 基本許可或Ready-to-use型模型許可。

## 針對由於空間而無法建立 Canvas 應用程式的問題進行故障診斷
<a name="canvas-troubleshoot-spaces"></a>

建立新的 Canvas 應用程式時，如果您遇到錯誤，指出 `Unable to create app <app-arn> because space <space-arn> is not in InService state`，這表示基礎 Amazon SageMaker Studio 空間建立失敗。Studio *空間*是託管 Canvas 應用程式資料的基礎儲存體。如需更多有關 Studio 空間的一般資訊，請參閱 [Amazon SageMaker Studio 空間](studio-updated-spaces.md)。如需在 Canvas 中設定空間的詳細資訊，請參閱[將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker AI 空間](canvas-spaces-setup.md)。

若要判斷空間建立失敗的根本原因，您可以使用 [DescribeSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeSpace.html) API 檢查 `FailureReason` 欄位。如需空間可能狀態及其含義的詳細資訊，請參閱 [Amazon SageMaker AI 網域實體和狀態](sm-domain.md)。

若要解決此問題，請在 SageMaker AI 主控台中找出您的網域，並刪除您收到的錯誤訊息中列出的失敗空間。如需如何尋找和刪除空間的詳細步驟，請參閱頁面[停止並刪除您的執行中 Studio 應用程式和空間](studio-updated-running-stop.md)並遵循**刪除 Studio 空間**的指示。刪除空間也會刪除與空間相關聯的任何應用程式。刪除空間後，您可以嘗試再次建立 Canvas 應用程式。空間現在應該已成功佈建，允許 Canvas 啟動。

# SageMaker Canvas 中的計費和成本
<a name="canvas-manage-cost"></a>

若要追蹤與 SageMaker Canvas 應用程式相關的成本，您可以使用 AWS 帳單與成本管理 服務。帳單和成本管理提供實用工具來協助您收集成本和用量相關資訊、分析您的成本驅動因素和用量趨勢，以及採取行動來預算您的支出。如需詳細資訊，請參閱[什麼是 AWS 帳單與成本管理？](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html)

SageMaker Canvas 中的帳單由下列元件組成：
+ 工作區執行個體費用 - 系統會根據您登入或使用 SageMaker Canvas 的小時數向您收費。我們建議您登出或建立排程，以關閉您未主動用來降低成本的任何 Canvas 應用程式。如需詳細資訊，請參閱[登出 Amazon SageMaker Canvas](canvas-log-out.md)。
+ AWS 服務費用 – 您使用自訂模型建置和進行預測，或使用Ready-to-use模型進行預測，需支付費用：
  + 訓練費用 - 針對所有模型類型，會根據您建置模型時的資源用量向您收費。這些資源包含 Canvas 啟動的任何運算執行個體。您可能會在帳戶上看到這些費用，例如託管、訓練、處理或批次轉換任務產生的費用。
  + 預測費用 - 根據您建立的自訂模型類型或您使用的即用型類型，您需要基於用於產生預測的資源收費。

Canvas 中的[Ready-to-use型模型](canvas-ready-to-use-models.md)會利用其他 AWS 服務來產生預測。當您使用即用型模式時，您會按相應的服務以及其適用定價條件向您收費：
+ 針對情緒分析、實體擷取、語言偵測和個人資訊偵測，您需根據 [Amazon Comprehend 定價](https://aws.amazon.com/comprehend/pricing/)支付費用。
+ 針對影像中的物件偵測和影像中的文字偵測，會根據 [Amazon Rekognition 定價](https://aws.amazon.com/rekognition/pricing/)支付費用。
+ 針對費用分析、身分文件分析和文件分析，會根據 [Amazon Textract 定價](https://aws.amazon.com/textract/pricing/)支付費用。

如需更多資訊，請參閱 [SageMaker Canvas 定價](https://aws.amazon.com/sagemaker/canvas/pricing/)。

為了協助您在帳單和成本管理中追蹤成本，您可以為 SageMaker Canvas 應用程式和使用者指派自訂標籤。您可以追蹤應用程式產生的成本，並標記個別使用者設定檔，您可以根據使用者設定檔追蹤成本。如需關於標籤的更多相關資訊，請參閱[使用成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。

您可以透過執行下列動作，將標籤新增至 SageMaker Canvas 應用程式和使用者：
+ 如果您是第一次設定 Amazon SageMaker AI 網域和 SageMaker Canvas，請遵循[開始使用](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html)指示，並在建立網域或使用者時新增標籤。您可以透過網域主控台設定中的**一般設定**，或透過 API ([CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) 或 [CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html)) 來新增標籤。SageMaker AI 會將您網域或使用者設定檔中指定的標籤新增至您建立網域後，所建立的任何 SageMaker Canvas 應用程式或使用者。
+ 如果您想要將標籤新增至現有網域中的應用程式，您必須將標籤新增至網域或使用者設定檔。您可以透過主控台或 [AddTags](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AddTags.html) API 來新增標籤。如果您透過主控台新增標籤，則必須刪除並重新啟動 SageMaker Canvas 應用程式，才能將標籤傳播到應用程式。如果您使用 API，則標籤會直接新增至應用程式。如需有關刪除和重新啟動 SageMaker Canvas 應用程式的更多相關資訊，請參閱[管理應用程式](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-manage-apps.html)。

將標籤新增至網域後，標籤最多可能需要 24 小時才會出現在 AWS 帳單與成本管理 主控台中以啟用。出現在主控台中之後，標籤需要另外 24 小時才能啟用。

在 **Cost Explorer** 頁面上，您可以依標籤和用量類型來分組和篩選成本，以區隔工作區執行個體費用與訓練費用。每個的費用列示如下：
+ 工作區執行個體費用：費用會顯示在用量類型 `REGION-Canvas:Session-Hrs (Hrs)` 下。
+ 訓練費用：費用會顯示在 SageMaker AI 託管、訓練、處理或批次轉換任務的用量類型下。