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.objectDataDriftDetector
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
|
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
|
ComputeTarget oppure
str
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
|
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 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
|
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
|
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
|
ComputeTarget oppure
str
Nome computetarget o calcolo di Azure Machine Learning facoltativo. DataDriftDetector creerà una destinazione di calcolo se non ne viene specificata una. |
frequency
Necessario
|
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 |
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
|
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 è:
- Per creare un oggetto DataDriftDetector basato su set di dati, usare create_from_datasets
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 |
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 |
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
|
ComputeTarget oppure
str
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 |
---|---|
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
|
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
|
ComputeTarget oppure
str
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
|
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 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
|
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
|
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, è 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 specificostart_time
e/oend_time
(inclusivo) mantenendorun_id
l'opzione Nessuna.Se
run_id
,start_time
eend_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
|
ComputeTarget oppure
str
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 |
---|---|
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
|
ComputeTarget oppure
str
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 |
---|---|
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 |
---|---|
Stringa di "Day", "Week" o "Month" |
interval
Ottiene l'intervallo della pianificazione dataDriftDetector.
Restituisce
Tipo | Descrizione |
---|---|
Valore intero dell'unità temporale. |
latency
Ottenere la latenza dei processi di pianificazione di DataDriftDetector (in ore).
Restituisce
Tipo | Descrizione |
---|---|
Numero di ore che rappresentano la latenza. |
name
Ottenere il nome dell'oggetto DataDriftDetector.
Restituisce
Tipo | Descrizione |
---|---|
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 |
---|---|
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. |