

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

# 自訂模型的運作方式
<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** (模型配方) 區段移除轉換，則新資料欄會從資料集中移除。