Experimentação do MLflow
A fonte de dados do experimento MLflow fornece uma API padrão para carregar dados de execução do experimento MLflow. Você pode carregar dados do experimento do bloco de anotações ou pode usar o nome do experimento MLflow ou a ID do experimento.
Requisitos
Databricks Runtime 6.0 ML ou superior.
Carregar dados da experiência do bloco de notas
Para carregar dados da experiência do bloco de notas, utilize load()
.
Python
df = spark.read.format("mlflow-experiment").load()
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load()
display(df)
Carregar dados usando IDs de experimento
Para carregar dados de um ou mais experimentos de espaço de trabalho, especifique as IDs do experimento conforme mostrado.
Python
df = spark.read.format("mlflow-experiment").load("3270527066281272")
display(df)
Scala
val df = spark.read.format("mlflow-experiment").load("3270527066281272,953590262154175")
display(df)
Carregar dados usando o nome do experimento
Você também pode passar o nome do experimento para o load()
método.
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)
Filtrar dados com base em métricas e parâmetros
Os exemplos nesta seção mostram como você pode filtrar dados depois de carregá-los de um 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)
Esquema
O esquema do DataFrame retornado pela fonte de dados é:
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