DataDriftDetector Clase
Define un monitor de desfase de datos que se puede usar para ejecutar trabajos de desfase de datos en Azure Machine Learning.
La clase DataDriftDetector permite identificar el desfase entre una línea base determinada y un conjunto de datos de destino. Un objeto DataDriftDetector se crea en un área de trabajo especificando directamente los conjuntos de datos de línea base y de destino. Para obtener más información, consulte https://aka.ms/datadrift.
Constructor datadriftdetector.
El constructor DataDriftDetector se usa para recuperar una representación en la nube de un objeto DataDriftDetector asociado al área de trabajo proporcionada.
- Herencia
-
builtins.objectDataDriftDetector
Constructor
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)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Área de trabajo en la que se va a crear el objeto DataDriftDetector. |
name
|
Nombre único para el objeto DataDriftDetector. Valor predeterminado: None
|
baseline_dataset
|
Conjunto de datos con el que se va a comparar el conjunto de datos de destino. Valor predeterminado: None
|
target_dataset
|
Conjunto de datos para el que se ejecutarán trabajos adhoc o DataDrift programados. Debe ser una serie temporal. Valor predeterminado: None
|
compute_target
|
Nombre opcional ComputeTarget o ComputeTarget opcional. DataDriftDetector creará un destino de proceso si no se especifica uno. Valor predeterminado: None
|
frequency
|
Frecuencia opcional que indica la frecuencia con la que se ejecuta la canalización. Admite "Day", "Week" o "Month". Valor predeterminado: None
|
feature_list
|
Características opcionales en la lista blanca para ejecutar la detección de datadrift. Los trabajos de DataDriftDetector se ejecutarán en todas las características si no se especifica Valor predeterminado: None
|
alert_config
|
Objeto de configuración opcional para las alertas de DataDriftDetector. Valor predeterminado: None
|
drift_threshold
|
Umbral opcional para habilitar las alertas de DataDriftDetector. El valor debe estar comprendido entre 0 y 1. Se usa un valor de 0,2 cuando se especifica None (valor predeterminado). Valor predeterminado: None
|
latency
|
Retraso en horas para que los datos aparezcan en el conjunto de datos. Valor predeterminado: None
|
workspace
Requerido
|
Área de trabajo en la que se va a crear el objeto DataDriftDetector. |
name
Requerido
|
Nombre único para el objeto DataDriftDetector. |
baseline_dataset
Requerido
|
Conjunto de datos con el que se va a comparar el conjunto de datos de destino. |
target_dataset
Requerido
|
Conjunto de datos para el que se ejecutarán trabajos adhoc o DataDrift programados. Debe ser una serie temporal. |
compute_target
Requerido
|
Nombre opcional ComputeTarget o ComputeTarget opcional. DataDriftDetector creará un destino de proceso si no se especifica uno. |
frequency
Requerido
|
Frecuencia opcional que indica la frecuencia con la que se ejecuta la canalización. Admite "Day", "Week" o "Month". |
feature_list
Requerido
|
Características opcionales en la lista blanca para ejecutar la detección de datadrift. Los trabajos de DataDriftDetector se ejecutarán en todas las características si no se especifica |
alert_config
Requerido
|
Objeto de configuración opcional para las alertas de DataDriftDetector. |
drift_threshold
Requerido
|
Umbral opcional para habilitar las alertas de DataDriftDetector. El valor debe estar comprendido entre 0 y 1. Se usa un valor de 0,2 cuando se especifica None (valor predeterminado). |
latency
Requerido
|
Retraso en horas para que los datos aparezcan en el conjunto de datos. |
Comentarios
Un objeto DataDriftDetector representa una definición de trabajo de desfase de datos que se puede usar para ejecutar tres tipos de ejecución de trabajos:
un ad hoc ejecutar para analizar el valor de datos de un día específico; consulte el método run.
una ejecución programada en una canalización; consulte el método enable_schedule.
una ejecución de reposición para ver cómo cambian los datos a lo largo del tiempo; consulte el método backfill.
El patrón típico para crear un DataDriftDetector es:
- Para crear un objeto DataDriftDetector basado en conjuntos de datos, use create_from_datasets
El constructor DataDriftDetector recupera un objeto de desfase de datos existente asociado al área de trabajo.
Métodos
backfill |
Ejecute un trabajo de reposición a través de una fecha de inicio y finalización especificadas. Consulte https://aka.ms/datadrift para más información sobre las ejecuciones de reposición de desfase de datos. NOTA: Backfill solo se admite en objetos DataDriftDetector basados en conjuntos de datos. |
create_from_datasets |
Cree un nuevo objeto DataDriftDetector a partir de un conjunto de datos tabular de línea base y un conjunto de datos de serie temporal de destino. |
delete |
Elimine la programación del objeto DataDriftDetector. |
disable_schedule |
Deshabilite la programación del objeto DataDriftDetector. |
enable_schedule |
Cree una programación para ejecutar el trabajo dataDriftDetector basado en conjuntos de datos. |
get_by_name |
Recupere un objeto DataDriftDetector único para un área de trabajo y un nombre determinado. |
get_output |
Obtenga una tupla de los resultados de desfase y las métricas de un dataDriftDetector específico en un período de tiempo determinado. |
list |
Obtenga una lista de objetos DataDriftDetector para el área de trabajo especificada y el conjunto de datos opcional.
NOTA: Pasar solo el parámetro |
run |
Ejecute un único análisis de desfase de datos a un momento dado. |
show |
Mostrar la tendencia del desfase de datos en un intervalo de tiempo determinado. De forma predeterminada, este método muestra los 10 ciclos más recientes. Por ejemplo, si la frecuencia es día, será la más reciente de 10 días. Si la frecuencia es semana, será la más reciente de 10 semanas. |
update |
Actualice la programación asociada al objeto DataDriftDetector. Los valores de parámetro opcionales se pueden establecer en |
backfill
Ejecute un trabajo de reposición a través de una fecha de inicio y finalización especificadas.
Consulte https://aka.ms/datadrift para más información sobre las ejecuciones de reposición de desfase de datos.
NOTA: Backfill solo se admite en objetos DataDriftDetector basados en conjuntos de datos.
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
Parámetros
Nombre | Description |
---|---|
start_date
Requerido
|
Fecha de inicio del trabajo de reposición. |
end_date
Requerido
|
Fecha de finalización del trabajo de reposición, ambos incluidos. |
compute_target
|
Nombre opcional ComputeTarget o ComputeTarget opcional. DataDriftDetector creará un destino de proceso si no se especifica ninguno. Valor predeterminado: None
|
create_compute_target
|
Indica si se crea automáticamente un destino de proceso de Azure Machine Learning. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Una ejecución de DataDriftDetector. |
create_from_datasets
Cree un nuevo objeto DataDriftDetector a partir de un conjunto de datos tabular de línea base y un conjunto de datos de serie temporal de destino.
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)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Área de trabajo en la que se va a crear DataDriftDetector. |
name
Requerido
|
Nombre único para el objeto DataDriftDetector. |
baseline_dataset
Requerido
|
Conjunto de datos con el que se va a comparar el conjunto de datos de destino. |
target_dataset
Requerido
|
Conjunto de datos para el que se ejecutarán trabajos adhoc o DataDrift programados. Debe ser una serie temporal. |
compute_target
|
Nombre opcional ComputeTarget o ComputeTarget opcional. DataDriftDetector creará un destino de proceso si no se especifica uno. Valor predeterminado: None
|
frequency
|
Frecuencia opcional que indica la frecuencia con la que se ejecuta la canalización. Admite "Day", "Week" o "Month". Valor predeterminado: None
|
feature_list
|
Características opcionales en la lista blanca para ejecutar la detección de datadrift. Los trabajos de DataDriftDetector se ejecutarán en todas las características si no se especifica Valor predeterminado: None
|
alert_config
|
Objeto de configuración opcional para las alertas de DataDriftDetector. Valor predeterminado: None
|
drift_threshold
|
Umbral opcional para habilitar las alertas de DataDriftDetector. El valor debe estar comprendido entre 0 y 1. Se usa un valor de 0,2 cuando se especifica None (valor predeterminado). Valor predeterminado: None
|
latency
|
Retraso en horas para que los datos aparezcan en el conjunto de datos. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
Objeto DataDriftDetector. |
Excepciones
Tipo | Description |
---|---|
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>
|
Comentarios
Los DataDriftDetectors basados en conjuntos de datos permiten calcular el desfase de datos entre un conjunto de datos de línea base, que debe ser una TabularDatasety un conjunto de datos de destino, que debe ser un conjunto de datos de serie temporal. Un conjunto de datos de serie temporal es simplemente un TabularDataset con la propiedad fine_grain_timestamp. DataDriftDetector puede ejecutar adhoc o trabajos programados para determinar si el conjunto de datos de destino se ha desviado del conjunto de datos de línea base.
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=['user@contoso.com']),
drift_threshold=0.3,
latency=1)
delete
Elimine la programación del objeto DataDriftDetector.
delete(wait_for_completion=True)
Parámetros
Nombre | Description |
---|---|
wait_for_completion
|
Si desea esperar a que se complete la operación de eliminación. Valor predeterminado: True
|
disable_schedule
Deshabilite la programación del objeto DataDriftDetector.
disable_schedule(wait_for_completion=True)
Parámetros
Nombre | Description |
---|---|
wait_for_completion
|
Si se debe esperar a que se complete la operación de deshabilitación. Valor predeterminado: True
|
enable_schedule
Cree una programación para ejecutar el trabajo dataDriftDetector basado en conjuntos de datos.
enable_schedule(create_compute_target=False, wait_for_completion=True)
Parámetros
Nombre | Description |
---|---|
create_compute_target
|
Indica si se crea automáticamente un destino de proceso de Azure Machine Learning. Valor predeterminado: False
|
wait_for_completion
|
Si desea esperar a que se complete la operación de habilitación. Valor predeterminado: True
|
get_by_name
Recupere un objeto DataDriftDetector único para un área de trabajo y un nombre determinado.
static get_by_name(workspace, name)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Área de trabajo donde se creó DataDriftDetector. |
name
Requerido
|
Nombre del objeto DataDriftDetector que se va a devolver. |
Devoluciones
Tipo | Description |
---|---|
Objeto DataDriftDetector. |
get_output
Obtenga una tupla de los resultados de desfase y las métricas de un dataDriftDetector específico en un período de tiempo determinado.
get_output(start_time=None, end_time=None, run_id=None)
Parámetros
Nombre | Description |
---|---|
start_time
|
datetime, <xref:optional>
Hora de inicio de la ventana de resultados en UTC. Si se especifica None (el valor predeterminado), los resultados del ciclo 10 más recientes se usan como hora de inicio. Por ejemplo, si la frecuencia de la programación de desfase de datos es día, Valor predeterminado: None
|
end_time
|
datetime, <xref:optional>
Hora de finalización de la ventana de resultados en UTC. Si se especifica None (valor predeterminado), se usa la hora UTC del día actual como hora de finalización. Valor predeterminado: None
|
run_id
|
int, <xref:optional>
Identificador de ejecución específico. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
Una tupla de una lista de resultados de desfase y una lista de métricas individuales de conjunto de datos y columnas. |
Comentarios
Este método devuelve una tupla de resultados de desfase y métricas para un período de tiempo o un identificador de ejecución en función del tipo de ejecución: un adhoc ejecutar, una ejecución programada y una ejecución de reposición.
Para recuperar adhoc resultados de ejecución, solo hay una manera:
run_id
debe ser un GUID válido.Para recuperar las ejecuciones programadas y los resultados de la ejecución de reposición, hay dos maneras diferentes: asignar un GUID válido para
run_id
o asignar unstart_time
específico oend_time
(inclusivo) al mantenerrun_id
como Ninguno.Si
run_id
,start_time
yend_time
no son None en la misma llamada de método, se genera una excepción de validación de parámetros.
NOTA: Especifique los parámetros start_time
y end_time
o el parámetro run_id
, pero no ambos.
Es posible que haya varios resultados para la misma fecha de destino (fecha de destino significa fecha de inicio del conjunto de datos de destino para el desfase basado en conjuntos de datos). Por lo tanto, es necesario identificar y controlar los resultados duplicados.
En el caso del desfase basado en conjuntos de datos, si los resultados son para la misma fecha de destino, se duplican los resultados.
El método get_output
desduplicará los resultados duplicados por una regla: siempre recogerá los resultados generados más recientes.
El método get_output
se puede usar para recuperar todas las salidas o salidas parciales de ejecuciones programadas en un intervalo de tiempo específico entre start_time
y end_time
(límite incluido). También puede limitar los resultados de un adhoc individual especificando el run_id
.
Use las instrucciones siguientes para ayudar a interpretar los resultados devueltos desde el método get_output
:
El principio de filtrado es "superpuesto": siempre que haya una superposición entre el tiempo de resultado real (basado en el conjunto de datos: conjunto de datos de destino [fecha de inicio, fecha de finalización]) y el determinado [
start_time
,end_time
], se recogerá el resultado.Si hay varias salidas para una fecha de destino porque el cálculo del desfase se ejecutó varias veces en ese día, solo se seleccionará la salida más reciente de forma predeterminada.
Dado que hay varios tipos de una instancia de desfase de datos, el contenido del resultado podría ser varios.
En el caso de los resultados basados en conjuntos de datos, la salida será similar a la siguiente:
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
Obtenga una lista de objetos DataDriftDetector para el área de trabajo especificada y el conjunto de datos opcional.
NOTA: Pasar solo el parámetro workspace
devolverá todos los objetos DataDriftDetector, definidos en el área de trabajo.
static list(workspace, baseline_dataset=None, target_dataset=None)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Área de trabajo donde se crearon los objetos DataDriftDetector. |
baseline_dataset
|
Conjunto de datos de línea base para filtrar la lista de devolución. Valor predeterminado: None
|
target_dataset
|
Conjunto de datos de destino para filtrar la lista de devolución. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
Lista de objetos DataDriftDetector. |
run
Ejecute un único análisis de desfase de datos a un momento dado.
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
Parámetros
Nombre | Description |
---|---|
target_date
Requerido
|
Fecha de destino de los datos de puntuación en UTC. |
compute_target
|
Nombre opcional ComputeTarget o ComputeTarget opcional. Si no se especifica, se crea automáticamente un destino de proceso. Valor predeterminado: None
|
create_compute_target
|
Indica si se crea automáticamente un destino de proceso de Azure Machine Learning. Valor predeterminado: False
|
feature_list
|
Características opcionales en la lista blanca para ejecutar la detección de datadrift. Valor predeterminado: None
|
drift_threshold
|
Umbral opcional para habilitar las alertas de DataDriftDetector. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
Una ejecución de DataDriftDetector. |
show
Mostrar la tendencia del desfase de datos en un intervalo de tiempo determinado.
De forma predeterminada, este método muestra los 10 ciclos más recientes. Por ejemplo, si la frecuencia es día, será la más reciente de 10 días. Si la frecuencia es semana, será la más reciente de 10 semanas.
show(start_time=None, end_time=None)
Parámetros
Nombre | Description |
---|---|
start_time
|
datetime, <xref:optional>
Inicio del período de tiempo de presentación en UTC. El valor predeterminado None significa recoger los resultados del ciclo 10 más reciente. Valor predeterminado: None
|
end_time
|
datetime, <xref:optional>
El final del período de tiempo de datos de presentación en UTC. El valor predeterminado None significa el día actual. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
dict()
|
Diccionario de todas las figuras. La clave es service_name. |
update
Actualice la programación asociada al objeto DataDriftDetector.
Los valores de parámetro opcionales se pueden establecer en None
; de lo contrario, tienen como valor predeterminado sus valores existentes.
update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)
Parámetros
Nombre | Description |
---|---|
compute_target
|
Nombre opcional ComputeTarget o ComputeTarget opcional. DataDriftDetector creará un destino de proceso si no se especifica este parámetro. Valor predeterminado: Ellipsis
|
feature_list
|
Características en la lista de permitidos para ejecutar la detección de datadrift activada. Valor predeterminado: Ellipsis
|
schedule_start
|
Hora de inicio de la programación de desfase de datos en UTC. Valor predeterminado: Ellipsis
|
alert_config
|
Objeto de configuración opcional para las alertas de DataDriftDetector. Valor predeterminado: Ellipsis
|
drift_threshold
|
Umbral en el que se habilitan las alertas de DataDriftDetector. Valor predeterminado: Ellipsis
|
wait_for_completion
|
Si desea esperar a que se completen las operaciones enable/disable/delete. Valor predeterminado: True
|
Devoluciones
Tipo | Description |
---|---|
propio |
Atributos
alert_config
Obtenga la configuración de alertas del objeto DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Objeto AlertConfiguration. |
baseline_dataset
Obtenga el conjunto de datos de línea base asociado al objeto DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Tipo de conjunto de datos del conjunto de datos de línea base. |
compute_target
Obtenga el destino de proceso asociado al objeto DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Destino de proceso. |
drift_threshold
Obtenga el umbral de desfase del objeto DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Umbral de desfase. |
drift_type
Obtenga el tipo de DataDriftDetector, "DatasetBased" es el único valor admitido por ahora.
Devoluciones
Tipo | Description |
---|---|
Tipo de objeto DataDriftDetector. |
enabled
Obtenga el valor booleano que indica si el objeto DataDriftDetector está habilitado.
Devoluciones
Tipo | Description |
---|---|
Valor booleano; True para habilitado. |
feature_list
Obtenga la lista de características en la lista blanca del objeto DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Lista de nombres de características. |
frequency
Obtenga la frecuencia de la programación DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Cadena de "Day", "Week" o "Month" |
interval
Obtenga el intervalo de la programación DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Valor entero de la unidad de tiempo. |
latency
Obtenga la latencia de los trabajos de programación dataDriftDetector (en horas).
Devoluciones
Tipo | Description |
---|---|
Número de horas que representan la latencia. |
name
Obtenga el nombre del objeto DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Nombre de DataDriftDetector. |
schedule_start
Obtenga la hora de inicio de la programación.
Devoluciones
Tipo | Description |
---|---|
Objeto datetime de la hora de inicio de la programación en UTC. |
state
Denota el estado de la programación DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Uno de los elementos 'Disabled', 'Enabled', 'Deleted', 'Disable', 'Enabling', 'Deeting', 'Failed', 'DisableFailed', 'EnableFailed', 'DeleteFailed'. |
target_dataset
Obtenga el conjunto de datos de destino asociado al objeto DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Tipo de conjunto de datos del conjunto de datos de línea base. |
workspace
Obtenga el área de trabajo del objeto DataDriftDetector.
Devoluciones
Tipo | Description |
---|---|
Área de trabajo en la que se creó el objeto DataDriftDetector. |