本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AutoML 為表格資料建立回歸或分類工作 API
您可以透過以任何自CreateAutoMLJobV2
API動輔助輔助駕駛或. AWS CLI
有關此API動作如何以您選擇的語言轉換為函數的詳細資訊,請參閱的〈另請參閱〉一節CreateAutoMLJobV2
並選擇。SDK例如,對於 Python 使用者,請參閱 AWS SDK for Python (Boto3)中 create_auto_ml_job_v2
的完整要求語法。
注意
CreateAutoMLJobV2並且DescribeAutoMLJobV2是提供向後兼容性的CreateAutoMLJob新版本。DescribeAutoMLJob
我們建議使用 CreateAutoMLJobV2
。CreateAutoMLJobV2
可以管理與舊版本 CreateAutoMLJob
相同的表格問題類型,以及非表格問題類型,例如影像或文字分類,或時間序列預測。
至少,對表格資料進行的所有實驗都需要指定實驗名稱,提供輸入和輸出資料的位置,並指定要預測的目標資料。或者,您也可以指定要解決的問題類型 (迴歸、分類、多類別分類)、選擇建模策略 (堆疊合奏或超參數最佳化)、選取 Autopilot 工作用來訓練資料的演算法清單等等。
實驗執行後,您可以比較試驗,並深入研究每個模型的預處理步驟、演算法和超參數範圍的詳細資訊。您還可以選擇下載他們的可解釋性與效能報告。使用提供的筆記本來查看自動化資料探索或候選模型定義的結果。
以下是動作的強制性和選擇性輸入要求參數的CreateAutoMLJobV2
API集合。您可以找到此操作先前版本的替代資訊 CreateAutoMLJob
。不過,我們建議您使用 CreateAutoMLJobV2
。
尋找有關如何將 遷移 CreateAutoMLJob到 CreateAuto MLJobV2 的 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 無伺服器上自動啟動遠端任務。AutoML 工作可在需要時EMR無縫轉換至無伺服器,因此可以處理超過最初佈建資源的資料集,而無需您進行任何手動介入。EMR無伺服器可用於表格式和時間序列問題類型。建議您為大於 5 GB 的表格式資料集設定此選項。
若要允許 AutoML 作業 V2 自動轉換為大型資料集的EMR無伺服器,您需要為 AutoML 工作 V2 輸入請求提供包含ExecutionRoleARN
欄位AutoMLComputeConfig
的EmrServerlessComputeConfig
物件。
ExecutionRoleARN
是授與 AutoML 工作 V2 執行EMR無伺服器作業所需權限的IAM角色。ARN
此角色應具有下列信任關係:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
並授予權限:
-
建立、列出和更新EMR無伺服器應用程式。
-
在EMR無伺服器應用程式上開始、列出、取得或取消工作執行。
-
標記EMR無伺服器資源。
-
將IAM角色傳遞給EMR無伺服器服務以執行。
透過授與
iam:PassRole
權限,AutoML 工作 V2 可以暫時擔任該EMRServerlessRuntimeRole-*
角色並將其傳遞給EMR無伺服器服務。這些是EMR無伺服器任務執行環境用來存取執行時期間所需的其他 AWS 服務和資源的IAM角色,例如 Amazon S3 進行資料存取、根據您 CloudWatch 的工作負載需求進行記錄、存取資 AWS Glue 料型錄或其他服務。
在提供的JSON文件中定義的IAM策略授予這些權限:
{ "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到 CreateAuto MLJobV2
我們建議 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說明了如何 Con utoMLJob fig。 CandidateGenerationConfig類型 A utoMLCandidate GenerationConfig 移至 A utoMLProblem TypeConfig。 TabularJobConfig。 CandidateGenerationConfigCandidateGenerationConfig在 V2 中的類型。
-
請求變更名稱與結構的屬性。
下面JSON說明如何 InputDataConfig(A 的數組utoMLChannel)在 V2 中更改為 A utoMLJob InputDataConfig(A utoMLJob 通道的數組)。請注意,屬性
SampleWeightAttributeName
與TargetAttributeName
已從InputDataConfig
移出並移入AutoMLProblemTypeConfig
。