適用対象:Azure Machine Learning SDK v1 for Python
重要
この記事では、Azure Machine Learning SDK v1 の使用に関する情報を提供します。 SDK v1 は 2025 年 3 月 31 日の時点で非推奨となり、サポートは 2026 年 6 月 30 日に終了します。 SDK v1 は、その日付までインストールして使用できます。
2026 年 6 月 30 日より前に SDK v2 に移行することをお勧めします。 SDK v2 の詳細については、「 Azure Machine Learning 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
を使用することもできます。 これは、AutoMLConfig
オブジェクトの run_configuration
パラメーターにより強力な RunConfiguration
を割り当てるのと同じように簡単です。
AutoMLStep にデータを送信する
機械学習パイプラインでは、入力データは Dataset
オブジェクトである必要があります。 パフォーマンスが最も高い方法は、OutputTabularDatasetConfig
オブジェクトの形式で入力データを提供することです。 prepped_data_path
、prepped_data_path
オブジェクトなど、その型のオブジェクトを作成するには、OutputFileDatasetConfig
で read_delimited_files()
を使用します。
# 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
オブジェクトを作成します。 それぞれに名前が付けられ、前に取得した既定のデータストアに割り当てられ、AutoMLStep
からの特定の type
の TrainingOutput
に関連付けられます。 これらの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
です。 path
debug_log
、プロジェクトへのパスと、デバッグ情報が書き込まれるローカル ファイルについて説明します。compute_target
は以前に定義されたcompute_target
です。この例では、低コストの CPU ベースのコンピューターです。 AutoML のディープ ラーニング機能を使用している場合は、コンピューティング ターゲットを GPU ベースに変更する必要があります。featurization
はauto
に設定されています。 詳細については、AutoML 構成ドキュメントの 「データの特徴付け 」セクションを参照してください。label_column_name
は、予測したい列を示します。training_data
は、データ準備ステップの出力から作成されたOutputTabularDatasetConfig
オブジェクトに設定されます。
AutoMLStep
自体では AutoMLConfig
を受け取り、メトリックおよびモデル データを保持するために出力として PipelineData
オブジェクトが作成されます。
重要
AutoMLStepRun
を使用している場合にのみ、enable_default_model_output
と enable_default_metrics_output
を True
に設定する必要があります。
この例では、AutoML プロセスは、 training_data
に対してクロス検証を実行します。 n_cross_validations
引数を使用して、クロス検証の数を制御できます。 データ準備ステップの一部としてトレーニング データを既に分割している場合は、validation_data
をその独自の Dataset
に設定できます。
データフィーチャに X
を使用したり、データ ラベルに y
を使用したりすることがあります。 この手法は非推奨であり、入力には training_data
を使用する必要があります。
AutoML によって生成されたモデルを登録する
単純な機械学習パイプラインの最後の手順は、作成されたモデルを登録することです。 ワークスペースのモデル レジストリにモデルを追加することで、Azure portal で使用でき、バージョン管理できます。 モデルを登録するには、AutoMLStep
の model_data
出力を受け取る別の PythonScriptStep
を書き込みます。
モデルを登録するコードを書き込む
モデルは 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
オブジェクトがあります。 しかし、Experiment
オブジェクトを使用して、完了した Run
オブジェクトを Workspace
から取得することもできます。
ワークスペースには、すべての実験と実行の完全なレコードが含まれています。 ポータルを使用して、実験の出力を見つけてダウンロードすることも、コードを使用することもできます。 履歴実行からレコードにアクセスするには、Azure Machine Learning を使用して、関心のある実行の ID を見つけます。 その ID では、Workspace
と Experiment
を使用して、特定の run
を選択することができます。
# 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.id
値を照合することによって目的の Run
を見つけます。
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
では、AutoMLStep
の StepRun
オブジェクトが検索されます。 メトリックとモデルは、その既定の名前を使用して取得されます。これは、AutoMLStep
の outputs
パラメーターに PipelineData
オブジェクトを渡さない場合でも使用できます。
最後に、「 パイプラインの結果の確認 」セクションで説明したように、実際のメトリックとモデルがローカル コンピューターにダウンロードされます。