DataDriftDetector Classe
Définit un moniteur de dérive de données qui peut être utilisé pour exécuter des travaux de dérive de données dans Azure Machine Learning.
La classe DataDriftDetector vous permet d’identifier la dérive entre une base de référence et un jeu de données cible donné. Un objet DataDriftDetector est créé dans un espace de travail en spécifiant directement les jeux de données de base et cibles. Pour plus d’informations, consultez https://aka.ms/datadrift.
Constructeur Datadriftdetector.
Le constructeur DataDriftDetector est utilisé pour récupérer une représentation cloud d’un objet DataDriftDetector associé à l’espace de travail fourni.
- Héritage
-
builtins.objectDataDriftDetector
Constructeur
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)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail dans lequel créer l’objet DataDriftDetector. |
name
|
Nom unique de l’objet DataDriftDetector. Valeur par défaut: None
|
baseline_dataset
|
Jeu de données à comparer au jeu de données cible par rapport à celui-ci. Valeur par défaut: None
|
target_dataset
|
Jeu de données pour lequel exécuter des travaux DataDrift ou planifiés. Doit être une série chronologique. Valeur par défaut: None
|
compute_target
|
ComputeTarget ou
str
Nom de ComputeTarget ou ComputeTarget facultatif d’Azure Machine Learning. DataDriftDetector crée une cible de calcul si elle n’est pas spécifiée. Valeur par défaut: None
|
frequency
|
Fréquence facultative indiquant la fréquence à laquelle le pipeline est exécuté. Prend en charge « Day », « Week » ou « Month ». Valeur par défaut: None
|
feature_list
|
Fonctionnalités de liste verte facultatives pour exécuter la détection des données sur. Les travaux DataDriftDetector s’exécutent sur toutes les fonctionnalités si Valeur par défaut: None
|
alert_config
|
Objet de configuration facultatif pour les alertes DataDriftDetector. Valeur par défaut: None
|
drift_threshold
|
Seuil facultatif pour activer les alertes DataDriftDetector sur. La valeur doit être comprise entre 0 et 1. La valeur 0.2 est utilisée lorsque Aucun est spécifié (valeur par défaut). Valeur par défaut: None
|
latency
|
Retard en heures pour que les données apparaissent dans le jeu de données. Valeur par défaut: None
|
workspace
Obligatoire
|
Espace de travail dans lequel créer l’objet DataDriftDetector. |
name
Obligatoire
|
Nom unique de l’objet DataDriftDetector. |
baseline_dataset
Obligatoire
|
Jeu de données à comparer au jeu de données cible par rapport à celui-ci. |
target_dataset
Obligatoire
|
Jeu de données pour lequel exécuter des travaux DataDrift ou planifiés. Doit être une série chronologique. |
compute_target
Obligatoire
|
ComputeTarget ou
str
Nom de ComputeTarget ou ComputeTarget facultatif d’Azure Machine Learning. DataDriftDetector crée une cible de calcul si elle n’est pas spécifiée. |
frequency
Obligatoire
|
Fréquence facultative indiquant la fréquence à laquelle le pipeline est exécuté. Prend en charge « Day », « Week » ou « Month ». |
feature_list
Obligatoire
|
Fonctionnalités de liste verte facultatives pour exécuter la détection des données sur. Les travaux DataDriftDetector s’exécutent sur toutes les fonctionnalités si |
alert_config
Obligatoire
|
Objet de configuration facultatif pour les alertes DataDriftDetector. |
drift_threshold
Obligatoire
|
Seuil facultatif pour activer les alertes DataDriftDetector sur. La valeur doit être comprise entre 0 et 1. La valeur 0.2 est utilisée lorsque Aucun est spécifié (valeur par défaut). |
latency
Obligatoire
|
Retard en heures pour que les données apparaissent dans le jeu de données. |
Remarques
Un objet DataDriftDetector représente une définition de travail de dérive de données qui peut être utilisée pour exécuter trois types d’exécution de travaux :
un adhoc s’exécuter pour analyser la valeur d’une journée spécifique des données ; consultez la méthode run.
une exécution planifiée dans un pipeline ; consultez la méthode enable_schedule.
une exécution de remplissage pour voir comment les données changent au fil du temps ; consultez la méthode backfill.
Le modèle classique de création d’un DataDriftDetector est le suivant :
- Pour créer un objet DataDriftDetector basé sur un jeu de données, utilisez create_from_datasets
Le constructeur DataDriftDetector récupère un objet de dérive de données existant associé à l’espace de travail.
Méthodes
backfill |
Exécutez un travail de remplissage sur une date de début et de fin spécifiée spécifiée. Consultez https://aka.ms/datadrift pour plus d’informations sur les exécutions de remplissage de dérive de données. REMARQUE : Le remplissage arrière n’est pris en charge que sur les objets DataDriftDetector basés sur un jeu de données. |
create_from_datasets |
Créez un objet DataDriftDetector à partir d’un jeu de données tabulaire de référence et d’un jeu de données de série chronologique cible. |
delete |
Supprimez la planification de l’objet DataDriftDetector. |
disable_schedule |
Désactivez la planification de l’objet DataDriftDetector. |
enable_schedule |
Créez une planification pour exécuter un travail DataDriftDetector basé sur un jeu de données. |
get_by_name |
Récupérez un objet DataDriftDetector unique pour un espace de travail et un nom donnés. |
get_output |
Obtenez un tuple des résultats et des métriques de dérive pour un DataDriftDetector spécifique sur une fenêtre de temps donnée. |
list |
Obtenez la liste des objets DataDriftDetector pour l’espace de travail spécifié et le jeu de données facultatif.
REMARQUE : Passage uniquement du paramètre |
run |
Exécutez une analyse de dérive de données à un point unique dans le temps. |
show |
Afficher la tendance de dérive des données dans un intervalle de temps donné. Par défaut, cette méthode affiche les 10 cycles les plus récents. Par exemple, si la fréquence est le jour, il s’agit des 10 derniers jours. Si la fréquence est la semaine, il s’agit des 10 dernières semaines. |
update |
Mettez à jour la planification associée à l’objet DataDriftDetector. Les valeurs de paramètre facultatives peuvent être définies sur |
backfill
Exécutez un travail de remplissage sur une date de début et de fin spécifiée spécifiée.
Consultez https://aka.ms/datadrift pour plus d’informations sur les exécutions de remplissage de dérive de données.
REMARQUE : Le remplissage arrière n’est pris en charge que sur les objets DataDriftDetector basés sur un jeu de données.
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
Paramètres
Nom | Description |
---|---|
start_date
Obligatoire
|
Date de début du travail de remplissage. |
end_date
Obligatoire
|
Date de fin du travail de remplissage, inclus. |
compute_target
|
ComputeTarget ou
str
Nom de ComputeTarget ou ComputeTarget facultatif d’Azure Machine Learning. DataDriftDetector crée une cible de calcul si aucune n’est spécifiée. Valeur par défaut: None
|
create_compute_target
|
Indique si une cible de calcul Azure Machine Learning est créée automatiquement. Valeur par défaut: False
|
Retours
Type | Description |
---|---|
Une exécution DataDriftDetector. |
create_from_datasets
Créez un objet DataDriftDetector à partir d’un jeu de données tabulaire de référence et d’un jeu de données de série chronologique cible.
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)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail dans lequel créer DataDriftDetector. |
name
Obligatoire
|
Nom unique de l’objet DataDriftDetector. |
baseline_dataset
Obligatoire
|
Jeu de données à comparer au jeu de données cible par rapport à celui-ci. |
target_dataset
Obligatoire
|
Jeu de données pour lequel exécuter des travaux DataDrift ou planifiés. Doit être une série chronologique. |
compute_target
|
ComputeTarget ou
str
Nom de ComputeTarget ou ComputeTarget facultatif d’Azure Machine Learning. DataDriftDetector crée une cible de calcul si elle n’est pas spécifiée. Valeur par défaut: None
|
frequency
|
Fréquence facultative indiquant la fréquence à laquelle le pipeline est exécuté. Prend en charge « Day », « Week » ou « Month ». Valeur par défaut: None
|
feature_list
|
Fonctionnalités de liste verte facultatives pour exécuter la détection des données sur. Les travaux DataDriftDetector s’exécutent sur toutes les fonctionnalités si Valeur par défaut: None
|
alert_config
|
Objet de configuration facultatif pour les alertes DataDriftDetector. Valeur par défaut: None
|
drift_threshold
|
Seuil facultatif pour activer les alertes DataDriftDetector sur. La valeur doit être comprise entre 0 et 1. La valeur 0.2 est utilisée lorsque Aucun est spécifié (valeur par défaut). Valeur par défaut: None
|
latency
|
Retard en heures pour que les données apparaissent dans le jeu de données. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Objet DataDriftDetector. |
Exceptions
Type | Description |
---|---|
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>
|
Remarques
Les DataDriftDetectors basés sur des jeux de données vous permettent de calculer la dérive des données entre un jeu de données de référence, qui doit être un TabularDatasetet un jeu de données cible, qui doit être un jeu de données de série chronologique. Un jeu de données de série chronologique est simplement un TabularDataset avec la propriété fine_grain_timestamp. DataDriftDetector peut ensuite exécuter travaux adhoc ou planifiés pour déterminer si le jeu de données cible a dérivé du jeu de données de référence.
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
Supprimez la planification de l’objet DataDriftDetector.
delete(wait_for_completion=True)
Paramètres
Nom | Description |
---|---|
wait_for_completion
|
Indique s’il faut attendre la fin de l’opération de suppression. Valeur par défaut: True
|
disable_schedule
Désactivez la planification de l’objet DataDriftDetector.
disable_schedule(wait_for_completion=True)
Paramètres
Nom | Description |
---|---|
wait_for_completion
|
Indique s’il faut attendre la fin de l’opération de désactivation. Valeur par défaut: True
|
enable_schedule
Créez une planification pour exécuter un travail DataDriftDetector basé sur un jeu de données.
enable_schedule(create_compute_target=False, wait_for_completion=True)
Paramètres
Nom | Description |
---|---|
create_compute_target
|
Indique si une cible de calcul Azure Machine Learning est créée automatiquement. Valeur par défaut: False
|
wait_for_completion
|
Indique s’il faut attendre la fin de l’opération d’activation. Valeur par défaut: True
|
get_by_name
Récupérez un objet DataDriftDetector unique pour un espace de travail et un nom donnés.
static get_by_name(workspace, name)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail où DataDriftDetector a été créé. |
name
Obligatoire
|
Nom de l’objet DataDriftDetector à retourner. |
Retours
Type | Description |
---|---|
Objet DataDriftDetector. |
get_output
Obtenez un tuple des résultats et des métriques de dérive pour un DataDriftDetector spécifique sur une fenêtre de temps donnée.
get_output(start_time=None, end_time=None, run_id=None)
Paramètres
Nom | Description |
---|---|
start_time
|
datetime, <xref:optional>
Heure de début de la fenêtre de résultats au format UTC. Si aucun (valeur par défaut) est spécifié, les résultats du 10e cycle les plus récents sont utilisés comme heure de début. Par exemple, si la fréquence de la planification de dérive de données est la journée, Valeur par défaut: None
|
end_time
|
datetime, <xref:optional>
Heure de fin de la fenêtre de résultats au format UTC. Si aucun (valeur par défaut) est spécifié, l’heure UTC actuelle est utilisée comme heure de fin. Valeur par défaut: None
|
run_id
|
int, <xref:optional>
ID d’exécution spécifique. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Tuple d’une liste de résultats de dérive et d’une liste de métriques de jeu de données et de colonnes individuelles. |
Remarques
Cette méthode retourne un tuple de résultats et de métriques de dérive pour une fenêtre de temps ou un ID d’exécution en fonction du type d’exécution : un adhoc exécuter, une exécution planifiée et une exécution de remplissage.
Pour récupérer résultats d’exécution, il n’existe qu’une seule façon :
run_id
doit être un GUID valide.Pour récupérer les exécutions planifiées et remplir les résultats de l’exécution, il existe deux façons différentes : affecter un GUID valide à
run_id
ou affecter unstart_time
spécifique et/ouend_time
(inclusif) tout en conservantrun_id
en tant que Aucun.Si
run_id
,start_time
etend_time
ne sont pas dans le même appel de méthode, une exception de validation de paramètre est levée.
REMARQUE : spécifiez les paramètres start_time
et end_time
ou le paramètre run_id
, mais pas les deux.
Il est possible qu’il existe plusieurs résultats pour la même date cible (la date cible signifie la date de début du jeu de données cible pour la dérive basée sur le jeu de données). Par conséquent, il est nécessaire d’identifier et de gérer les résultats en double.
Pour la dérive basée sur un jeu de données, si les résultats correspondent à la même date cible, ils sont des résultats dupliqués.
La méthode get_output
déduplication des résultats dupliqués par une règle : récupère toujours les résultats générés les plus récents.
La méthode get_output
peut être utilisée pour récupérer toutes les sorties ou sorties partielles des exécutions planifiées dans un intervalle de temps spécifique entre start_time
et end_time
(limite incluse). Vous pouvez également limiter les résultats d’un individuel en spécifiant le run_id
.
Utilisez les instructions suivantes pour aider à interpréter les résultats retournés par la méthode get_output
:
Le principe du filtrage est « chevauchement » : tant qu’il existe un chevauchement entre l’heure de résultat réelle (basée sur le jeu de données : jeu de données cible [date de début, date de fin]) et la [
start_time
,end_time
], le résultat sera récupéré.S’il existe plusieurs sorties pour une date cible, car le calcul de dérive a été exécuté plusieurs fois par rapport à ce jour, seule la dernière sortie sera choisie par défaut.
Étant donné qu’il existe plusieurs types d’instance de dérive de données, le contenu du résultat peut être varié.
Pour les résultats basés sur un jeu de données, la sortie se présente comme suit :
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
Obtenez la liste des objets DataDriftDetector pour l’espace de travail spécifié et le jeu de données facultatif.
REMARQUE : Passage uniquement du paramètre workspace
retourne tous les objets DataDriftDetector, définis dans l’espace de travail.
static list(workspace, baseline_dataset=None, target_dataset=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail où les objets DataDriftDetector ont été créés. |
baseline_dataset
|
Jeu de données de référence pour filtrer la liste de retour. Valeur par défaut: None
|
target_dataset
|
Jeu de données cible pour filtrer la liste de retour. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Liste des objets DataDriftDetector. |
run
Exécutez une analyse de dérive de données à un point unique dans le temps.
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
Paramètres
Nom | Description |
---|---|
target_date
Obligatoire
|
Date cible des données de scoring au format UTC. |
compute_target
|
ComputeTarget ou
str
Nom de ComputeTarget ou ComputeTarget facultatif d’Azure Machine Learning. S’il n’est pas spécifié, une cible de calcul est créée automatiquement. Valeur par défaut: None
|
create_compute_target
|
Indique si une cible de calcul Azure Machine Learning est créée automatiquement. Valeur par défaut: False
|
feature_list
|
Fonctionnalités de liste verte facultatives pour exécuter la détection des données sur. Valeur par défaut: None
|
drift_threshold
|
Seuil facultatif pour activer les alertes DataDriftDetector sur. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Une exécution DataDriftDetector. |
show
Afficher la tendance de dérive des données dans un intervalle de temps donné.
Par défaut, cette méthode affiche les 10 cycles les plus récents. Par exemple, si la fréquence est le jour, il s’agit des 10 derniers jours. Si la fréquence est la semaine, il s’agit des 10 dernières semaines.
show(start_time=None, end_time=None)
Paramètres
Nom | Description |
---|---|
start_time
|
datetime, <xref:optional>
Début de la fenêtre de temps de présentation au format UTC. La valeur par défaut None signifie de récupérer les résultats du 10e cycle les plus récents. Valeur par défaut: None
|
end_time
|
datetime, <xref:optional>
Fin de la fenêtre de temps de données de présentation au format UTC. La valeur None par défaut signifie le jour actuel. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
dict()
|
Dictionnaire de toutes les figures. La clé est service_name. |
update
Mettez à jour la planification associée à l’objet DataDriftDetector.
Les valeurs de paramètre facultatives peuvent être définies sur None
; sinon, elles sont définies par défaut sur leurs valeurs existantes.
update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)
Paramètres
Nom | Description |
---|---|
compute_target
|
ComputeTarget ou
str
Nom de ComputeTarget ou ComputeTarget facultatif d’Azure Machine Learning. DataDriftDetector crée une cible de calcul si ce paramètre n’est pas spécifié. Valeur par défaut: Ellipsis
|
feature_list
|
Fonctionnalités sur liste verte pour exécuter la détection des données sur. Valeur par défaut: Ellipsis
|
schedule_start
|
Heure de début de la planification de dérive de données au format UTC. Valeur par défaut: Ellipsis
|
alert_config
|
Objet de configuration facultatif pour les alertes DataDriftDetector. Valeur par défaut: Ellipsis
|
drift_threshold
|
Seuil sur lequel activer les alertes DataDriftDetector. Valeur par défaut: Ellipsis
|
wait_for_completion
|
Indique s’il faut attendre la fin des opérations d’activation/désactivation/suppression. Valeur par défaut: True
|
Retours
Type | Description |
---|---|
même |
Attributs
alert_config
Obtenez la configuration d’alerte pour l’objet DataDriftDetector.
Retours
Type | Description |
---|---|
Objet AlertConfiguration. |
baseline_dataset
Obtenez le jeu de données de référence associé à l’objet DataDriftDetector.
Retours
Type | Description |
---|---|
Type de jeu de données du jeu de données de base. |
compute_target
Obtenez la cible de calcul attachée à l’objet DataDriftDetector.
Retours
Type | Description |
---|---|
Cible de calcul. |
drift_threshold
Obtenez le seuil de dérive de l’objet DataDriftDetector.
Retours
Type | Description |
---|---|
Seuil de dérive. |
drift_type
Obtenir le type de DataDriftDetector, « DatasetBased » est la seule valeur prise en charge pour l’instant.
Retours
Type | Description |
---|---|
Type de l’objet DataDriftDetector. |
enabled
Obtenez la valeur booléenne indiquant si l’objet DataDriftDetector est activé.
Retours
Type | Description |
---|---|
Valeur booléenne ; True pour activé. |
feature_list
Obtenez la liste des fonctionnalités mises en liste verte pour l’objet DataDriftDetector.
Retours
Type | Description |
---|---|
Liste des noms de fonctionnalités. |
frequency
Obtenez la fréquence de la planification DataDriftDetector.
Retours
Type | Description |
---|---|
Chaîne de « Jour », « Semaine » ou « Mois » |
interval
Obtenez l’intervalle de la planification DataDriftDetector.
Retours
Type | Description |
---|---|
Valeur entière de l’unité de temps. |
latency
Obtenez la latence des travaux de planification DataDriftDetector (en heures).
Retours
Type | Description |
---|---|
Nombre d’heures représentant la latence. |
name
schedule_start
Obtenez l’heure de début de la planification.
Retours
Type | Description |
---|---|
Objet datetime de l’heure de début de la planification au format UTC. |
state
Indique l’état de la planification DataDriftDetector.
Retours
Type | Description |
---|---|
Un des éléments « Désactivé », « Activé », « Supprimé », « Désactivation », « Activation », « Suppression », « Échec de la suppression », « Échec de la désactivation », « EnableFailed », « DeleteFailed ». |
target_dataset
Obtenez le jeu de données cible associé à l’objet DataDriftDetector.
Retours
Type | Description |
---|---|
Type de jeu de données du jeu de données de référence. |
workspace
Obtenez l’espace de travail de l’objet DataDriftDetector.
Retours
Type | Description |
---|---|
L’espace de travail dans lequel l’objet DataDriftDetector a été créé. |