適用対象:
Azure Machine Learning SDK v1 for Python
重要
この記事では、Azure Machine Learning SDK v1 の使用に関する情報を提供します。 SDK v1 は、2025 年 3 月 31 日の時点で非推奨です。 サポートは 2026 年 6 月 30 日に終了します。 SDK v1 は、その日付までインストールして使用できます。 SDK v1 を使用する既存のワークフローは、サポート終了日以降も引き続き動作します。 ただし、製品のアーキテクチャの変更が発生した場合に、セキュリティ リスクや破壊的変更にさらされる可能性があります。
2026 年 6 月 30 日より前に SDK v2 に移行することをお勧めします。 SDK v2 の詳細については、「 Azure Machine Learning CLI と Python SDK v2 とは」 および SDK v2 リファレンスを参照してください。
Azure Machine Learning の自動機械学習 (AutoML) 機能は、すべての可能なアプローチを再実装することなく、高パフォーマンスのモデルを検出するのに役立ちます。 Azure Machine Learning パイプラインと組み合わせることで、データに最適なアルゴリズムをすばやく検出するデプロイ可能なワークフローを作成できます。
この記事では、Python を使用して、データ準備ステップを自動化された機械学習ステップに効率的に参加させる方法について説明します。 AutoML は、データに最適なアルゴリズムをすばやく検出しながら、パイプラインを使用した MLOps とモデル ライフサイクルの運用化に進むことができます。
前提条件
Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。 無料版または有料版の Azure Machine Learning を今すぐお試しください。
Azure Machine Learning ワークスペース。 開始 するために必要なリソースの作成を参照してください。
Azure の自動機械学習機能および機械学習パイプライン機能と SDK についての知識。
AutoML の中央クラスを確認する
パイプライン内の自動機械学習は、 AutoMLStep オブジェクトによって表されます。
AutoMLStep クラスは PipelineStep のサブクラスです。
PipelineStep オブジェクトのグラフでは、Pipeline を定義します。
PipelineStep にはいくつかのサブクラスがあります。 この記事では、 AutoMLStepに加えて、データ準備の PythonScriptStep と、モデルを登録するための別の方法を示します。
最初 に機械学習パイプライン にデータを移動する推奨される方法は、 Dataset オブジェクトを使用することです。 ステップ 間 でデータを移動し、実行からのデータ出力を保存するには、 OutputFileDatasetConfig オブジェクトと OutputTabularDatasetConfig オブジェクトを使用することをお勧めします。
AutoMLStep で使用するには、PipelineData オブジェクトを PipelineOutputTabularDataset オブジェクトに変換する必要があります。 詳細については、「 ML パイプラインステップ間でのデータの移動」を参照してください。
AutoMLStep は AutoMLConfig オブジェクトを通じて構成されます。
AutoMLConfig は、 実験設定の構成に関するセクションで説明されているように、柔軟なクラスです。
Pipeline は Experiment 内で実行されます。 パイプライン Run には、ステップごとに子の StepRun があります。 自動機械学習 StepRun の出力は、トレーニング メトリックと最もパフォーマンスの高いモデルです。
具体的には、この記事では分類タスクのシンプルなパイプラインを作成します。 課題はタイタニック号の生存を予測することですが、話が進むたびにデータや課題について触れることはありません。
概要
初期データセットを取得する
多くの場合、機械学習ワークフローは、既存のベースライン データから始まります。 これは、登録済みのデータセットに適したシナリオです。 データセットは、ワークスペース全体で表示され、バージョン管理をサポートし、対話形式で探索することができます。 「Azure Machine Learning データセットを作成する」で説明されているように、データセットを作成して設定するさまざまな方法があります。 Python SDK を使用してパイプラインを作成するため、SDK を使用してベースライン データをダウンロードし、 titanic_dsという名前で登録します。
from azureml.core import Workspace, Dataset
ws = Workspace.from_config()
if not 'titanic_ds' in ws.datasets.keys() :
# create a TabularDataset from Titanic training data
web_paths = ['https://dprepdata.blob.core.windows.net/demo/Titanic.csv',
'https://dprepdata.blob.core.windows.net/demo/Titanic2.csv']
titanic_ds = Dataset.Tabular.from_delimited_files(path=web_paths)
titanic_ds.register(workspace = ws,
name = 'titanic_ds',
description = 'Titanic baseline data',
create_new_version = True)
titanic_ds = Dataset.get_by_name(ws, 'titanic_ds')
コードは、最初に config.jsonで定義されている Azure Machine Learning ワークスペースにログインします。 構成ファイルを作成する方法については、「 ワークスペース構成ファイルの作成」を参照してください。
'titanic_ds' という名前のデータセットがまだ登録されていない場合は、1 つ作成されます。 このコードは、Web から CSV データをダウンロードし、 TabularDatasetをインスタンス化してから、データセットをワークスペースに登録します。 最後に、関数 Dataset.get_by_name() で Dataset を titanic_ds に割り当てます。
ストレージおよびコンピューティング ターゲットを構成する
パイプラインに必要なその他のリソースは、ストレージと、通常は Azure Machine Learning コンピューティング リソースです。
from azureml.core import Datastore
from azureml.core.compute import AmlCompute, ComputeTarget
datastore = ws.get_default_datastore()
compute_name = 'cpu-cluster'
if not compute_name in ws.compute_targets :
print('creating a new compute target...')
provisioning_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',
min_nodes=0,
max_nodes=1)
compute_target = ComputeTarget.create(ws, compute_name, provisioning_config)
compute_target.wait_for_completion(
show_output=True, min_node_count=None, timeout_in_minutes=20)
# Show the result
print(compute_target.get_status().serialize())
compute_target = ws.compute_targets[compute_name]
データ準備と AutoML ステップの間の中間データはワークスペースの既定のデータストアに格納できるため、get_default_datastore() オブジェクトでWorkspaceを呼び出す以上の操作を行う必要はありません。
その後、このコードでは、Azure Machine Learning コンピューティング ターゲットの 'cpu-cluster' が既に存在するかどうかを確認します。 そうでない場合は、小さな CPU ベースのコンピューティング ターゲットが必要であることを指定します。 AutoML のディープ ラーニング機能 (たとえば、DNN サポートを使用したテキスト特徴量化) を使用する場合は、「 GPU 最適化仮想マシンのサイズ」で説明されているように、強力な GPU サポートを持つコンピューティングを選択する必要があります。
このコードでは、ターゲットがプロビジョニングされるまでブロックし、作成されたばかりのコンピューティング ターゲットの詳細をいくつか出力します。 最後に、名前が指定されたコンピューティング ターゲットがワークスペースから取得され、compute_target に割り当てられます。
トレーニングの実行を構成する
ランタイム コンテキストを設定するには、RunConfiguration オブジェクトを作成して構成します。 ここでは、コンピューティング先を設定します。
from azureml.core.runconfig import RunConfiguration
from azureml.core.conda_dependencies import CondaDependencies
aml_run_config = RunConfiguration()
# Use just-specified compute target ("cpu-cluster")
aml_run_config.target = compute_target
# Specify CondaDependencies obj, add necessary packages
aml_run_config.environment.python.conda_dependencies = CondaDependencies.create(
conda_packages=['pandas','scikit-learn'],
pip_packages=['azureml-sdk[automl]', 'pyarrow'])
AutoML のデータを準備する
データ準備コードを書き込む
ベースラインのタイタニック号データセットは、数値とテキスト データが混在したもので構成され、一部の値が欠落しています。 自動機械学習用に準備するには、データ準備パイプラインの手順を次に示します。
- 見つからないデータに、ランダム なデータまたは Unknown に対応するカテゴリを入力します。
- カテゴリ データを整数に変換する
- 使用しない列を削除する
- データをトレーニング セットとテスト セットに分割します
- 変換されたデータを
OutputFileDatasetConfig出力パスに書き込みます
%%writefile dataprep.py
from azureml.core import Run
import pandas as pd
import numpy as np
import argparse
RANDOM_SEED=42
def prepare_age(df):
# Fill in missing Age values from distribution of present Age values
mean = df["Age"].mean()
std = df["Age"].std()
is_null = df["Age"].isnull().sum()
# compute enough (== is_null().sum()) random numbers between the mean, std
rand_age = np.random.randint(mean - std, mean + std, size = is_null)
# fill NaN values in Age column with random values generated
age_slice = df["Age"].copy()
age_slice[np.isnan(age_slice)] = rand_age
df["Age"] = age_slice
df["Age"] = df["Age"].astype(int)
# Quantize age into 5 classes
df['Age_Group'] = pd.qcut(df['Age'],5, labels=False)
df.drop(['Age'], axis=1, inplace=True)
return df
def prepare_fare(df):
df['Fare'].fillna(0, inplace=True)
df['Fare_Group'] = pd.qcut(df['Fare'],5,labels=False)
df.drop(['Fare'], axis=1, inplace=True)
return df
def prepare_genders(df):
genders = {"male": 0, "female": 1, "unknown": 2}
df['Sex'] = df['Sex'].map(genders)
df['Sex'].fillna(2, inplace=True)
df['Sex'] = df['Sex'].astype(int)
return df
def prepare_embarked(df):
df['Embarked'].replace('', 'U', inplace=True)
df['Embarked'].fillna('U', inplace=True)
ports = {"S": 0, "C": 1, "Q": 2, "U": 3}
df['Embarked'] = df['Embarked'].map(ports)
return df
parser = argparse.ArgumentParser()
parser.add_argument('--output_path', dest='output_path', required=True)
args = parser.parse_args()
titanic_ds = Run.get_context().input_datasets['titanic_ds']
df = titanic_ds.to_pandas_dataframe().drop(['PassengerId', 'Name', 'Ticket', 'Cabin'], axis=1)
df = prepare_embarked(prepare_genders(prepare_fare(prepare_age(df))))
df.to_csv(os.path.join(args.output_path,"prepped_data.csv"))
print(f"Wrote prepped data to {args.output_path}/prepped_data.csv")
上記のコード スニペットは、タイタニックデータのデータ準備の完全な例ですが、最小限です。 スニペットは Jupyter magic コマンド で始まり、コードをファイルに出力します。 Jupyter Notebook を使用しない場合は、その行を削除し、手動でファイルを作成します。
スニペットのさまざまな prepare_ 関数によって、入力データセット内の関連する列が変更されます。 これらの関数は、Pandas の DataFrame オブジェクトに変更されたデータで動作します。 いずれの場合も、欠損データには、代表的なランダム データまたは 不明を示すカテゴリ データが入力されます。 テキストベースのカテゴリ データは整数にマップされます。 不要な列は上書きまたは削除されます。
コードでは、データ準備関数を定義した後、入力引数を解析します。これは、データの書き込み先のパスです。 (これらの値は、次の手順で説明する OutputFileDatasetConfig オブジェクトによって決まります)。このコードは、登録済みの 'titanic_cs'Datasetを取得し、Pandas DataFrameに変換して、さまざまなデータ準備関数を呼び出します。
output_path はディレクトリであるため、to_csv() の呼び出しでファイル名 prepped_data.csv を指定します。
データ準備パイプライン ステップ (PythonScriptStep) を書き込む
説明されているデータ準備コードは、パイプラインで使用する PythonScriptStep オブジェクトに関連付ける必要があります。 CSV 出力が書き込まれる先のパスは、OutputFileDatasetConfig オブジェクトによって生成されます。
ComputeTarget、RunConfig、'titanic_ds' Dataset など、事前に準備されたリソースを使用して指定を完了します。
from azureml.data import OutputFileDatasetConfig
from azureml.pipeline.steps import PythonScriptStep
prepped_data_path = OutputFileDatasetConfig(name="output_path")
dataprep_step = PythonScriptStep(
name="dataprep",
script_name="dataprep.py",
compute_target=compute_target,
runconfig=aml_run_config,
arguments=["--output_path", prepped_data_path],
inputs=[titanic_ds.as_named_input('titanic_ds')],
allow_reuse=True
)
prepped_data_path オブジェクトは、ディレクトリを指す OutputFileDatasetConfig 型です。
arguments パラメーターで指定されていることに注意してください。 前の手順を確認すると、データ準備コード内で、引数 '--output_path' の値が、CSV ファイルが書き込まれたディレクトリ パスであることがわかります。
AutoMLStep でトレーニングする
自動機械学習パイプライン ステップの構成は、 AutoMLConfig クラスで行います。 この柔軟なクラスの詳細については、「 AutoMLConfig クラス」を参照してください。 データの入力と出力は、機械学習パイプラインで特別な注意を必要とする構成の唯一の側面です。 パイプライン内の AutoMLConfig の入力と出力については、この記事の後半で説明します。 データだけでなく、機械学習パイプラインの利点は、異なるステップに異なるコンピューティング ターゲットを使用できることです。 自動化された機械学習プロセスにのみ、より強力な ComputeTarget を使用することもできます。 これは、RunConfiguration オブジェクトの AutoMLConfig パラメーターにより強力な run_configuration を割り当てるのと同じように簡単です。
AutoMLStep にデータを送信する
機械学習パイプラインでは、入力データは Dataset オブジェクトである必要があります。 パフォーマンスが最も高い方法は、OutputTabularDatasetConfig オブジェクトの形式で入力データを提供することです。
read_delimited_files()、OutputFileDatasetConfig オブジェクトなど、その型のオブジェクトを作成するには、prepped_data_path で prepped_data_path を使用します。
# type(prepped_data) == OutputTabularDatasetConfig
prepped_data = prepped_data_path.read_delimited_files()
そのほか、ワークスペースに登録されている Dataset オブジェクトを使用することもできます。
prepped_data = Dataset.get_by_name(ws, 'Data_prepared')
2 つの手法の比較:
| 手法 | 利点と欠点 |
|---|---|
OutputTabularDatasetConfig |
パフォーマンスが高い |
OutputFileDatasetConfig からの自然なルート |
|
| パイプライン実行後にデータが永続化されない | |
登録済み Dataset |
パフォーマンスが低い |
| さまざまな方法で生成できる | |
| データが永続化され、ワークスペース全体で表示される | |
登録済み Dataset 手法を示すノートブック |
AutoML 出力を指定する
AutoMLStep の出力は、高パフォーマンス モデルとそのモデル自体の最終的なメトリック スコアです。 これらの出力を以降のパイプライン ステップで使用するには、それらを受け取るように OutputFileDatasetConfig オブジェクトを準備します。
from azureml.pipeline.core import TrainingOutput, PipelineData
metrics_data = PipelineData(name='metrics_data',
datastore=datastore,
pipeline_output_name='metrics_output',
training_output=TrainingOutput(type='Metrics'))
model_data = PipelineData(name='best_model_data',
datastore=datastore,
pipeline_output_name='model_output',
training_output=TrainingOutput(type='Model'))
このスニペットは、メトリックとモデル出力用の 2 つの PipelineData オブジェクトを作成します。 それぞれに名前が付けられ、前に取得した既定のデータストアに割り当てられ、type からの特定の TrainingOutput の AutoMLStep に関連付けられます。 これらのpipeline_output_name オブジェクトにPipelineDataを割り当てるので、「パイプラインの結果を調べる」セクションで後述するように、それらの値は個々のパイプライン ステップだけでなく、パイプライン全体からも使用できます。
AutoML パイプライン ステップを構成して作成する
入力と出力が定義されたら、次は AutoMLConfig と AutoMLStep を作成します。 構成の詳細は、「Python を使用した AutoML トレーニングの設定」の説明に従って、タスクによって異なります。 次のスニペットでは、タイタニック号の生存者分類タスクについて、シンプルな構成を示しています。
from azureml.train.automl import AutoMLConfig
from azureml.pipeline.steps import AutoMLStep
# Change iterations to a reasonable number (50) to get better accuracy
automl_settings = {
"iteration_timeout_minutes" : 10,
"iterations" : 2,
"experiment_timeout_hours" : 0.25,
"primary_metric" : 'AUC_weighted'
}
automl_config = AutoMLConfig(task = 'classification',
path = '.',
debug_log = 'automated_ml_errors.log',
compute_target = compute_target,
run_configuration = aml_run_config,
featurization = 'auto',
training_data = prepped_data,
label_column_name = 'Survived',
**automl_settings)
train_step = AutoMLStep(name='AutoML_Classification',
automl_config=automl_config,
passthru_automl_config=False,
outputs=[metrics_data,model_data],
enable_default_model_output=False,
enable_default_metrics_output=False,
allow_reuse=True)
このスニペットは、AutoMLConfig で一般的に使用される表現形式を示しています。 より流動的な (ハイパーパラメーターのような) 引数は個別の辞書で指定されますが、変更される可能性の低い値は AutoMLConfig コンストラクターで直接指定されます。 この場合、 automl_settings は簡単な実行を指定します。実行は、2 回の反復または 15 分後のいずれか早い方で停止します。
automl_settings 辞書は、AutoMLConfig コンストラクターに kwargs として渡されます。 その他のパラメーターは複雑ではありません。
-
この例では、
taskがclassificationに設定されています。 その他の有効な値はregressionとforecastingです。 -
pathdebug_log、プロジェクトへのパスと、デバッグ情報が書き込まれるローカル ファイルについて説明します。 -
compute_targetは以前に定義されたcompute_targetです。この例では、低コストの CPU ベースのコンピューターです。 AutoML のディープ ラーニング機能を使用している場合は、コンピューティング ターゲットを GPU ベースに変更する必要があります。 -
featurizationはautoに設定されています。 詳細については、AutoML 構成ドキュメントの 「データの特徴付け 」セクションを参照してください。 -
label_column_nameは、予測したい列を示します。 -
training_dataは、データ準備ステップの出力から作成されたOutputTabularDatasetConfigオブジェクトに設定されます。
AutoMLStep 自体では AutoMLConfig を受け取り、メトリックおよびモデル データを保持するために出力として PipelineData オブジェクトが作成されます。
重要
enable_default_model_output を使用している場合にのみ、enable_default_metrics_output と True を AutoMLStepRun に設定する必要があります。
この例では、AutoML プロセスは、 training_dataに対してクロス検証を実行します。
n_cross_validations 引数を使用して、クロス検証の数を制御できます。 データ準備ステップの一部としてトレーニング データを既に分割している場合は、validation_data をその独自の Dataset に設定できます。
データフィーチャに X を使用したり、データ ラベルに y を使用したりすることがあります。 この手法は非推奨であり、入力には training_data を使用する必要があります。
AutoML によって生成されたモデルを登録する
単純な機械学習パイプラインの最後の手順は、作成されたモデルを登録することです。 ワークスペースのモデル レジストリにモデルを追加することで、Azure portal で使用でき、バージョン管理できます。 モデルを登録するには、PythonScriptStep の model_data 出力を受け取る別の AutoMLStep を書き込みます。
モデルを登録するコードを書き込む
モデルは Workspace に登録されます。
Workspace.from_config()を使用してローカル コンピューター上のワークスペースにサインインする方法に慣れているでしょうが、実行中の機械学習パイプライン内からワークスペースを取得する別の方法があります。
Run.get_context() では、アクティブな run を取得します。 この run オブジェクトでは、ここで使用される Workspace を含む、多くの重要なオブジェクトへのアクセスが提供されます。
%%writefile register_model.py
from azureml.core.model import Model, Dataset
from azureml.core.run import Run, _OfflineRun
from azureml.core import Workspace
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--model_name", required=True)
parser.add_argument("--model_path", required=True)
args = parser.parse_args()
print(f"model_name : {args.model_name}")
print(f"model_path: {args.model_path}")
run = Run.get_context()
ws = Workspace.from_config() if type(run) == _OfflineRun else run.experiment.workspace
model = Model.register(workspace=ws,
model_path=args.model_path,
model_name=args.model_name)
print("Registered version {0} of model {1}".format(model.version, model.name))
PythonScriptStep コードを書き込む
警告
Azure Machine Learning SDK v1 を使用していて、ワークスペースがネットワーク分離用に構成されている場合は、この手順の実行時にエラーが発生する可能性があります。 詳細については、「HyperdriveStep と AutoMLStep がネットワークの分離で失敗する」を参照してください。
モデル登録 PythonScriptStep では、その引数の 1 つに PipelineParameter が使用されます。 パイプライン パラメーターはパイプラインの引数であり、実行の送信時に簡単に設定できます。 これらは、宣言すると通常の引数として渡されます。
from azureml.pipeline.core.graph import PipelineParameter
# The model name with which to register the trained model in the workspace.
model_name = PipelineParameter("model_name", default_value="TitanicSurvivalInitial")
register_step = PythonScriptStep(script_name="register_model.py",
name="register_model",
allow_reuse=False,
arguments=["--model_name", model_name, "--model_path", model_data],
inputs=[model_data],
compute_target=compute_target,
runconfig=aml_run_config)
AutoML パイプラインを作成して実行する
AutoMLStep を含むパイプラインを作成して実行することは、通常のパイプラインと何ら違いはありません。
from azureml.pipeline.core import Pipeline
from azureml.core import Experiment
pipeline = Pipeline(ws, [dataprep_step, train_step, register_step])
experiment = Experiment(workspace=ws, name='titanic_automl')
run = experiment.submit(pipeline, show_output=True)
run.wait_for_completion()
このコードは、データ準備、自動化された機械学習、モデル登録の手順を Pipeline オブジェクトに結合します。 その後、Experiment オブジェクトを作成します。
Experiment コンストラクターは、名前付き実験が存在する場合は取得するか、必要に応じて作成します。
PipelineをExperimentに送信し、パイプラインを非同期的に実行するRun オブジェクトを作成します。
wait_for_completion() 関数では、実行が完了するまでブロックします。
パイプラインの結果を確認する
run が完了したら、PipelineData が割り当てられている pipeline_output_name オブジェクトを取得できます。 結果をダウンロードして読み込み、さらに処理することができます。
metrics_output_port = run.get_pipeline_output('metrics_output')
model_output_port = run.get_pipeline_output('model_output')
metrics_output_port.download('.', show_progress=True)
model_output_port.download('.', show_progress=True)
ダウンロードされたファイルは、azureml/{run.id}/ サブディレクトリに書き込まれます。 メトリック ファイルは JSON 形式であり、確認のために Pandas データフレームに変換できます。
ローカル処理では、Pandas、Pickle、Azure Machine Learning SDK などの関連パッケージのインストールが必要になる場合があります。 この例では、自動機械学習で見つかった最適なモデルが XGBoost に依存している可能性があります。
!pip install xgboost==0.90
import pandas as pd
import json
metrics_filename = metrics_output._path_on_datastore
# metrics_filename = path to downloaded file
with open(metrics_filename) as f:
metrics_output_result = f.read()
deserialized_metrics_output = json.loads(metrics_output_result)
df = pd.DataFrame(deserialized_metrics_output)
df
このコード スニペットは、Azure データストア上の場所から読み込まれているメトリック ファイルを示しています。 また、コメントに示されているように、ダウンロードされたファイルから読み込むこともできます。 逆シリアル化して Pandas DataFrame に変換すると、自動化された機械学習ステップの各イテレーションの詳細なメトリックを確認できます。
モデル ファイルは、Model オブジェクトに逆シリアル化でき、これを推論や詳細なメトリック分析などのために使用することができます。
import pickle
model_filename = model_output._path_on_datastore
# model_filename = path to downloaded file
with open(model_filename, "rb" ) as f:
best_model = pickle.load(f)
# ... inferencing code not shown ...
既存のモデルの読み込みと操作の詳細については、「 機械学習モデルを Azure にデプロイする」を参照してください。
AutoML 実行の結果をダウンロードする
この記事と共にフォローしている場合は、インスタンス化された Run オブジェクトがあります。 しかし、Run オブジェクトを使用して、完了した Workspace オブジェクトを Experiment から取得することもできます。
ワークスペースには、すべての実験と実行の完全なレコードが含まれています。 ポータルを使用して、実験の出力を見つけてダウンロードすることも、コードを使用することもできます。 履歴実行からレコードにアクセスするには、Azure Machine Learning を使用して、関心のある実行の ID を見つけます。 その ID では、run と Workspace を使用して、特定の Experiment を選択することができます。
# Retrieved from Azure Machine Learning web UI
run_id = 'aaaaaaaa-bbbb-cccc-dddd-0123456789AB'
experiment = ws.experiments['titanic_automl']
run = next(run for run in ex.get_runs() if run.id == run_id)
前のコードの run_id 文字列を、実行履歴の特定の ID に変更する必要があります。 このスニペットは、通常のwsを使用して、関連するWorkspaceにfrom_config()を割り当てたことを前提としています。 目的の実験が直接取得されてから、コードでは、Run 値を照合することによって目的の run.id を見つけます。
Run オブジェクトが作成されたら、メトリックとモデルをダウンロードできます。
automl_run = next(r for r in run.get_children() if r.name == 'AutoML_Classification')
outputs = automl_run.get_outputs()
metrics = outputs['default_metrics_AutoML_Classification']
model = outputs['default_model_AutoML_Classification']
metrics.get_port_data_reference().download('.')
model.get_port_data_reference().download('.')
各 Run オブジェクトには、個々のパイプライン ステップの実行に関する情報を含む StepRun オブジェクトがあります。
run では、StepRun の AutoMLStep オブジェクトが検索されます。 メトリックとモデルは、その既定の名前を使用して取得されます。これは、PipelineData の outputs パラメーターに AutoMLStep オブジェクトを渡さない場合でも使用できます。
最後に、「 パイプラインの結果の確認 」セクションで説明したように、実際のメトリックとモデルがローカル コンピューターにダウンロードされます。