Experiência 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 de bloco de anotaçõesou pode usar o nome do experimento MLflow ou o identificador do experimento.
Requerimentos
Databricks Runtime 6.0 ML ou superior.
Carregar dados da experiência do notebook
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 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)
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