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