翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AutoML を使用して表形式データの回帰ジョブまたは分類ジョブを作成する API
Autopilot または でサポートされている任意の言語で CreateAutoMLJobV2
APIアクションを呼び出すことで、表形式データの Autopilot 回帰または分類ジョブをプログラムで作成できます AWS CLI。以下は、 CreateAutoMLJobV2
APIアクションの必須入力リクエストパラメータとオプション入力リクエストパラメータのコレクションです。このアクションの以前のバージョン CreateAutoMLJob
に関する代替情報もあります。ただし、CreateAutoMLJobV2
を使用することをお勧めします。
このAPIアクションが任意の言語で関数に変換される方法については、「」セクションのhttps://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso「」セクションを参照して、CreateAutoMLJobV2
「」を選択しますSDK。例として、Python ユーザーの場合は、「 AWS SDK for Python (Boto3)」の「create_auto_ml_job_v2
のすべてのリクエスト構文」を参照してください。
注記
CreateAutoMLJobV2 と DescribeAutoMLJobV2は、下位互換性DescribeAutoMLJobを提供する CreateAutoMLJob と の新しいバージョンです。
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 加重メトリクス」を参照してください。
大規模なデータセットを処理するために追加のコンピューティングリソースが必要な場合、Amazon EMR Serverless でリモートジョブを自動的に開始するように AutoML ジョブ V2 を設定できます。必要に応じて EMR Serverless にシームレスに移行することで、AutoML ジョブは、最初にプロビジョニングされたリソースを超えるデータセットを、手動による介入なしで処理できます。EMR Serverless は、表形式および時系列の問題タイプで使用できます。5 GB を超える表形式データセットには、このオプションを設定することをお勧めします。
AutoML ジョブ V2 が大規模なデータセットに対してEMRサーバーレスに自動的に移行できるようにするには、 ExecutionRoleARN
フィールドを含むEmrServerlessComputeConfig
オブジェクトを AutoML ジョブ V2 入力リクエストAutoMLComputeConfig
の に提供する必要があります。
ExecutionRoleARN
は、AutoML ジョブ V2 にEMRサーバーレスジョブを実行するために必要なアクセス許可を付与するIAMロールARNの です。
このロールには、次の信頼関係が必要です。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
また、以下のアクセス許可を付与します。
-
EMR Serverless アプリケーションを作成、一覧表示、更新します。
-
EMR Serverless アプリケーションでジョブの実行を開始、一覧表示、取得、またはキャンセルします。
-
EMR Serverless リソースにタグを付けます。
-
実行のために EMR Serverless サービスにIAMロールを渡します。
アクセス
iam:PassRole
許可を付与することで、AutoML ジョブ V2 は一時的にEMRServerlessRuntimeRole-*
ロールを引き受けて EMR Serverless サービスに渡すことができます。これらは、EMRサーバーレスジョブ実行環境が、データアクセス、 CloudWatch ログ記録、 AWS Glue データカタログへのアクセス、ワークロード要件に基づくその他のサービスAmazon S3など、ランタイムに必要な他の AWS サービスやリソースにアクセスするために使用するIAMロールです。このロールのアクセス許可の詳細については、「Amazon EMR Serverless のジョブランタイムロール」を参照してください。
提供された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 に移行する CreateAutoMLJobV2
CreateAutoMLJob
のユーザーは CreateAutoMLJobV2
に移行することをお勧めします。
このセクションでは、2 つのバージョン間の入力リクエストのオブジェクトと属性の位置、名前、構造の変更を強調CreateAutoMLJobV2することで、 CreateAutoMLJob と の入力パラメータの違いについて説明します。
-
バージョン間で変更されていないリクエスト属性。
{ "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
。 -
次の属性は、バージョン間で位置と構造が変更されました。
以下は、タイプ A の A utoMLJobConfig.CandidateGenerationConfig utoMLCandidateGenerationConfigが CandidateGenerationConfig V2 のタイプの A utoMLProblemTypeConfigTabularJobConfig..CandidateGenerationConfig に移動した方法JSONを示しています。
-
名前と構造が変更されたリクエスト属性。
以下は、V2 で InputDataConfig (AutoMLChannel の配列) が AutoMLJobInputDataConfig (A utoMLJobチャネルの配列) に変更された方法JSONを示しています。属性
SampleWeightAttributeName
およびTargetAttributeName
がInputDataConfig
からAutoMLProblemTypeConfig
に移動されることに注意してください。