Share via


MLflow 実験

MLflow 実験データ ソースでは、MLflow 実験実行データを読み込むための標準的な API が提供されます。 ノートブックの実験からデータを読み込むことも、MLflow 実験名または実験 ID を使用することもできます。

必要条件

Databricks Runtime 6.0 ML 以降。

ノートブックの実験からデータを読み込む

ノートブックの実験からデータを読み込むには load() を使用します。

Python

df = spark.read.format("mlflow-experiment").load()
display(df)

Scala

val df = spark.read.format("mlflow-experiment").load()
display(df)

実験 ID を使用してデータを読み込む

1 つ以上のワークスペース実験からデータを読み込むには、次に示すように実験 ID を指定します。

Python

df = spark.read.format("mlflow-experiment").load("3270527066281272")
display(df)

Scala

val df = spark.read.format("mlflow-experiment").load("3270527066281272,953590262154175")
display(df)

実験名を使用してデータを読み込む

実験名を load() メソッドに渡すこともできます。

Python

expId = mlflow.get_experiment_by_name("/Shared/diabetes_experiment/").experiment_id
df = spark.read.format("mlflow-experiment").load(expId)
display(df)

Scala

val expId = mlflow.getExperimentByName("/Shared/diabetes_experiment/").get.getExperimentId
val df = spark.read.format("mlflow-experiment").load(expId)
display(df)

メトリックとパラメーターに基づいてデータをフィルター処理する

このセクションの例では、実験からデータを読み込んだ後にフィルター処理する方法を示します。

Python

df = spark.read.format("mlflow-experiment").load("3270527066281272")
filtered_df = df.filter("metrics.loss < 0.01 AND params.learning_rate > '0.001'")
display(filtered_df)

Scala

val df = spark.read.format("mlflow-experiment").load("3270527066281272")
val filtered_df = df.filter("metrics.loss < 1.85 AND params.num_epochs > '30'")
display(filtered_df)

スキーマ

データ ソースによって返される DataFrame のスキーマは次の形式です。

root
|-- run_id: string
|-- experiment_id: string
|-- metrics: map
|    |-- key: string
|    |-- value: double
|-- params: map
|    |-- key: string
|    |-- value: string
|-- tags: map
|    |-- key: string
|    |-- value: string
|-- start_time: timestamp
|-- end_time: timestamp
|-- status: string
|-- artifact_uri: string