本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AutoML API 建立表格式資料的迴歸或分類任務
您可以透過以 Autopilot 或 AWS CLI支援的任何語言呼叫 CreateAutoMLJobV2 API 動作,以程式設計方式為表格式資料建立 Autopilot 迴歸或分類任務。以下是 CreateAutoMLJobV2 API 作業的強制性和選用輸入請求參數的集合。您可以找到此操作先前版本的替代資訊 CreateAutoMLJob。不過,我們建議您使用 CreateAutoMLJobV2。
有關此 API 動作如何以您選擇的語言轉換為函式的詳細資訊,請參閱 CreateAutoMLJobV2 的另請參閱章節,並選擇 SDK。例如,對於 Python 使用者,請參閱 適用於 Python (Boto3) 的 AWS SDK中 create_auto_ml_job_v2 的完整要求語法。
注意
CreateAutoMLJobV2 與 DescribeAutoMLJobV2 是 CreateAutoMLJob 及 DescribeAutoMLJob 的新版本,提供向後相容性。
我們建議使用 CreateAutoMLJobV2。CreateAutoMLJobV2 可以管理與舊版本 CreateAutoMLJob 相同的表格問題類型,以及非表格問題類型,例如影像或文字分類,或時間序列預測。
表格式資料上的所有實驗至少都需要實驗名稱的規格、提供輸入和輸出資料的位置,以及指定要預測的目標資料。或者,您也可以選擇指定要解決的問題類型 (迴歸、分類、多類別分類)、選擇建模策略 (堆疊整合或超參數最佳化)、選取 Autopilot 任務用來訓練資料的演算法清單等等。
實驗執行之後,您可以比較試驗,並深入研究每個模型的預處理步驟、演算法和超參數範圍的詳細資訊。您還可以選擇下載他們的可解釋性與效能報告。使用提供的筆記本來查看自動化資料探索或候選模型定義的結果。
尋找有關如何將 將 CreateAutoMLJob 移轉到 CreateAutoMLJobV2 的 CreateAutoMLJob 移轉到 CreateAutoMLJobV2 的指南。
必要參數
所有其他參數都是選用參數。
選用的參數
下列各節提供一些選用參數的詳細資訊,您可以在使用表格式資料時傳送至 CreateAutoMLJobV2 API 作業。您可以找到此操作先前版本的替代資訊 CreateAutoMLJob。不過,我們建議您使用 CreateAutoMLJobV2。
對於表格式資料,在資料上執行訓練模型候選模型的演算法集取決於您的建模策略 (ENSEMBLING 或 HYPERPARAMETER_TUNING)。以下詳細說明如何設定此訓練模式。
如果您保留空白 (或 null),則會根據您的資料集大小來推論 Mode。
如需 Autopilot 的堆疊式整合與超參數最佳化訓練方法的資訊,請參閱訓練模式與演算法支援
特徵選取
Autopilot 提供自動資料預處理步驟,包括特徵選擇和特徵擷取。但是,您可以手動提供要在訓練 FeatureSpecificatioS3Uri 屬性時使用的特徵。
選取的特徵應包含在以下格式的 JSON 檔案中:
{ "FeatureAttributeNames":["col1", "col2", ...] }
["col1", "col2", ...] 中所列出的值會區分大小寫。它們應該是包含唯一值的字串清單,這些值是輸入資料中列名稱的子集。
注意
提供為特徵的欄位清單不能包含目標欄位。
演算法選擇
預設情況下,您的 Autopilot 任務會在您的資料集執行預先定義的演算法清單來訓練候選模型。演算法清單取決於任務所使用的訓練模式 (ENSEMBLING 或 HYPERPARAMETER_TUNING)。
您可以提供預設演算法選取的子集。
如需每項訓練的可用演算法清單 Mode,請參閱 AutoMLAlgorithms。如需每個演算法的詳細資訊,請參閱訓練模式與演算法支援。
您可以提供自己的驗證資料集和自訂資料分割比例,或讓 Autopilot自動分割資料集。
如需 Autopilot 中的拆分與交叉驗證的相關資訊,請參閱Autopilot 的交叉驗證。
注意
在某些情況下,Autopilot 無法以夠高的可信度推論 ProblemType,在這種情況下,您必須提供值,任務才會成功。
您可以將範例權重欄位新增至表格式資料集,然後將其傳遞至 AutoML 任務,以請求在訓練及評估期間對資料集行進行加權。
僅在整合模式下支援樣本權重。你的權重應該是數字且非負數。排除無效或沒有權重值的資料點。如需可用目標指標的詳細資訊,請參閱Autopilot 加權指標。
您可以設定 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 任務所需的許可。
此角色應具有下列信任關係:
並授予許可給:
-
建立、列出和更新 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 Data Catalog 或根據您的工作負載需求的其他 服務。如需此角色許可的詳細資訊,請參閱 Amazon EMR Serverless 的任務執行時期角色。
所提供 JSON 文件中定義的 IAM 政策會授予這些許可:
將 CreateAutoMLJob 移轉到 CreateAutoMLJobV2
我們建議 CreateAutoMLJob 的使用者移轉至 CreateAutoMLJobV2。
本節透過重點介紹兩個版本之間輸入請求的物件及屬性的位置、名稱或結構的變化,說明 CreateAutoMLJob 與 CreateAutoMLJobV2 在輸入參數上的差異。
-
請求在版本之間未變更的屬性。
{ "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。 -
下列屬性會變更版本之間的位置與結構。
以下 JSON 說明了 V2 中 AutoMLCandidateGenerationConfig 類型的 AutoMLJobConfig.CandidateGenerationConfig 如何移至 CandidateGenerationConfig 類型的 AutoMLProblemTypeConfig.TabularJobConfig.CandidateGenerationConfig。
-
請求變更名稱與結構的屬性。
以下 JSON 說明了 V2 中 InputDataConfig (AutoMLChannel 陣列) 如何變更為 AutoMLJobInputDataConfig (AutoMLJobChannel 陣列)。請注意,屬性
SampleWeightAttributeName與TargetAttributeName已從InputDataConfig移出並移入AutoMLProblemTypeConfig。