Partager via


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.object
DataDriftDetector

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
str

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

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
str

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 feature_list n’est pas spécifié. La liste des fonctionnalités peut contenir des caractères, des nombres, des tirets et des espaces blancs. La longueur de la liste doit être inférieure à 200.

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
int

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
str

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

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
str

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 feature_list n’est pas spécifié. La liste des fonctionnalités peut contenir des caractères, des nombres, des tirets et des espaces blancs. La longueur de la liste doit être inférieure à 200.

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
int

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 workspace retourne tous les objets DataDriftDetector, définis dans l’espace de travail.

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 None; sinon, elles sont définies par défaut sur leurs valeurs existantes.

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

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
Run

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
str

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

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
str

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 feature_list n’est pas spécifié. La liste des fonctionnalités peut contenir des caractères, des nombres, des tirets et des espaces blancs. La longueur de la liste doit être inférieure à 200.

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
int

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
str

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, start_time est de 10 jours. Si la fréquence est hebdomadaire, start_time est de 10 semaines.

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 un start_time spécifique et/ou end_time (inclusif) tout en conservant run_id en tant que Aucun.

  • Si run_id, start_timeet end_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

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
Run

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

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
str

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
str

Chaîne de « Jour », « Semaine » ou « Mois »

interval

Obtenez l’intervalle de la planification DataDriftDetector.

Retours

Type Description
int

Valeur entière de l’unité de temps.

latency

Obtenez la latence des travaux de planification DataDriftDetector (en heures).

Retours

Type Description
int

Nombre d’heures représentant la latence.

name

Obtenez le nom de l’objet DataDriftDetector.

Retours

Type Description
str

Nom dataDriftDetector.

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
str

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éé.