DataDriftDetector Classe

Definisce un monitoraggio deriva dei dati che può essere usato per eseguire processi di deriva dei dati in Azure Machine Learning.

La classe DataDriftDetector consente di identificare la deriva tra una baseline e un set di dati di destinazione specificati. Un oggetto DataDriftDetector viene creato in un'area di lavoro specificando direttamente i set di dati di base e di destinazione. Per altre informazioni, vedere https://aka.ms/datadrift.

Costruttore Datadriftdetector.

Il costruttore DataDriftDetector viene usato per recuperare una rappresentazione cloud di un oggetto DataDriftDetector associato all'area di lavoro specificata.

Ereditarietà
builtins.object
DataDriftDetector

Costruttore

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)

Parametri

Nome Descrizione
workspace
Necessario

Area di lavoro in cui creare l'oggetto DataDriftDetector.

name
str

Nome univoco per l'oggetto DataDriftDetector.

Valore predefinito: None
baseline_dataset

Set di dati con cui confrontare il set di dati di destinazione.

Valore predefinito: None
target_dataset

Set di dati per cui eseguire processi dataDrift ad hoc o pianificati. Deve essere una serie temporale.

Valore predefinito: None
compute_target

Nome computetarget o calcolo di Azure Machine Learning facoltativo. DataDriftDetector creerà una destinazione di calcolo se non ne viene specificata una.

Valore predefinito: None
frequency
str

Frequenza facoltativa che indica la frequenza di esecuzione della pipeline. Supporta "Day", "Week" o "Month".

Valore predefinito: None
feature_list

Funzionalità facoltative nell'elenco elementi consentiti in cui eseguire il rilevamento datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità, se feature_list non specificato. L'elenco delle funzionalità può contenere caratteri, numeri, trattini e spazi vuoti. La lunghezza dell'elenco deve essere inferiore a 200.

Valore predefinito: None
alert_config

Oggetto di configurazione facoltativo per gli avvisi di DataDriftDetector.

Valore predefinito: None
drift_threshold

Soglia facoltativa per abilitare gli avvisi di DataDriftDetector. Il valore deve essere compreso tra 0 e 1. Il valore 0,2 viene usato quando non è specificato Nessuno (impostazione predefinita).

Valore predefinito: None
latency
int

Ritardo in ore per la visualizzazione dei dati nel set di dati.

Valore predefinito: None
workspace
Necessario

Area di lavoro in cui creare l'oggetto DataDriftDetector.

name
Necessario
str

Nome univoco per l'oggetto DataDriftDetector.

baseline_dataset
Necessario

Set di dati con cui confrontare il set di dati di destinazione.

target_dataset
Necessario

Set di dati per cui eseguire processi dataDrift ad hoc o pianificati. Deve essere una serie temporale.

compute_target
Necessario

Nome computetarget o calcolo di Azure Machine Learning facoltativo. DataDriftDetector creerà una destinazione di calcolo se non ne viene specificata una.

frequency
Necessario
str

Frequenza facoltativa che indica la frequenza di esecuzione della pipeline. Supporta "Day", "Week" o "Month".

feature_list
Necessario

Funzionalità facoltative nell'elenco elementi consentiti in cui eseguire il rilevamento datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità, se feature_list non specificato. L'elenco delle funzionalità può contenere caratteri, numeri, trattini e spazi vuoti. La lunghezza dell'elenco deve essere inferiore a 200.

alert_config
Necessario

Oggetto di configurazione facoltativo per gli avvisi di DataDriftDetector.

drift_threshold
Necessario

Soglia facoltativa per abilitare gli avvisi di DataDriftDetector. Il valore deve essere compreso tra 0 e 1. Il valore 0,2 viene usato quando non è specificato Nessuno (impostazione predefinita).

latency
Necessario
int

Ritardo in ore per la visualizzazione dei dati nel set di dati.

Commenti

Un oggetto DataDriftDetector rappresenta una definizione di processo di deriva dei dati che può essere usata per eseguire tre tipi di esecuzione del processo:

  • esecuzione ad hoc per l'analisi dei dati di un giorno specifico; vedere il run metodo .

  • un'esecuzione pianificata in una pipeline; vedere il enable_schedule metodo .

  • esecuzione di backfill per vedere in che modo i dati cambiano nel tempo; vedere il backfill metodo .

Il modello tipico per la creazione di un oggetto DataDriftDetector è:

Nell'esempio seguente viene illustrato come creare un oggetto DataDriftDetector basato su set di dati.


   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

L'esempio completo è disponibile da https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb

Il costruttore DataDriftDetector recupera un oggetto deriva dei dati esistente associato all'area di lavoro.

Metodi

backfill

Eseguire un processo di backfill su una data di inizio e di fine specificata.

Per informazioni dettagliate sulle esecuzioni di backfill alla deriva dei dati, vedere https://aka.ms/datadrift .

NOTA: Il backfill è supportato solo in oggetti DataDriftDetector basati su set di dati.

create_from_datasets

Creare un nuovo oggetto DataDriftDetector da un set di dati tabulare di base e da un set di dati time series di destinazione.

delete

Eliminare la pianificazione per l'oggetto DataDriftDetector.

disable_schedule

Disabilitare la pianificazione per l'oggetto DataDriftDetector.

enable_schedule

Creare una pianificazione per eseguire un processo DataDriftDetector basato su set di dati.

get_by_name

Recuperare un oggetto DataDriftDetector univoco per un'area di lavoro e un nome specifici.

get_output

Ottenere una tupla dei risultati e delle metriche di deriva per un datadriftDetector specifico in un determinato intervallo di tempo.

list

Ottenere un elenco di oggetti DataDriftDetector per l'area di lavoro specificata e il set di dati facoltativo.

NOTA: Passando solo il workspace parametro restituirà tutti gli oggetti DataDriftDetector definiti nell'area di lavoro.

run

Eseguire un'analisi della deriva dei dati in un singolo punto nel tempo.

show

Mostra la tendenza alla deriva dei dati in un determinato intervallo di tempo.

Per impostazione predefinita, questo metodo mostra i 10 cicli più recenti. Ad esempio, se la frequenza è giorno, sarà l'ultimo 10 giorni. Se la frequenza è settimanale, sarà la più recente di 10 settimane.

update

Aggiornare la pianificazione associata all'oggetto DataDriftDetector.

I valori dei parametri facoltativi possono essere impostati su None. In caso contrario, per impostazione predefinita vengono usati i valori esistenti.

backfill

Eseguire un processo di backfill su una data di inizio e di fine specificata.

Per informazioni dettagliate sulle esecuzioni di backfill alla deriva dei dati, vedere https://aka.ms/datadrift .

NOTA: Il backfill è supportato solo in oggetti DataDriftDetector basati su set di dati.

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

Parametri

Nome Descrizione
start_date
Necessario

Data di inizio del processo di riempimento.

end_date
Necessario

Data di fine del processo di backfill, inclusiva.

compute_target

Nome computetarget o calcolo di Azure Machine Learning facoltativo. DataDriftDetector creerà una destinazione di calcolo se non è specificato alcun valore.

Valore predefinito: None
create_compute_target

Indica se viene creata automaticamente una destinazione di calcolo di Azure Machine Learning.

Valore predefinito: False

Restituisce

Tipo Descrizione
Run

Esecuzione di DataDriftDetector.

create_from_datasets

Creare un nuovo oggetto DataDriftDetector da un set di dati tabulare di base e da un set di dati time series di destinazione.

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)

Parametri

Nome Descrizione
workspace
Necessario

Area di lavoro in cui creare DataDriftDetector.

name
Necessario
str

Nome univoco per l'oggetto DataDriftDetector.

baseline_dataset
Necessario

Set di dati con cui confrontare il set di dati di destinazione.

target_dataset
Necessario

Set di dati per cui eseguire processi dataDrift ad hoc o pianificati. Deve essere una serie temporale.

compute_target

Nome computetarget o calcolo di Azure Machine Learning facoltativo. DataDriftDetector creerà una destinazione di calcolo se non ne viene specificata una.

Valore predefinito: None
frequency
str

Frequenza facoltativa che indica la frequenza di esecuzione della pipeline. Supporta "Day", "Week" o "Month".

Valore predefinito: None
feature_list

Funzionalità facoltative nell'elenco elementi consentiti in cui eseguire il rilevamento datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità, se feature_list non specificato. L'elenco delle funzionalità può contenere caratteri, numeri, trattini e spazi vuoti. La lunghezza dell'elenco deve essere inferiore a 200.

Valore predefinito: None
alert_config

Oggetto di configurazione facoltativo per gli avvisi di DataDriftDetector.

Valore predefinito: None
drift_threshold

Soglia facoltativa per abilitare gli avvisi di DataDriftDetector. Il valore deve essere compreso tra 0 e 1. Il valore 0,2 viene usato quando non è specificato Nessuno (impostazione predefinita).

Valore predefinito: None
latency
int

Ritardo in ore per la visualizzazione dei dati nel set di dati.

Valore predefinito: None

Restituisce

Tipo Descrizione

Oggetto DataDriftDetector.

Eccezioni

Tipo Descrizione
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>

Commenti

I dataDriftDetector basati su set di dati consentono di calcolare la deriva dei dati tra un set di dati di base, che deve essere un TabularDatasetset di dati e un set di dati di destinazione, che deve essere un set di dati time series. Un set di dati time series è semplicemente un TabularDataset oggetto con la proprietà fine_grain_timestamp. DataDriftDetector può quindi eseguire processi adhoc o pianificati per determinare se il set di dati di destinazione è stato deviato dal set di dati di 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

Eliminare la pianificazione per l'oggetto DataDriftDetector.

delete(wait_for_completion=True)

Parametri

Nome Descrizione
wait_for_completion

Indica se attendere il completamento dell'operazione di eliminazione.

Valore predefinito: True

disable_schedule

Disabilitare la pianificazione per l'oggetto DataDriftDetector.

disable_schedule(wait_for_completion=True)

Parametri

Nome Descrizione
wait_for_completion

Indica se attendere il completamento dell'operazione di disabilitazione.

Valore predefinito: True

enable_schedule

Creare una pianificazione per eseguire un processo DataDriftDetector basato su set di dati.

enable_schedule(create_compute_target=False, wait_for_completion=True)

Parametri

Nome Descrizione
create_compute_target

Indica se una destinazione di calcolo di Azure Machine Learning viene creata automaticamente.

Valore predefinito: False
wait_for_completion

Indica se attendere il completamento dell'operazione di abilitazione.

Valore predefinito: True

get_by_name

Recuperare un oggetto DataDriftDetector univoco per un'area di lavoro e un nome specifici.

static get_by_name(workspace, name)

Parametri

Nome Descrizione
workspace
Necessario

Area di lavoro in cui è stato creato DataDriftDetector.

name
Necessario
str

Nome dell'oggetto DataDriftDetector da restituire.

Restituisce

Tipo Descrizione

Oggetto DataDriftDetector.

get_output

Ottenere una tupla dei risultati e delle metriche di deriva per un datadriftDetector specifico in un determinato intervallo di tempo.

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

Parametri

Nome Descrizione
start_time
datetime, <xref:optional>

Ora di inizio della finestra dei risultati in formato UTC. Se None (impostazione predefinita) è specificato, i risultati del 10° ciclo più recenti vengono usati come ora di inizio. Ad esempio, se la frequenza della pianificazione della deriva dei dati è giorno, è start_time di 10 giorni. Se la frequenza è settimanale, il start_time valore è 10 settimane.

Valore predefinito: None
end_time
datetime, <xref:optional>

Ora di fine della finestra dei risultati in formato UTC. Se None (impostazione predefinita) è specificato, l'ora UTC del giorno corrente viene usata come ora di fine.

Valore predefinito: None
run_id
int, <xref:optional>

ID di esecuzione specifico.

Valore predefinito: None

Restituisce

Tipo Descrizione

Tupla di un elenco di risultati di deriva e un elenco di singole metriche di set di dati e colonne.

Commenti

Questo metodo restituisce una tupla di risultati e metriche di deriva per un intervallo di tempo o un ID esecuzione in base al tipo di esecuzione: un'esecuzione adhoc , un'esecuzione pianificata e un'esecuzione di backfill.

  • Per recuperare i risultati dell'esecuzione adhoc , esiste un solo modo: run_id deve essere un GUID valido.

  • Per recuperare le esecuzioni pianificate e il riempimento dei risultati dell'esecuzione, esistono due modi diversi: assegnare un GUID valido a run_id o assegnare un valore specifico start_time e/o end_time (inclusivo) mantenendo run_id l'opzione Nessuna.

  • Se run_id, start_timee end_time non sono None nella stessa chiamata al metodo, viene generata un'eccezione di convalida dei parametri.

NOTA:start_time Specificare i parametri e end_time o il run_id parametro , ma non entrambi.

È possibile che siano presenti più risultati per la stessa data di destinazione (la data di destinazione indica la data di inizio del set di dati di destinazione per la deriva basata su set di dati). Pertanto, è necessario identificare e gestire i risultati duplicati. Per la deriva basata su set di dati, se i risultati corrispondono alla stessa data di destinazione, vengono duplicati. Il get_output metodo deduplica tutti i risultati duplicati in base a una regola: selezionare sempre i risultati generati più recenti.

Il get_output metodo può essere usato per recuperare tutti gli output o gli output parziali delle esecuzioni pianificate in un intervallo di tempo specifico compreso tra start_time e end_time (limite incluso). È anche possibile limitare i risultati di un singolo adhoc specificando .run_id

Usare le linee guida seguenti per interpretare i risultati restituiti dal get_output metodo :

  • Il principio per il filtro è "sovrapposto": purché vi sia una sovrapposizione tra il tempo di risultato effettivo (basato su set di dati: set di dati di destinazione [data di inizio, data di fine]) e il valore specificato [start_time, end_time], il risultato verrà prelevato.

  • Se sono presenti più output per una data di destinazione perché il calcolo della deriva è stato eseguito più volte rispetto a quel giorno, solo l'output più recente verrà selezionato per impostazione predefinita.

  • Dato che esistono più tipi di un'istanza di deriva dei dati, il contenuto del risultato può essere vari.

Per i risultati basati su set di dati, l'output sarà simile al seguente:


   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

Ottenere un elenco di oggetti DataDriftDetector per l'area di lavoro specificata e il set di dati facoltativo.

NOTA: Passando solo il workspace parametro restituirà tutti gli oggetti DataDriftDetector definiti nell'area di lavoro.

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

Parametri

Nome Descrizione
workspace
Necessario

Area di lavoro in cui sono stati creati gli oggetti DataDriftDetector.

baseline_dataset

Set di dati di base per filtrare l'elenco restituito.

Valore predefinito: None
target_dataset

Set di dati di destinazione per filtrare l'elenco restituito.

Valore predefinito: None

Restituisce

Tipo Descrizione

Elenco di oggetti DataDriftDetector.

run

Eseguire un'analisi della deriva dei dati in un singolo punto nel tempo.

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

Parametri

Nome Descrizione
target_date
Necessario

Data di destinazione dei dati di assegnazione dei punteggi in formato UTC.

compute_target

Nome computetarget o calcolo di Azure Machine Learning facoltativo. Se non specificato, viene creata automaticamente una destinazione di calcolo.

Valore predefinito: None
create_compute_target

Indica se una destinazione di calcolo di Azure Machine Learning viene creata automaticamente.

Valore predefinito: False
feature_list

Funzionalità facoltative nell'elenco elementi consentiti in cui eseguire il rilevamento datadrift.

Valore predefinito: None
drift_threshold

Soglia facoltativa per abilitare gli avvisi di DataDriftDetector.

Valore predefinito: None

Restituisce

Tipo Descrizione
Run

Esecuzione di DataDriftDetector.

show

Mostra la tendenza alla deriva dei dati in un determinato intervallo di tempo.

Per impostazione predefinita, questo metodo mostra i 10 cicli più recenti. Ad esempio, se la frequenza è giorno, sarà l'ultimo 10 giorni. Se la frequenza è settimanale, sarà la più recente di 10 settimane.

show(start_time=None, end_time=None)

Parametri

Nome Descrizione
start_time
datetime, <xref:optional>

Inizio dell'intervallo di tempo della presentazione in formato UTC. Il valore predefinito None indica di raccogliere i risultati del 10° ciclo più recenti.

Valore predefinito: None
end_time
datetime, <xref:optional>

Fine dell'intervallo di tempo dei dati della presentazione in formato UTC. Il valore predefinito Nessuno indica il giorno corrente.

Valore predefinito: None

Restituisce

Tipo Descrizione
dict()

Dizionario di tutte le figure. La chiave è service_name.

update

Aggiornare la pianificazione associata all'oggetto DataDriftDetector.

I valori dei parametri facoltativi possono essere impostati su None. In caso contrario, per impostazione predefinita vengono usati i valori esistenti.

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

Parametri

Nome Descrizione
compute_target

Nome computetarget o calcolo di Azure Machine Learning facoltativo. DataDriftDetector creerà una destinazione di calcolo se questo parametro non è specificato.

Valore predefinito: Ellipsis
feature_list

Funzionalità incluse nell'elenco elementi consentiti per eseguire il rilevamento di datadrift.

Valore predefinito: Ellipsis
schedule_start

Ora di inizio della pianificazione della deriva dei dati in formato UTC.

Valore predefinito: Ellipsis
alert_config

Oggetto di configurazione facoltativo per gli avvisi di DataDriftDetector.

Valore predefinito: Ellipsis
drift_threshold

Soglia in cui abilitare gli avvisi di DataDriftDetector.

Valore predefinito: Ellipsis
wait_for_completion

Indica se attendere il completamento delle operazioni di abilitazione/disabilitazione/eliminazione.

Valore predefinito: True

Restituisce

Tipo Descrizione

self

Attributi

alert_config

Ottenere la configurazione dell'avviso per l'oggetto DataDriftDetector.

Restituisce

Tipo Descrizione

Oggetto AlertConfiguration.

baseline_dataset

Ottiene il set di dati di base associato all'oggetto DataDriftDetector.

Restituisce

Tipo Descrizione

Tipo di set di dati del set di dati di base.

compute_target

Ottenere la destinazione di calcolo collegata all'oggetto DataDriftDetector.

Restituisce

Tipo Descrizione

La destinazione di calcolo.

drift_threshold

Ottiene la soglia di deriva per l'oggetto DataDriftDetector.

Restituisce

Tipo Descrizione

Soglia di deriva.

drift_type

Ottenere il tipo di DataDriftDetector, 'DatasetBased' è l'unico valore supportato per il momento.

Restituisce

Tipo Descrizione
str

Tipo di oggetto DataDriftDetector.

enabled

Ottiene il valore booleano che indica se l'oggetto DataDriftDetector è abilitato.

Restituisce

Tipo Descrizione

Valore booleano; True per abilitato.

feature_list

Ottenere l'elenco delle funzionalità dell'elenco elementi consentiti per l'oggetto DataDriftDetector.

Restituisce

Tipo Descrizione

Elenco di nomi di funzionalità.

frequency

Ottenere la frequenza della pianificazione di DataDriftDetector.

Restituisce

Tipo Descrizione
str

Stringa di "Day", "Week" o "Month"

interval

Ottiene l'intervallo della pianificazione dataDriftDetector.

Restituisce

Tipo Descrizione
int

Valore intero dell'unità temporale.

latency

Ottenere la latenza dei processi di pianificazione di DataDriftDetector (in ore).

Restituisce

Tipo Descrizione
int

Numero di ore che rappresentano la latenza.

name

Ottenere il nome dell'oggetto DataDriftDetector.

Restituisce

Tipo Descrizione
str

Nome DataDriftDetector.

schedule_start

Ottiene l'ora di inizio della pianificazione.

Restituisce

Tipo Descrizione

Oggetto datetime dell'ora di inizio della pianificazione in formato UTC.

state

Indica lo stato della pianificazione dataDriftDetector.

Restituisce

Tipo Descrizione
str

Uno di 'Disabled', 'Enabled', 'Deleted', 'Disableing', 'Enable', 'Delete', 'Failed', 'DisableFailed', 'EnableFailed', 'DeleteFailed'.

target_dataset

Ottiene il set di dati di destinazione associato all'oggetto DataDriftDetector.

Restituisce

Tipo Descrizione

Tipo di set di dati del set di dati di base.

workspace

Ottenere l'area di lavoro dell'oggetto DataDriftDetector.

Restituisce

Tipo Descrizione

L'area di lavoro in cui è stato creato l'oggetto DataDriftDetector.