Experimento MLflow

El origen de datos de experimentos de MLflow proporciona una API estándar para cargar datos de ejecución de experimentos de MLflow. Puede cargar datos desde el experimento del cuaderno o usar el nombre o el id. del experimento de MLflow.

Requisitos

Databricks Runtime 6.0 ML o superior.

Carga de datos desde el experimento del cuaderno

Para cargar datos desde el experimento del cuaderno, use load().

Python

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

Scala

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

Carga de datos mediante id. de experimentos

Para cargar datos de uno o varios experimentos del área de trabajo, especifique los id. de los experimentos como se muestra.

Python

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

Scala

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

Carga de datos mediante nombres de experimentos

También puede pasar el nombre del experimento al método 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)

Filtrado de datos en función de métricas y parámetros

Los ejemplos de esta sección muestran cómo filtrar datos después de cargarlos desde un experimento.

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)

Schema

El esquema del DataFrame devuelto por el origen de datos es:

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