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


DataDriftDetector Класс

Определяет монитор смещения данных, который можно использовать для выполнения заданий смещения данных в Машинном обучении Azure.

Класс DataDriftDetector позволяет определить смещение между заданным базовым и целевым набором данных. Объект DataDriftDetector создается в рабочей области путем указания базовых и целевых наборов данных напрямую. Дополнительные сведения см. в https://aka.ms/datadrift.

Конструктор Datadriftdetector.

Конструктор DataDriftDetector используется для получения облачного представления объекта DataDriftDetector, связанного с предоставленной рабочей областью.

Конструктор

DataDriftDetector(workspace, name=None, baseline_dataset=None, target_dataset=None, compute_target=None, frequency=None, feature_list=None, alert_config=None, drift_threshold=None, latency=None)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область, в которой создается объект DataDriftDetector.

name
str

Уникальное имя объекта DataDriftDetector.

Default value: None
baseline_dataset

Набор данных для сравнения целевого набора данных с.

Default value: None
target_dataset

Набор данных для выполнения заданий adhoc или запланированных заданий DataDrift. Должен быть временным рядом.

Default value: None
compute_target

Необязательное имя ComputeTarget или ComputeTarget в Машинном обучении Azure. DataDriftDetector создаст целевой объект вычислений, если он не указан.

Default value: None
frequency
str

Необязательная частота, указывающая частоту выполнения конвейера. Поддерживает "День", "Неделя" или "Месяц".

Default value: None
feature_list

Необязательные функции списка разрешений для запуска обнаружения datadrift. Задания DataDriftDetector будут выполняться во всех функциях, если feature_list не указано. Список функций может содержать символы, числа, дефисы и пробелы. Длина списка должна быть меньше 200.

Default value: None
alert_config

Необязательный объект конфигурации для оповещений DataDriftDetector.

Default value: None
drift_threshold

Необязательное пороговое значение для включения оповещений DataDriftDetector. Значение должно быть от 0 до 1. Значение 0.2 используется при указании None (значение по умолчанию).

Default value: None
latency
int

Задержка в часах для отображения данных в наборе данных.

Default value: None
workspace
Обязательно

Рабочая область, в которой создается объект DataDriftDetector.

name
Обязательно
str

Уникальное имя объекта DataDriftDetector.

baseline_dataset
Обязательно

Набор данных для сравнения целевого набора данных с.

target_dataset
Обязательно

Набор данных для выполнения заданий adhoc или запланированных заданий DataDrift. Должен быть временным рядом.

compute_target
Обязательно

Необязательное имя ComputeTarget или ComputeTarget в Машинном обучении Azure. DataDriftDetector создаст целевой объект вычислений, если он не указан.

frequency
Обязательно
str

Необязательная частота, указывающая частоту выполнения конвейера. Поддерживает "День", "Неделя" или "Месяц".

feature_list
Обязательно

Необязательные функции списка разрешений для запуска обнаружения datadrift. Задания DataDriftDetector будут выполняться во всех функциях, если feature_list не указано. Список функций может содержать символы, числа, дефисы и пробелы. Длина списка должна быть меньше 200.

alert_config
Обязательно

Необязательный объект конфигурации для оповещений DataDriftDetector.

drift_threshold
Обязательно

Необязательное пороговое значение для включения оповещений DataDriftDetector. Значение должно быть от 0 до 1. Значение 0.2 используется при указании None (значение по умолчанию).

latency
Обязательно
int

Задержка в часах для отображения данных в наборе данных.

Комментарии

Объект DataDriftDetector представляет определение задания смещения данных, которое можно использовать для выполнения трех типов выполнения заданий:

  • выполняться для анализа данных определенного дня; см. метод run.

  • запланированное выполнение в конвейере; см. метод enable_schedule.

  • выполнение обратной заполнения, чтобы узнать, как с течением времени изменяются данные; см. метод backfill.

Типичным шаблоном создания DataDriftDetector является:

  • Чтобы создать объект DataDriftDetector на основе набора данных, используйте create_from_datasets

Конструктор DataDriftDetector извлекает существующий объект смещения данных, связанный с рабочей областью.

Методы

backfill

Выполните задание обратной заполнения по заданной дате начала и окончания.

Дополнительные сведения о перемещении данных см. в https://aka.ms/datadrift.

ПРИМЕЧАНИЕ. Backfill поддерживается только для объектов DataDriftDetector на основе набора данных.

create_from_datasets

Создайте объект DataDriftDetector из базового табличного набора данных и целевого набора данных временных рядов.

delete

Удалите расписание для объекта DataDriftDetector.

disable_schedule

Отключите расписание для объекта DataDriftDetector.

enable_schedule

Создайте расписание для выполнения задания DataDriftDetector на основе набора данных.

get_by_name

Извлеките уникальный объект DataDriftDetector для заданной рабочей области и имени.

get_output

Получение кортежей результатов смещения и метрик для определенного периода времени DataDriftDetector.

list

Получите список объектов DataDriftDetector для указанной рабочей области и дополнительного набора данных.

ПРИМЕЧАНИЕ. Передача только параметра workspace возвращает все объекты DataDriftDetector, определенные в рабочей области.

run

Выполните анализ смещения данных в одну точку во времени.

show

Отображение тренда смещения данных в заданном диапазоне времени.

По умолчанию этот метод показывает последние 10 циклов. Например, если частота — день, то это будет последние 10 дней. Если частота — неделя, то это будет последние 10 недель.

update

Обновите расписание, связанное с объектом DataDriftDetector.

Необязательные значения параметров можно задать для None, в противном случае они по умолчанию будут иметь существующие значения.

backfill

Выполните задание обратной заполнения по заданной дате начала и окончания.

Дополнительные сведения о перемещении данных см. в https://aka.ms/datadrift.

ПРИМЕЧАНИЕ. Backfill поддерживается только для объектов DataDriftDetector на основе набора данных.

backfill(start_date, end_date, compute_target=None, create_compute_target=False)

Параметры

Имя Описание
start_date
Обязательно

Дата начала задания резервной заполнения.

end_date
Обязательно

Дата окончания задания обратной заполнения включительно.

compute_target

Необязательное имя ComputeTarget или ComputeTarget в Машинном обучении Azure. DataDriftDetector создаст целевой объект вычислений, если он не указан.

Default value: None
create_compute_target

Указывает, создается ли целевой объект вычислений машинного обучения Azure автоматически.

Default value: False

Возвращаемое значение

Тип Описание
Run

Запуск DataDriftDetector.

create_from_datasets

Создайте объект DataDriftDetector из базового табличного набора данных и целевого набора данных временных рядов.

static create_from_datasets(workspace, name, baseline_dataset, target_dataset, compute_target=None, frequency=None, feature_list=None, alert_config=None, drift_threshold=None, latency=None)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область для создания DataDriftDetector в.

name
Обязательно
str

Уникальное имя объекта DataDriftDetector.

baseline_dataset
Обязательно

Набор данных для сравнения целевого набора данных с.

target_dataset
Обязательно

Набор данных для выполнения заданий adhoc или запланированных заданий DataDrift. Должен быть временным рядом.

compute_target

Необязательное имя ComputeTarget или ComputeTarget в Машинном обучении Azure. DataDriftDetector создаст целевой объект вычислений, если он не указан.

Default value: None
frequency
str

Необязательная частота, указывающая частоту выполнения конвейера. Поддерживает "День", "Неделя" или "Месяц".

Default value: None
feature_list

Необязательные функции списка разрешений для запуска обнаружения datadrift. Задания DataDriftDetector будут выполняться во всех функциях, если feature_list не указано. Список функций может содержать символы, числа, дефисы и пробелы. Длина списка должна быть меньше 200.

Default value: None
alert_config

Необязательный объект конфигурации для оповещений DataDriftDetector.

Default value: None
drift_threshold

Необязательное пороговое значение для включения оповещений DataDriftDetector. Значение должно быть от 0 до 1. Значение 0.2 используется при указании None (значение по умолчанию).

Default value: None
latency
int

Задержка в часах для отображения данных в наборе данных.

Default value: None

Возвращаемое значение

Тип Описание

Объект DataDriftDetector.

Исключения

Тип Описание
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>

Комментарии

DataDriftDetectors на основе набора данных позволяет вычислять смещение данных между базовым набором данных, который должен быть TabularDataset, и целевым набором данных, который должен быть набором данных временных рядов. Набор данных временных рядов — это просто TabularDataset со свойством fine_grain_timestamp. Затем DataDriftDetector может выполнять adhoc или запланированные задания, чтобы определить, был ли целевой набор данных дрейфован из базового набора данных.


   from azureml.core import Workspace, Dataset
   from azureml.datadrift import DataDriftDetector

   ws = Workspace.from_config()
   baseline = Dataset.get_by_name(ws, 'my_baseline_dataset')
   target = Dataset.get_by_name(ws, 'my_target_dataset')

   detector = DataDriftDetector.create_from_datasets(workspace=ws,
                                                     name="my_unique_detector_name",
                                                     baseline_dataset=baseline,
                                                     target_dataset=target,
                                                     compute_target_name='my_compute_target',
                                                     frequency="Day",
                                                     feature_list=['my_feature_1', 'my_feature_2'],
                                                     alert_config=AlertConfiguration(email_addresses=['[email protected]']),
                                                     drift_threshold=0.3,
                                                     latency=1)

delete

Удалите расписание для объекта DataDriftDetector.

delete(wait_for_completion=True)

Параметры

Имя Описание
wait_for_completion

Дождитесь завершения операции удаления.

Default value: True

disable_schedule

Отключите расписание для объекта DataDriftDetector.

disable_schedule(wait_for_completion=True)

Параметры

Имя Описание
wait_for_completion

Следует ли ожидать завершения операции отключения.

Default value: True

enable_schedule

Создайте расписание для выполнения задания DataDriftDetector на основе набора данных.

enable_schedule(create_compute_target=False, wait_for_completion=True)

Параметры

Имя Описание
create_compute_target

Указывает, создается ли целевой объект вычислений машинного обучения Azure автоматически.

Default value: False
wait_for_completion

Следует ли ожидать завершения операции включения.

Default value: True

get_by_name

Извлеките уникальный объект DataDriftDetector для заданной рабочей области и имени.

static get_by_name(workspace, name)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область, в которой была создана DataDriftDetector.

name
Обязательно
str

Имя возвращаемого объекта DataDriftDetector.

Возвращаемое значение

Тип Описание

Объект DataDriftDetector.

get_output

Получение кортежей результатов смещения и метрик для определенного периода времени DataDriftDetector.

get_output(start_time=None, end_time=None, run_id=None)

Параметры

Имя Описание
start_time
datetime, <xref:optional>

Время начала окна результатов в формате UTC. Если параметр None (по умолчанию) указан, в качестве времени начала используются самые последние 10-й цикл. Например, если частота расписания смещения данных составляет день, то start_time — 10 дней. Если частота — неделя, то start_time составляет 10 недель.

Default value: None
end_time
datetime, <xref:optional>

Время окончания окна результатов в формате UTC. Если параметр None (по умолчанию) указан, текущий день UTC используется в качестве окончания.

Default value: None
run_id
int, <xref:optional>

Определенный идентификатор выполнения.

Default value: None

Возвращаемое значение

Тип Описание

Кортеж списка результатов смещения и список отдельных наборов данных и метрики столбцов.

Комментарии

Этот метод возвращает кортеж результатов смещения и метрики для периода времени или идентификатора выполнения на основе типа выполнения: adhoc выполнения, запланированного выполнения и резервного выполнения.

  • Чтобы получить результаты выполнения adhoc, существует только один способ: run_id должен быть допустимым GUID.

  • Чтобы получить запланированные запуски и результаты резервной заполнения, можно назначить допустимый GUID run_id или назначить определенный start_time или end_time (включительно) при сохранении run_id как None.

  • Если run_id, start_timeи end_time не находятся ни в одном вызове метода, возникает исключение проверки параметров.

ПРИМЕЧАНИЕ. Укажите параметры start_time и end_time или параметр run_id, но не оба.

Возможно, существует несколько результатов для одной целевой даты (целевая дата означает дату начала целевого набора данных для смещения на основе набора данных). Поэтому необходимо определить и обрабатывать повторяющиеся результаты. Для смещения на основе набора данных, если результаты совпадают с целевой датой, они дублируются. Метод get_output будет дедупировать все повторяющиеся результаты по одному правилу: всегда подбирать последние созданные результаты.

Метод get_output можно использовать для получения всех выходных данных или частичных выходных данных запланированных запусков в определенном диапазоне времени между start_time и end_time (включенными границами). Кроме того, можно ограничить результаты отдельных adhoc, указав run_id.

Используйте следующие рекомендации, чтобы интерпретировать результаты, возвращаемые из метода get_output:

  • Принцип фильтрации является "перекрывающимся": если между фактическим временем результата (на основе набора данных: целевой набор данных [дата начала, дата окончания]) и заданным [start_time, end_time], то результат будет выбран.

  • Если для одной целевой даты существует несколько выходных данных, так как вычисления смещения выполнялись несколько раз в этот день, по умолчанию будут выбраны только последние выходные данные.

  • Учитывая наличие нескольких типов экземпляра смещения данных, содержимое результата может быть различным.

Для результатов на основе набора данных выходные данные будут выглядеть следующим образом:


   results : [{'drift_type': 'DatasetBased',
               'result':[{'has_drift': True, 'drift_threshold': 0.3,
                          'start_date': '2019-04-03', 'end_date': '2019-04-04',
                          'base_dataset_id': '4ac144ef-c86d-4c81-b7e5-ea6bbcd2dc7d',
                          'target_dataset_id': '13445141-aaaa-bbbb-cccc-ea23542bcaf9'}]}]
   metrics : [{'drift_type': 'DatasetBased',
               'metrics': [{'schema_version': '0.1',
                            'start_date': '2019-04-03', 'end_date': '2019-04-04',
                            'baseline_dataset_id': '4ac144ef-c86d-4c81-b7e5-ea6bbcd2dc7d',
                            'target_dataset_id': '13445141-aaaa-bbbb-cccc-ea23542bcaf9'
                            'dataset_metrics': [{'name': 'datadrift_coefficient', 'value': 0.53459}],
                            'column_metrics': [{'feature1': [{'name': 'datadrift_contribution',
                                                              'value': 288.0},
                                                             {'name': 'wasserstein_distance',
                                                              'value': 4.858040000000001},
                                                             {'name': 'energy_distance',
                                                              'value': 2.7204799576545313}]}]}]}]

list

Получите список объектов DataDriftDetector для указанной рабочей области и дополнительного набора данных.

ПРИМЕЧАНИЕ. Передача только параметра workspace возвращает все объекты DataDriftDetector, определенные в рабочей области.

static list(workspace, baseline_dataset=None, target_dataset=None)

Параметры

Имя Описание
workspace
Обязательно

Рабочая область, в которой были созданы объекты DataDriftDetector.

baseline_dataset

Базовый набор данных для фильтрации возвращаемого списка.

Default value: None
target_dataset

Целевой набор данных для фильтрации списка возвращаемых данных.

Default value: None

Возвращаемое значение

Тип Описание

Список объектов DataDriftDetector.

run

Выполните анализ смещения данных в одну точку во времени.

run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)

Параметры

Имя Описание
target_date
Обязательно

Целевая дата оценки данных в формате UTC.

compute_target

Необязательное имя ComputeTarget или ComputeTarget в Машинном обучении Azure. Если не указано, целевой объект вычислений создается автоматически.

Default value: None
create_compute_target

Указывает, создается ли целевой объект вычислений машинного обучения Azure автоматически.

Default value: False
feature_list

Необязательные функции списка разрешений для запуска обнаружения datadrift.

Default value: None
drift_threshold

Необязательное пороговое значение для включения оповещений DataDriftDetector.

Default value: None

Возвращаемое значение

Тип Описание
Run

Запуск DataDriftDetector.

show

Отображение тренда смещения данных в заданном диапазоне времени.

По умолчанию этот метод показывает последние 10 циклов. Например, если частота — день, то это будет последние 10 дней. Если частота — неделя, то это будет последние 10 недель.

show(start_time=None, end_time=None)

Параметры

Имя Описание
start_time
datetime, <xref:optional>

Начало периода времени презентации в формате UTC. Значение по умолчанию None означает, чтобы получить последние 10-й цикл результатов.

Default value: None
end_time
datetime, <xref:optional>

Конец периода времени представления данных в формате UTC. Значение по умолчанию None означает текущий день.

Default value: None

Возвращаемое значение

Тип Описание
dict()

Словарь всех цифр. Ключ service_name.

update

Обновите расписание, связанное с объектом DataDriftDetector.

Необязательные значения параметров можно задать для None, в противном случае они по умолчанию будут иметь существующие значения.

update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)

Параметры

Имя Описание
compute_target

Необязательное имя ComputeTarget или ComputeTarget в Машинном обучении Azure. DataDriftDetector создаст целевой объект вычислений, если этот параметр не указан.

Default value: Ellipsis
feature_list

В списке разрешенных функций для запуска обнаружения datadrift.

Default value: Ellipsis
schedule_start

Время начала расписания смещения данных в формате UTC.

Default value: Ellipsis
alert_config

Необязательный объект конфигурации для оповещений DataDriftDetector.

Default value: Ellipsis
drift_threshold

Пороговое значение для включения оповещений DataDriftDetector.

Default value: Ellipsis
wait_for_completion

Следует ли ожидать завершения операций включения или отключения и удаления.

Default value: True

Возвращаемое значение

Тип Описание

сам

Атрибуты

alert_config

Получите конфигурацию оповещения для объекта DataDriftDetector.

Возвращаемое значение

Тип Описание

Объект AlertConfiguration.

baseline_dataset

Получите базовый набор данных, связанный с объектом DataDriftDetector.

Возвращаемое значение

Тип Описание

Тип набора данных базового набора данных.

compute_target

Получите целевой объект вычислений, подключенный к объекту DataDriftDetector.

Возвращаемое значение

Тип Описание

Целевой объект вычислений.

drift_threshold

Получение порогового значения смещения для объекта DataDriftDetector.

Возвращаемое значение

Тип Описание

Порог смещения.

drift_type

Получите тип DataDriftDetector, "DatasetBased" является единственным значением, поддерживаемым в настоящее время.

Возвращаемое значение

Тип Описание
str

Тип объекта DataDriftDetector.

enabled

Логическое значение, указывающее, включен ли объект DataDriftDetector.

Возвращаемое значение

Тип Описание

Логическое значение; Значение true для включенного.

feature_list

Получите список разрешенных функций для объекта DataDriftDetector.

Возвращаемое значение

Тип Описание

Список имен признаков.

frequency

Получите частоту расписания DataDriftDetector.

Возвращаемое значение

Тип Описание
str

Строка "День", "Неделя" или "Месяц"

interval

Получение интервала расписания DataDriftDetector.

Возвращаемое значение

Тип Описание
int

Целочисленное значение единицы времени.

latency

Получение задержки заданий расписания DataDriftDetector (в часах).

Возвращаемое значение

Тип Описание
int

Количество часов, представляющих задержку.

name

Получите имя объекта DataDriftDetector.

Возвращаемое значение

Тип Описание
str

Имя DataDriftDetector.

schedule_start

Получите время начала расписания.

Возвращаемое значение

Тип Описание

Объект datetime времени начала расписания в формате UTC.

state

Обозначает состояние расписания DataDriftDetector.

Возвращаемое значение

Тип Описание
str

Один из "Отключено", "Включено", "Удалено", "Отключение", "Включение", "Удаление", "Сбой", "DisableFailed", "EnableFailed", "DeleteFailed".

target_dataset

Получите целевой набор данных, связанный с объектом DataDriftDetector.

Возвращаемое значение

Тип Описание

Тип набора данных базового набора данных.

workspace

Получите рабочую область объекта DataDriftDetector.

Возвращаемое значение

Тип Описание

Рабочая область, в которую был создан объект DataDriftDetector.