AutoGluon-表形式分類 - Amazon SageMaker

AutoGluon-表形式分類

AutoGluon-表形式分類は、未処理の表形式のデータセットで高精度の機械学習モデルをトレーニングする、人気の高いオープンソースの AutoML フレームワークです。主にモデルとハイパーパラメータの選択に焦点を当てている既存のAutoMLフレームワークとは異なり、 AutoGluon-Tabularは、複数のモデルをアンサンブルして複数のレイヤーに積み重ねることで成功しています。

を使用する方法 SageMaker AutoGluon-表形式分類

以下を使用できます。 AutoGluon-アマゾンのような表形式 SageMaker 組み込みのアルゴリズム 次のセクションでは、を使用する方法について説明します。 AutoGluon-表形式で SageMaker SDK (SDK) の仕組み AutoGluon-アマゾンの表形式 SageMaker スタジオ UI、を参照してくださいSageMaker JumpStart

  • 使用アイテム AutoGluon-組み込みアルゴリズムとしての表形式です

    を使用する AutoGluon-タブ形式組み込みアルゴリズム AutoGluon-次のサンプルコードに示す表形式トレーニングコンテナ。自動的に見つけることができます AutoGluon-表形式の組み込みアルゴリズム画像URI SageMaker image_uris.retrieveAPI (またはget_image_uriAPI(使用する場合)アマゾン SageMaker SDKバージョン 2)。

    指定後 AutoGluon-表形式の画像URI、使用できます AutoGluon-を使用して推定器を構築するための表形式のコンテナ SageMaker API を見積もり、トレーニングジョブを開始します。- AutoGluon-表形式の組み込みアルゴリズムはスクリプトモードで実行されますが、トレーニングスクリプトは用意されており、置き換える必要はありません。スクリプトモードを使用して作成した経験が豊富な場合 SageMaker トレーニングの仕事、そしてあなたは自分の仕事を組み込むことができます AutoGluon-表形式のトレーニングスクリプト。

    from sagemaker import image_uris, model_uris, script_uris train_model_id, train_model_version, train_scope = "autogluon-regression-ensemble", "*", "training" training_instance_type = "ml.p3.2xlarge" # Retrieve the docker image train_image_uri = image_uris.retrieve( region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope, instance_type=training_instance_type ) # Retrieve the training script train_source_uri = script_uris.retrieve( model_id=train_model_id, model_version=train_model_version, script_scope=train_scope ) train_model_uri = model_uris.retrieve( model_id=train_model_id, model_version=train_model_version, model_scope=train_scope ) # Sample training data is available in this bucket training_data_bucket = f"jumpstart-cache-prod-{aws_region}" training_data_prefix = "training-datasets/tabular_multiclass/" training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}" output_bucket = sess.default_bucket() output_prefix = "jumpstart-example-tabular-training" s3_output_location = f"s3://{output_bucket}/{output_prefix}/output" from sagemaker import hyperparameters # Retrieve the default hyper-parameters for training the model hyperparameters = hyperparameters.retrieve_default( model_id=train_model_id, model_version=train_model_version ) # [Optional] Override default hyperparameters with custom values hyperparameters[ "auto_stack" ] = "True" print(hyperparameters) from sagemaker.estimator import Estimator from sagemaker.utils import name_from_base training_job_name = name_from_base(f"built-in-algo-{train_model_id}-training") # Create SageMaker Estimator instance tabular_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location ) # Launch a SageMaker Training job by passing the S3 path of the training data tabular_estimator.fit( {"training": training_dataset_s3_path}, logs=True, job_name=training_job_name )

    の設定方法の詳細については AutoGluon-組み込みのアルゴリズムとして表形式です。次のノートブックの例を参照してください。

の入出力インターフェイス AutoGluon-表形式アルゴリズム

勾配ブースティングは表形式のデータで動作し、行が観測値、1 つの列がターゲット変数またはラベル、残りの列が特徴を表します。

- SageMaker の実装 AutoGluon-Tabularはトレーニングと推論用のCSVをサポートしています。

  • にとってトレーニング ContentType、有効な入力は次のとおりでなければなりませんテキスト/csv

  • にとって推論 ContentType、有効な入力は次のとおりでなければなりませんテキスト/csv

注記

CSV トレーニングの場合、アルゴリズムはターゲット変数が最初の列にあり、CSV にはヘッダーレコードがないと見なします。

CSV 推論の場合、アルゴリズムは CSV 入力にラベル列がないと見なします。

トレーニングデータを入力用にフォーマットする方法に注意してください AutoGluon-表形式モデル。トレーニングおよびオプションの検証データのサブディレクトリを含む Amazon S3 バケットへのパスを指定する必要があります。

  • トレーニングデータの入力形式: トレーニングデータは、という名前のサブディレクトリにあるはずですtrain/にはが含まれていますdata.csvファイル。ターゲット変数は次の最初の列にある必要がありますdata.csv。予測変数 (特徴) は残りの列にあるはずです。

  • 検証データの入力形式: オプションで、という名前のディレクトリを含めることができます。validation/それにもあるdata.csvファイル。検証データは、各ブースティング反復の終了時に検証スコアを計算するために使用されます。早期停止は、検証スコアの向上が止まったときに適用されます。検証データが提供されない場合は、トレーニングデータの一部が検証データとしてランダムにサンプリングされます。この割合は、トレーニングデータの行数に基づいて選択されます。詳細については、「」を参照してください。表形式予測() AutoGluon ドキュメント内) を参照してください。

CSV トレーニング入力モードの場合、アルゴリズムで使用可能なメモリの合計 (インスタンス数) にInstanceType) はトレーニングデータセットを保持できなければなりません。

SageMaker AutoGluon-表形式はautogluon.tabular.TabularPredictorモデルをシリアル化または逆シリアル化するためのモジュール。モデルの保存または読み込みに使用できます。

でトレーニングしたモデルを使用するには SageMaker AutoGluon-表形式で AutoGluonフレームワーク

  • 次の Python コードを使用します。

    import tarfile from autogluon.tabular import TabularPredictor t = tarfile.open('model.tar.gz', 'r:gz') t.extractall() model = TabularPredictor.load(model_file_path) # prediction with test data # dtest should be a pandas DataFrame with column names feature_0, feature_1, ..., feature_d pred = model.predict(dtest)

の Amazon EC2 インスタンスに関する推奨事項 AutoGluon-表形式アルゴリズム

SageMaker AutoGluon-Tabular では、シングルインスタンスの CPU トレーニングおよびシングルインスタンスの GPU トレーニングがサポートされています。インスタンスごとのコストは高いものの、GPU はトレーニングをより迅速に行うため、費用対効果が高くなります。GPU トレーニングを利用するには、インスタンスタイプを GPU インスタンスの 1 つ (P3 など) として指定します。 SageMaker AutoGluon-Tabular では現在、マルチ GPU トレーニングはサポートされていません。

AutoGluon-表形式サンプルノートブック

次の表は、Amazon のさまざまなユースケースに対応する各種サンプルノートブックの概要を示しています。 SageMaker AutoGluon-表形式のアルゴリズム。

ノートブックのタイトル 説明

アマゾンによる表形式分類 SageMaker AutoGluon-表形式アルゴリズム

このノートブックは、Amazonの使用を示しています SageMaker AutoGluon-表形式の分類モデルをトレーニングしてホストするための表形式アルゴリズム。

Amazonでの表形式回帰 SageMaker AutoGluon-表形式アルゴリズム

このノートブックは、Amazonの使用を示しています SageMaker AutoGluon-表形式の回帰モデルをトレーニングしてホストするための表形式アルゴリズム。

でサンプルを実行するために使用できる Jupyter ノートブックインスタンスを作成してアクセスする方法の詳細については SageMaker、「」を参照してくださいAmazon SageMaker ノートブックインスタンスを使用する。ノートブックインスタンスを作成して開いた後、SageMaker例タブを選択して、すべてのリストを表示します SageMaker サンプル。ノートブックを開くには、その [Use (使用)] タブを選択し、[Create copy (コピーを作成)] を選択します。