DataDriftDetector Classe
Définit une analyse de dérive de données qui peut être utilisée pour exécuter des tâches de dérive de données dans Azure Machine Learning.
La classe DataDriftDetector vous permet d’identifier la dérive d’une référence et d’un jeu de données cible donné. Pour créer un objet DataDriftDetector dans un espace de travail, spécifiez directement les jeux de données de référence et cible. 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
- baseline_dataset
- TabularDataset
Jeu de données auquel comparer le jeu de données cible.
- target_dataset
- TabularDataset
Jeu de données pour lequel exécuter des tâches DataDrift adhoc ou planifiées. Doit être une série chronologique.
- compute_target
- ComputeTarget ou str
Facultatif : nom d’Azure Machine Learning ComputeTarget ou de ComputeTarget. DataDriftDetector créera une cible de calcul si aucune n’est spécifiée.
- frequency
- str
Fréquence facultative indiquant la fréquence d’exécution du pipeline. Prend en charge « jour », « semaine » ou « mois ».
Fonctionnalités facultatives autorisées pour exécuter la détection de la dérive de données. Les tâches DataDriftDetector s’exécutent sur toutes les fonctionnalités si feature_list
n’est pas spécifié. La liste de caractéristiques peut contenir des caractères, des chiffres, des tirets et des espaces. La longueur de la liste doit être inférieure à 200.
- alert_config
- AlertConfiguration
Facultatif : objet de configuration pour les alertes DataDriftDetector.
- drift_threshold
- float
Facultatif : seuil d’activation des alertes DataDriftDetector. Elle doit être comprise entre 0 et 1. La valeur 0,2 est utilisée quand None est spécifié (valeur par défaut).
- target_dataset
- TabularDataset
Jeu de données pour lequel exécuter des tâches DataDrift adhoc ou planifiées. Doit être une série chronologique.
- compute_target
- ComputeTarget ou str
Facultatif : nom d’Azure Machine Learning ComputeTarget ou de ComputeTarget. DataDriftDetector créera une cible de calcul si aucune n’est spécifiée.
- frequency
- str
Fréquence facultative indiquant la fréquence d’exécution du pipeline. Prend en charge « jour », « semaine » ou « mois ».
Fonctionnalités facultatives autorisées pour exécuter la détection de la dérive de données. Les tâches DataDriftDetector s’exécutent sur toutes les fonctionnalités si feature_list
n’est pas spécifié. La liste de caractéristiques peut contenir des caractères, des chiffres, des tirets et des espaces. La longueur de la liste doit être inférieure à 200.
- alert_config
- AlertConfiguration
Facultatif : objet de configuration pour les alertes DataDriftDetector.
- drift_threshold
- float
Facultatif : seuil d’activation des alertes DataDriftDetector. Elle doit être comprise entre 0 et 1. La valeur 0,2 est utilisée quand None est spécifié (valeur par défaut).
Remarques
Un objet DataDriftDetector représente une définition de tâche de dérive de données qui peut être utilisée pour exécuter trois types d’exécutions de travaux :
une exécution ad hoc pour analyser les données d’une journée spécifique (consultez la méthode run) ;
une exécution planifiée dans un pipeline (consultez la méthode enable_schedule) ;
une exécution de renvoi pour observer l’évolution des données dans le temps (consultez la méthode backfill).
Le modèle classique de création d’un objet DataDriftDetector est le suivant :
- Pour créer un objet DataDriftDetector basé sur un jeu de données, utilisez create_from_datasets
L’exemple suivant explique comment créer un objet DataDriftDetector basé sur un jeu de données.
from azureml.datadrift import DataDriftDetector, AlertConfiguration
alert_config = AlertConfiguration(['user@contoso.com']) # replace with your email to recieve alerts from the scheduled pipeline after enabling
monitor = DataDriftDetector.create_from_datasets(ws, 'weather-monitor', baseline, target,
compute_target='cpu-cluster', # compute target for scheduled pipeline and backfills
frequency='Week', # how often to analyze target data
feature_list=None, # list of features to detect drift on
drift_threshold=None, # threshold from 0 to 1 for email alerting
latency=0, # SLA in hours for target data to arrive in the dataset
alert_config=alert_config) # email addresses to send alert
Un exemple complet est disponible sur https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb
Le constructeur DataDriftDetector récupère un objet de dérive de données existant associé à l’espace de travail.
Méthodes
backfill |
Exécute une tâche de renvoi sur une date de début et de fin spécifiée. Pour plus d’informations sur les exécutions de renvoi de dérive de données, consultez https://aka.ms/datadrift. REMARQUE : le renvoi est pris en charge uniquement sur les objets DataDriftDetector basés sur des jeux de données. |
create_from_datasets |
Crée un nouvel 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 |
Supprime la planification de l’objet DataDriftDetector. |
disable_schedule |
Désactive la planification de l’objet DataDriftDetector. |
enable_schedule |
Crée une planification pour exécuter le travail DataDriftDetector basé sur un jeu de données. |
get_by_name |
Récupère un objet DataDriftDetector unique pour un espace de travail et un nom donnés. |
get_output |
Obtient un tuple des résultats de dérive et des métriques pour un objet DataDriftDetector spécifique sur une période donnée. |
list |
Obtient une liste des objets DataDriftDetector pour l’espace de travail spécifié, ainsi que le jeu de données facultatif. REMARQUE : en transmettant uniquement le paramètre |
run |
Exécute une analyse de la dérive de données à un moment unique dans le temps. |
show |
Affiche la tendance de la dérive de données dans l’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 définie sur « jour », il s’agit des 10 derniers jours. Si la fréquence est définie sur « semaine », il s’agit des 10 dernières semaines. |
update |
Met à jour la planification associée à l’objet DataDriftDetector. Les valeurs des paramètres facultatifs peuvent être définies sur |
backfill
Exécute une tâche de renvoi sur une date de début et de fin spécifiée.
Pour plus d’informations sur les exécutions de renvoi de dérive de données, consultez https://aka.ms/datadrift.
REMARQUE : le renvoi est pris en charge uniquement sur les objets DataDriftDetector basés sur des jeux de données.
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
Paramètres
- compute_target
- ComputeTarget ou str
Facultatif : nom d’Azure Machine Learning ComputeTarget ou de ComputeTarget. DataDriftDetector créera une cible de calcul si None est spécifié.
- create_compute_target
- bool
Indique si une cible de calcul Azure Machine Learning est automatiquement créée.
Retours
Exécution DataDriftDetector.
Type de retour
create_from_datasets
Crée un nouvel 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
- target_dataset
- TabularDataset
Jeu de données pour lequel exécuter des tâches DataDrift adhoc ou planifiées. Doit être une série chronologique.
- compute_target
- ComputeTarget ou str
Facultatif : nom d’Azure Machine Learning ComputeTarget ou de ComputeTarget. DataDriftDetector créera une cible de calcul si aucune n’est spécifiée.
- frequency
- str
Fréquence facultative indiquant la fréquence d’exécution du pipeline. Prend en charge « jour », « semaine » ou « mois ».
Fonctionnalités facultatives autorisées pour exécuter la détection de la dérive de données. Les tâches DataDriftDetector s’exécutent sur toutes les fonctionnalités si feature_list
n’est pas spécifié. La liste de caractéristiques peut contenir des caractères, des chiffres, des tirets et des espaces. La longueur de la liste doit être inférieure à 200.
- alert_config
- AlertConfiguration
Facultatif : objet de configuration pour les alertes DataDriftDetector.
- drift_threshold
- float
Facultatif : seuil d’activation des alertes DataDriftDetector. Elle doit être comprise entre 0 et 1. La valeur 0,2 est utilisée quand None est spécifié (valeur par défaut).
Retours
Objet DataDriftDetector.
Type de retour
Exceptions
Remarques
Les objets DataDriftDetector basés sur des jeux de données vous permettent de calculer la dérive de données entre un jeu de données de référence, qui doit être un TabularDataset, et 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. L’objet DataDriftDetector peut ensuite exécuter des tâches ad hoc ou planifiées pour déterminer si le jeu de données cible a été 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
Supprime la planification de l’objet DataDriftDetector.
delete(wait_for_completion=True)
Paramètres
- wait_for_completion
- bool
Indique s’il est nécessaire d’attendre la fin de l’opération de suppression.
disable_schedule
Désactive la planification de l’objet DataDriftDetector.
disable_schedule(wait_for_completion=True)
Paramètres
- wait_for_completion
- bool
Indique s’il est nécessaire d’attendre la fin de l’opération de désactivation.
enable_schedule
Crée une planification pour exécuter le travail DataDriftDetector basé sur un jeu de données.
enable_schedule(create_compute_target=False, wait_for_completion=True)
Paramètres
- create_compute_target
- bool
Indique si une cible de calcul Azure Machine Learning est créée automatiquement.
- wait_for_completion
- bool
Indique s’il est nécessaire d’attendre la fin de l’opération d’activation.
get_by_name
Récupère un objet DataDriftDetector unique pour un espace de travail et un nom donnés.
static get_by_name(workspace, name)
Paramètres
Retours
Objet DataDriftDetector.
Type de retour
get_output
Obtient un tuple des résultats de dérive et des métriques pour un objet DataDriftDetector spécifique sur une période donnée.
get_output(start_time=None, end_time=None, run_id=None)
Paramètres
- start_time
- datetime, <xref:optional>
Heure de début de la fenêtre de résultats au format UTC. Si None (valeur par défaut) est spécifié, les résultats les plus récents du dixième cycle sont utilisés comme heure de début. Par exemple, si la fréquence de dérive des données est définie sur « jour », start_time
est de 10 jours. Si la fréquence est définie sur « semaine », start_time
est de 10 semaines.
- end_time
- datetime, <xref:optional>
Heure de fin de la fenêtre de résultats au format UTC. Si None (valeur par défaut) est spécifié, l’heure actuelle au format UTC est utilisée comme heure de fin.
Retours
Un tuple d’une liste de résultats de dérive et une liste de jeux de données individuels et de métriques en colonnes.
Type de retour
Remarques
Cette méthode retourne un tuple de résultats et de métriques de dérive pour une période ou un ID d’exécution en fonction du type d’exécution : une exécution ad hoc, une exécution planifiée et une exécution de renvoi.
Vous pouvez récupérer les résultats de l’exécution ad hoc d’une seule manière :
run_id
doit être un GUID valide.Vous pouvez récupérer les résultats des exécutions planifiées et des exécutions de renvoi de deux manières différentes : attribuer un GUID valide à un
run_id
ou attribuer unestart_time
et/ouend_time
spécifique (inclusivement) tout en laissantrun_id
sur la valeur None.Si
run_id
,start_time
etend_time
ne sont pas définis sur None 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 peut y avoir plusieurs résultats pour la même date cible (la date cible correspond à la date de début du jeu de données cible pour la dérive basée sur un jeu de données). Il est donc nécessaire d’identifier et de gérer les résultats dupliqués.
Pour la dérive basée sur un jeu de données, si les résultats concernent la même date cible, il s’agit de résultats dupliqués.
La méthode get_output
supprimera les résultats dupliqués selon une règle : toujours récupérer 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 une intervalle de temps spécifique compris entre start_time
et end_time
(limite incluse). Vous pouvez également limiter les résultats d’une requête ad hoc individuelle en spécifiant run_id
.
Utilisez les instructions suivantes pour interpréter les résultats retournés par la méthode get_output
:
Le principe de filtrage est le « chevauchement » : tant qu’il y a un chevauchement entre l’heure réelle du résultat (basée sur un jeu de données : jeu de données cible [date de début, date de fin]) et l’heure [
start_time
,end_time
] donnée, le résultat est récupéré.S’il existe plusieurs sorties pour une date cible parce que le calcul de la dérive a été exécuté plusieurs fois le même jour, seule la dernière sortie est récupérée par défaut.
Étant donné qu’il existe plusieurs types d’une instance de dérive de données, le contenu des résultats peut être différent.
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
Obtient une liste des objets DataDriftDetector pour l’espace de travail spécifié, ainsi que le jeu de données facultatif.
REMARQUE : en transmettant uniquement le paramètre workspace
, on obtient tous les objets DataDriftDetector définis dans l'espace de travail.
static list(workspace, baseline_dataset=None, target_dataset=None)
Paramètres
- workspace
- Workspace
Espace de travail dans lequel les objets DataDriftDetector ont été créés.
- baseline_dataset
- TabularDataset
Jeu de données de référence pour filtrer la liste de retour.
- target_dataset
- TabularDataset
Jeu de données cible pour filtrer la liste de retour.
Retours
Liste des objets DataDriftDetector.
Type de retour
run
Exécute une analyse de la dérive de données à un moment unique dans le temps.
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
Paramètres
- compute_target
- ComputeTarget ou str
Facultatif : nom d’Azure Machine Learning ComputeTarget ou de ComputeTarget. Si rien n’est spécifié, une cible de calcul est créée automatiquement.
- create_compute_target
- bool
Indique si une cible de calcul Azure Machine Learning est créée automatiquement.
Fonctionnalités facultatives autorisées pour exécuter la détection de la dérive de données.
- drift_threshold
- float
Facultatif : seuil d’activation des alertes DataDriftDetector.
Retours
Exécution DataDriftDetector.
Type de retour
show
Affiche la tendance de la dérive de données dans l’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 définie sur « jour », il s’agit des 10 derniers jours. Si la fréquence est définie sur « semaine », il s’agit des 10 dernières semaines.
show(start_time=None, end_time=None)
Paramètres
- start_time
- datetime, <xref:optional>
Début de la période de présentation, au format UTC. La valeur par défaut None signifie que les résultats les plus récents du dixième cycle sont sélectionnés.
- end_time
- datetime, <xref:optional>
Fin de la période de présentation, au format UTC. Par défaut, None correspond à la date du jour.
Retours
Dictionnaire de toutes les figures. La clé est service_name.
Type de retour
update
Met à jour la planification associée à l’objet DataDriftDetector.
Les valeurs des paramètres facultatifs peuvent être définies sur None
, sinon elles reprennent par défaut 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
- compute_target
- ComputeTarget ou str
Facultatif : nom d’Azure Machine Learning ComputeTarget ou de ComputeTarget. DataDriftDetector crée une cible de calcul si ce paramètre n’est pas spécifié.
Fonctionnalités autorisées pour exécuter la détection de la dérive de données.
- schedule_start
- datetime
Heure de début de la planification de la dérive de données au format UTC.
- alert_config
- AlertConfiguration
Facultatif : objet de configuration pour les alertes DataDriftDetector.
- wait_for_completion
- bool
Indique s’il est nécessaire d’attendre que les opérations d’activation/de désactivation/de suppression se terminent.
Retours
self
Type de retour
Attributs
alert_config
Obtient la configuration d’alertes pour l’objet DataDriftDetector.
Retours
Objet AlertConfiguration.
Type de retour
baseline_dataset
Obtient le jeu de données de référence associé à l’objet DataDriftDetector.
Retours
Type de jeu de données du jeu de données de référence.
Type de retour
compute_target
Obtient la cible de calcul associée à l’objet DataDriftDetector.
Retours
La cible de calcul.
Type de retour
drift_threshold
Obtient le seuil de dérive associé à l’objet DataDriftDetector.
Retours
Seuil de dérive.
Type de retour
drift_type
Obtient le type de l’objet DataDriftDetector. « DatasetBased » est la seule valeur prise en charge pour le moment.
Retours
Type de l’objet DataDriftDetector.
Type de retour
enabled
Obtient la valeur booléenne indiquant si l’objet DataDriftDetector est activé.
Retours
Valeur booléenne ; True si activé.
Type de retour
feature_list
Obtient la liste des fonctionnalités autorisées pour l’objet DataDriftDetector.
Retours
Liste des noms des fonctionnalités.
Type de retour
frequency
Obtient la fréquence de planification de l’objet DataDriftDetector.
Retours
Chaîne « jour », « semaine » ou « mois »
Type de retour
interval
Obtient l’intervalle de planification de l’objet DataDriftDetector.
Retours
Valeur entière de l’unité de temps.
Type de retour
latency
Obtient la latence des tâches de planification DataDriftDetector (en heures).
Retours
Nombre d’heures représentant la latence.
Type de retour
name
Obtient le nom de l’objet DataDriftDetector.
Retours
Nom de l’objet DataDriftDetector.
Type de retour
schedule_start
Obtient l’heure de début de la planification.
Retours
Objet DateTime de l’heure de début de la planification en heure au format UTC.
Type de retour
state
Indique l’état de la planification DataDriftDetector.
Retours
Soit « Disabled », « Enabled », « Deleted », « Disabling », « Enabling », « Deleting », « Failed », « DisableFailed », « EnableFailed » ou « DeleteFailed ».
Type de retour
target_dataset
Obtient le jeu de données cible associé à l’objet DataDriftDetector.
Retours
Type de jeu de données du jeu de données de référence.
Type de retour
workspace
Obtient l’espace de travail de l’objet DataDriftDetector.
Retours
Espace de travail dans lequel l’objet DataDriftDetector a été créé.
Type de retour
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour