Поделиться через


Эксперимент MLflow

Источник данных эксперимента MLflow предоставляет стандартный API для загрузки данных эксперимента MLflow. Вы можете загрузить данные из эксперимента записной книжки или использовать имя эксперимента MLflow или идентификатор эксперимента.

Требования

Databricks Runtime 6.0 ML или более поздней версии.

Загрузка данных из эксперимента в блокноте

Чтобы загрузить данные из эксперимента в записной книжке, используйте load().

Питон

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

Scala

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

Загрузка данных с помощью идентификаторов экспериментов

Чтобы загрузить данные из одного или нескольких экспериментов рабочей области, укажите идентификаторы экспериментов, как показано ниже.

Питон

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

Scala

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

Загрузка данных с помощью имени эксперимента

Вы также можете передать имя эксперимента в метод load().

Питон

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)

Фильтрация данных на основе метрик и параметров

В примерах этого раздела показано, как фильтровать данные после загрузки из эксперимента.

Питон

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)

Схема

Схема кадра данных, возвращаемого источником данных:

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