

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

# 使用 AutoML API 建立表格式資料的迴歸或分類任務
<a name="autopilot-automate-model-development-create-experiment"></a>

您可以透過以 Autopilot 或 AWS CLI支援的任何語言呼叫 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API 動作，以程式設計方式為表格式資料建立 Autopilot 迴歸或分類任務。以下是 `CreateAutoMLJobV2` API 作業的強制性和選用輸入請求參數的集合。您可以找到此操作先前版本的替代資訊 `CreateAutoMLJob`。不過，我們建議您使用 `CreateAutoMLJobV2`。

有關此 API 動作如何以您選擇的語言轉換為函式的詳細資訊，請參閱 `CreateAutoMLJobV2` 的[另請參閱](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)章節，並選擇 SDK。例如，對於 Python 使用者，請參閱 適用於 Python (Boto3) 的 AWS SDK中 `[create\$1auto\$1ml\$1job\$1v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` 的完整要求語法。

**注意**  
[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) 與 [DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html) 是 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) 及 [DescribeAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJob.html) 的新版本，提供向後相容性。  
我們建議使用 `CreateAutoMLJobV2`。`CreateAutoMLJobV2` 可以管理與舊版本 `CreateAutoMLJob` 相同的表格問題類型，以及非表格問題類型，例如影像或文字分類，或時間序列預測。

表格式資料上的所有實驗至少都需要實驗名稱的規格、提供輸入和輸出資料的位置，以及指定要預測的目標資料。或者，您也可以選擇指定要解決的問題類型 (迴歸、分類、多類別分類)、選擇建模策略 (*堆疊整合*或*超參數最佳化*)、選取 Autopilot 任務用來訓練資料的演算法清單等等。

 實驗執行之後，您可以比較試驗，並深入研究每個模型的預處理步驟、演算法和超參數範圍的詳細資訊。您還可以選擇下載他們的[可解釋性](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-explainability.html)與[效能](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-insights.html)報告。使用提供的[筆記本](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development-notebook-output.html )來查看自動化資料探索或候選模型定義的結果。

尋找有關如何將 [將 CreateAutoMLJob 移轉到 CreateAutoMLJobV2](#autopilot-create-experiment-api-migrate-v1-v2) 的 `CreateAutoMLJob` 移轉到 `CreateAutoMLJobV2` 的指南。

## 必要參數
<a name="autopilot-create-experiment-api-required-params"></a>

------
#### [ CreateAutoMLJobV2 ]

當呼叫 `[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` 建立表格式資料的 Autopilot 實驗時，您必須提供下列值：
+ 用 `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)` 指定您的任務名稱。
+ 在 `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` 中至少有一個 `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` 來指定您的資料來源。
+ `[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobObjective)` 指標及 `AutoMLProblemTypeConfig` 內您選擇的監督學習問題類型 (二進位分類、多類分類、迴歸)，或根本沒有。對於表格式資料，您必須選擇 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作為 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的類型。您在 `TabularJobConfig` 的 `ProblemType` 屬性設定了監督學習問題。
+ `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` 用於指定存放 AutoML 任務成品的 Amazon S3 輸出路徑。
+ `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` 用來指定用於存取您的資料的角色的 ARN。

------
#### [ CreateAutoMLJob ]

當呼叫 `[CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html)` 建立 AutoML 實驗時，您必須提供以下四個值：
+ `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobName)` 用來指定工作名稱。
+ 在 `[AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html)` 中至少有一個 `[InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig)` 來指定您的資料來源。
+ `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)` 用於指定存放 AutoML 任務成品的 Amazon S3 輸出路徑。
+ `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)` 用來指定用於存取您的資料的角色的 ARN。

------

所有其他參數都是選用參數。

## 選用的參數
<a name="autopilot-create-experiment-api-optional-params"></a>

下列各節提供一些選用參數的詳細資訊，您可以在使用表格式資料時傳送至 `CreateAutoMLJobV2` API 作業。您可以找到此操作先前版本的替代資訊 `CreateAutoMLJob`。不過，我們建議您使用 `CreateAutoMLJobV2`。

### 如何設定 AutoML 任務的訓練模式
<a name="autopilot-set-training-mode"></a>

對於表格式資料，在資料上執行訓練模型候選模型的演算法集取決於您的建模策略 (`ENSEMBLING` 或 `HYPERPARAMETER_TUNING`)。以下詳細說明如何設定此訓練模式。

如果您保留空白 (或 `null`)，則會根據您的資料集大小來推論 `Mode`。

如需 Autopilot 的*堆疊式整合*與*超參數最佳化*訓練方法的資訊，請參閱[訓練模式與演算法支援](autopilot-model-support-validation.md)

------
#### [ CreateAutoMLJobV2 ]

對於表格式資料，您必須選擇 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作為 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的類型。

您可以使用 `[TabularJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 參數設定 AutoML 任務 V2 的[訓練方法](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)。

------
#### [ CreateAutoMLJob ]

您可以使用 `[AutoMLJobConfig.Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-Mode)` 參數設定 AutoML 任務的[訓練方法](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html)。

------

### 如何選取用於訓練 AutoML 任務的特徵與演算法
<a name="autopilot-feature-selection"></a>

#### 特徵選取
<a name="autopilot-automl-job-feature-selection-api"></a>

Autopilot 提供自動資料預處理步驟，包括特徵選擇和特徵擷取。但是，您可以手動提供要在訓練 `FeatureSpecificatioS3Uri` 屬性時使用的特徵。

選取的特徵應包含在以下格式的 JSON 檔案中：

```
{ "FeatureAttributeNames":["col1", "col2", ...] }
```

`["col1", "col2", ...]` 中所列出的值會區分大小寫。它們應該是包含唯一值的字串清單，這些值是輸入資料中列名稱的子集。

**注意**  
提供為特徵的欄位清單不能包含目標欄位。

------
#### [ CreateAutoMLJobV2 ]

對於表格式資料，您必須選擇 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作為 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的類型。

您可以使用 `[TabularJobConfig.FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 參數將 URL 設定為您選取的特徵。

------
#### [ CreateAutoMLJob ]

您可以使用以下格式在 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html) 中設定 [AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) 的 `FeatureSpecificatioS3Uri` 屬性：

```
{
    "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[FeatureSpecificationS3Uri](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-FeatureSpecificationS3Uri)":"string"
            },
       }
  }
```

------

#### 演算法選擇
<a name="autopilot-automl-job-algorithms-selection-api"></a>

預設情況下，您的 Autopilot 任務會在您的資料集執行預先定義的演算法清單來訓練候選模型。演算法清單取決於任務所使用的訓練模式 (`ENSEMBLING` 或 `HYPERPARAMETER_TUNING`)。

您可以提供預設演算法選取的子集。

------
#### [ CreateAutoMLJobV2 ]

對於表格式資料，您必須選擇 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作為 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的類型。

您可以在 [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html) 的 `AlgorithmsConfig` 屬性指定選定的 `AutoMLAlgorithms` 陣列。

下面是 `AlgorithmsConfig` 屬性的例子，在其 `AutoMLAlgorithms` 欄位恰好列出了三種演算法 (”xgboost”、“fastai”、“catboost”)，用於整合訓練模式。

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": {
          "[Mode](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)": "ENSEMBLING",
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["xgboost", "fastai", "catboost"]}
            ]
         },
       },
     },
  }
```

------
#### [ CreateAutoMLJob ]

您可以在 [AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) 的 `AlgorithmsConfig` 屬性指定選定的 `AutoMLAlgorithms` 的陣列。

下面是 `AlgorithmsConfig` 屬性的例子，在其 `AutoMLAlgorithms` 欄位恰好列出了三種演算法 (「XGBoost」、「fastai」、「catboost」)，用於整合訓練模式。

```
{
   "[AutoMLJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-AutoMLJobConfig)": {
        "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html#sagemaker-Type-AutoMLCandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)":["xgboost", "fastai", "catboost"]}
            ]
         },
     "Mode": "ENSEMBLING" 
  }
```

------

如需每項訓練的可用演算法清單 `Mode`，請參閱 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)。如需每個演算法的詳細資訊，請參閱[訓練模式與演算法支援](autopilot-model-support-validation.md)。

### 如何指定 AutoML 任務的訓練與驗證資料集
<a name="autopilot-data-sources-training-or-validation"></a>

您可以提供自己的驗證資料集和自訂資料分割比例，或讓 Autopilot自動分割資料集。

------
#### [ CreateAutoMLJobV2 ]

每個 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) 物件 (請參閱 [AutomlJobinputDataConfig](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) 所需的參數) 都有一個 `ChannelType`，可以設定為 `training` 或 `validation` 值，指定建構機器學習模型時如何使用資料。至少必須提供一個資料來源，最多允許兩個資料來源：一個用於訓練資料，另一個用於驗證資料。

將資料分割為訓練和驗證資料集的方式，取決於您有一個或兩個資料來源。
+ 如果您只有**一個資料來源**，則`ChannelType`依預設會將其設定為`training`，且必須具有此值。
  + 如果未設定 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) 中的 `ValidationFraction` 值，則預設會使用來自此來源的 0.2 (20%) 資料進行驗證。
  + 如果設定`ValidationFraction`為介於 0 和 1 之間的值，則會根據指定的值來分割資料集，其中值會指定用於驗證的資料集分數。
+ 如果您有**兩個資料來源**，則必須將其中一個`AutoMLJobChannel`物件的`ChannelType`設定為`training`，即預設值。其他資料來源的`ChannelType`必須設定為`validation`。這兩個資料來源必須具有相同的格式 (CSV 或 Parquet)，以及相同的結構描述。在這種情況下，您不得設定`ValidationFraction`的值，因為每個來源的所有資料都會用於訓練或驗證。設定此值會導致錯誤。

------
#### [ CreateAutoMLJob ]

每個 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) 物件 (請參閱 [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig) 所需的參數) 都有一個 `ChannelType`，可以設定為 `training` 或 `validation` 值，指定在建立機器學習模型時如何使用資料。至少必須提供一個資料來源，且最多允許兩個資料來源：一個用於訓練資料，另一個用於驗證資料。

將資料分割為訓練和驗證資料集的方式，取決於您有一個或兩個資料來源。
+ 如果您只有**一個資料來源**，則`ChannelType`依預設會將其設定為`training`，且必須具有此值。
  + 如果未設定 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLDataSplitConfig.html) 中的 `ValidationFraction` 值，則預設會使用來自此來源的 0.2 (20%) 資料進行驗證。
  + 如果設定`ValidationFraction`為介於 0 和 1 之間的值，則會根據指定的值來分割資料集，其中值會指定用於驗證的資料集分數。
+ 如果您有**兩個資料來源**，則必須將其中一個`AutoMLChannel`物件的`ChannelType`設定為`training`，即預設值。其他資料來源的`ChannelType`必須設定為`validation`。這兩個資料來源必須具有相同的格式 (CSV 或 Parquet)，以及相同的結構描述。在這種情況下，您不得設定`ValidationFraction`的值，因為每個來源的所有資料都會用於訓練或驗證。設定此值會導致錯誤。

------

如需 Autopilot 中的拆分與交叉驗證的相關資訊，請參閱[Autopilot 的交叉驗證](autopilot-metrics-validation.md#autopilot-cross-validation)。

### 如何設定 AutoML 任務的問題類型
<a name="autopilot-set-problem-type-api"></a>

------
#### [ CreateAutoMLJobV2 ]

對於表格式資料，您必須選擇 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作為 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的類型。

您可以使用 `[TabularJobConfig.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 參數進一步指定 AutoML 任務 V2 的模型候選項可用的監督學習問題類型 (二進位分類、多類別分類、迴歸)。

------
#### [ CreateAutoMLJob ]

您可以使用 `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)` 參數設定 AutoML 作業的[問題類型](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-datasets-problem-types.html#autopilot-problem-types)。這限制了 Autopilot 嘗試的預處理類型和演算法。任務完成後，如果您已設定 `[CreateAutoPilot.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-ProblemType)`，則 `[ResolvedAttribute.ProblemType](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResolvedAttributes.html)` 會符合您設定的 `ProblemType`。如果您將其保留空白 (或 `null`)，則代表您推論出來的 `ProblemType`。

------

**注意**  
在某些情況下，Autopilot 無法以夠高的可信度推論 `ProblemType`，在這種情況下，您必須提供值，任務才會成功。

### 如何在 AutoML 任務新增樣本權重
<a name="autopilot-add-sample-weights-api"></a>

您可以將範例權重欄位新增至表格式資料集，然後將其傳遞至 AutoML 任務，以請求在訓練及評估期間對資料集行進行加權。

僅在[整合模式](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-model-support-validation.html#autopilot-training-mode)下支援樣本權重。你的權重應該是數字且非負數。排除無效或沒有權重值的資料點。如需可用目標指標的詳細資訊，請參閱[Autopilot 加權指標](autopilot-metrics-validation.md#autopilot-weighted-metrics)。

------
#### [ CreateAutoMLJobV2 ]

對於表格式資料，您必須選擇 `[TabularJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TabularJobConfig.html)` 作為 `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` 的類型。

若要在建立實驗時設定樣本權重 (請參閱 [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)) ，您可以在 `TabularJobConfig` 物件的 `SampleWeightAttributeName` 屬性傳遞範本權重欄位的名稱。這可確保您的目標指標使用權重來訓練、評估及選擇候選模型。

------
#### [ CreateAutoMLJob ]

若要在建立實驗時設定樣本權重 (請參閱 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html))，您可以在 [AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) 物件的 `SampleWeightAttributeName` 屬性傳遞樣本權重欄位名稱。這可確保您的目標指標使用權重來訓練、評估及選擇候選模型。

------

### 如何設定 AutoML 在大型資料集的 EMR Serverless 上啟動遠端任務
<a name="autopilot-set-emr-serverless-api-tabular"></a>

您可以設定 AutoML 任務 V2，以便在需要額外的運算資源來處理大型資料集時，在 Amazon EMR Serverless 上自動啟動遠端任務。透過在需要時無縫轉換為 EMR Serverless，AutoML 任務可以處理原本會超過最初佈建資源的資料集，而無需您進行任何手動介入。EMR Serverless 適用於表格式和時間序列問題類型。我們建議為大於 5 GB 的表格式資料集設定此選項。

若要允許 AutoML 任務 V2 自動轉換為適用於大型資料集的 EMR Serverless，您需要將包含 `ExecutionRoleARN` 欄位的 `EmrServerlessComputeConfig` 物件提供給 AutoML 任務 V2 輸入請求的 `AutoMLComputeConfig`。

`ExecutionRoleARN` 是 IAM 角色的 ARN，授予 AutoML 任務 V2 執行 EMR Serverless 任務所需的許可。

此角色應具有下列信任關係：

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

****  

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

------

並授予許可給：
+ 建立、列出和更新 EMR Serverless 應用程式。
+ 在 EMR Serverless 應用程式上啟動、列出、取得或取消任務執行。
+ 標記 EMR Serverless 資源。
+ 將 IAM 角色傳遞至 EMR Serverless 服務以進行執行。

  透過授予 `iam:PassRole` 許可，AutoML 任務 V2 可以暫時擔任該 `EMRServerlessRuntimeRole-*` 角色並將其傳遞給 EMR Serverless 服務。這些是 EMR Serverless 任務執行環境用來存取執行時間所需 AWS 其他服務和資源的 IAM 角色，例如用於資料存取的 Amazon S3、用於記錄的 CloudWatch、用於 AWS Glue 資料目錄的存取，或其他根據您的工作負載需求的服務。

  如需此角色許可的詳細資訊，請參閱 [Amazon EMR Serverless 的任務執行時期角色](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)。

所提供 JSON 文件中定義的 IAM 政策會授予這些許可：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EMRServerlessCreateApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:CreateApplication",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------

## 將 CreateAutoMLJob 移轉到 CreateAutoMLJobV2
<a name="autopilot-create-experiment-api-migrate-v1-v2"></a>

我們建議 `CreateAutoMLJob` 的使用者移轉至 `CreateAutoMLJobV2`。

本節透過重點介紹兩個版本之間輸入請求的物件及屬性的位置、名稱或結構的變化，說明 [CreateAutoMLJob](https://docs.aws.amazon.com/sagemaker-api/src/AWSSageMakerAPIDoc/build/server-root/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#API_CreateAutoMLJob_RequestSyntax) 與 [CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax) 在輸入參數上的差異。
+ **請求在版本之間未變更的屬性。**

  ```
  {
     "AutoMLJobName": "string",
     "AutoMLJobObjective": { 
        "MetricName": "string"
     },
     "ModelDeployConfig": { 
        "AutoGenerateEndpointName": boolean,
        "EndpointName": "string"
     },
     "OutputDataConfig": { 
        "KmsKeyId": "string",
        "S3OutputPath": "string"
     },
     "RoleArn": "string",
     "Tags": [ 
        { 
           "Key": "string",
           "Value": "string"
        }
     ]
  }
  ```
+ **請求在版本之間變更位置與結構的屬性。**

  下列屬性變更了位置：`DataSplitConfig`、`Security Config`、`CompletionCriteria`、`Mode`、`FeatureSpecificationS3Uri`、`SampleWeightAttributeName`、`TargetAttributeName`。

------
#### [ CreateAutoMLJob ]

  ```
  { 
      "AutoMLJobConfig": { 
          "Mode": "string",
          "CompletionCriteria": { 
              "MaxAutoMLJobRuntimeInSeconds": number,
              "MaxCandidates": number,
              "MaxRuntimePerTrainingJobInSeconds": number
          },
          "DataSplitConfig": { 
              "ValidationFraction": number
          },
          "SecurityConfig": { 
              "EnableInterContainerTrafficEncryption": boolean,
              "VolumeKmsKeyId": "string",
              "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
              }
          },
          "CandidateGenerationConfig": { 
              "FeatureSpecificationS3Uri": "string"
          }
      },
      "GenerateCandidateDefinitionsOnly": boolean,
      "ProblemType": "string"
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {       
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "Mode": "string",
              "ProblemType": "string",
              "GenerateCandidateDefinitionsOnly": boolean,
              "CompletionCriteria": { 
                  "MaxAutoMLJobRuntimeInSeconds": number,
                  "MaxCandidates": number,
                  "MaxRuntimePerTrainingJobInSeconds": number
              },
              "FeatureSpecificationS3Uri": "string",
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      },
      "DataSplitConfig": { 
          "ValidationFraction": number
      },
      "SecurityConfig": { 
          "EnableInterContainerTrafficEncryption": boolean,
          "VolumeKmsKeyId": "string",
          "VpcConfig": { 
              "SecurityGroupIds": [ "string" ],
              "Subnets": [ "string" ]
          }
      }
  }
  ```

------
+ **下列屬性會變更版本之間的位置與結構。**

  以下 JSON 說明了 V2 中 [AutoMLCandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLCandidateGenerationConfig.html) 類型的 [AutoMLJobConfig.CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobConfig.html#sagemaker-Type-AutoMLJobConfig-CandidateGenerationConfig) 如何移至 [CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html) 類型的 [AutoMLProblemTypeConfig.TabularJobConfig.CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)。

------
#### [ CreateAutoMLJob ]

  ```
  {
     "AutoMLJobConfig": { 
        "CandidateGenerationConfig": { 
           "AlgorithmsConfig": [ 
              { 
                 "AutoMLAlgorithms": [ "string" ]
              }
           ],
           "FeatureSpecificationS3Uri": "string"
        }
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {
      "AutoMLProblemTypeConfig": {
          "TabularJobConfig": {
              "CandidateGenerationConfig": { 
                  "AlgorithmsConfig": [ 
                      { 
                      "AutoMLAlgorithms": [ "string" ]
                      }
                  ],
              },
          }
      },
  }
  ```

------
+ **請求變更名稱與結構的屬性。**

  以下 JSON 說明了 V2 中 [InputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-InputDataConfig) ([AutoMLChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLChannel.html) 陣列) 如何變更為 [AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig) ([AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html) 陣列)。請注意，屬性 `SampleWeightAttributeName` 與 `TargetAttributeName` 已從 `InputDataConfig` 移出並移入 `AutoMLProblemTypeConfig`。

------
#### [ CreateAutoMLJob ]

  ```
  {    
      "InputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              },
              "SampleWeightAttributeName": "string",
              "TargetAttributeName": "string"
          }
      ]
  }
  ```

------
#### [ CreateAutoMLJobV2 ]

  ```
  {    
      "AutoMLJobInputDataConfig": [ 
          { 
              "ChannelType": "string",
              "CompressionType": "string",
              "ContentType": "string",
              "DataSource": { 
                  "S3DataSource": { 
                      "S3DataType": "string",
                      "S3Uri": "string"
                  }
              }
          }
      ]
  }
  ```

------