DataDriftDetector Classe
Definisce un monitoraggio della 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 specifica 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 adhoc o processi DataDrift 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 è 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 per eseguire il rilevamento di datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità se non viene specificato 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 utilizzato 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 adhoc o processi DataDrift 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 è 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 per eseguire il rilevamento di datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità se non viene specificato |
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 utilizzato 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:
un adhoc eseguito per l'analisi del valore di un giorno specifico; vedere il metodo run.
un'esecuzione pianificata in una pipeline; vedere il metodo enable_schedule.
un'esecuzione di backfill per vedere in che modo i dati cambiano nel tempo; vedere il metodo backfill.
Il modello tipico per la creazione di un oggetto DataDriftDetector è:
- Per creare un oggetto DataDriftDetector basato su set di dati, usare create_from_datasets
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: Backfill è supportato solo negli 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 specificati. |
get_output |
Ottenere una tupla dei risultati e delle metriche di deriva per uno specifico DataDriftDetector 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: Passaggio solo del parametro |
run |
Eseguire un'analisi della deriva dei dati in un singolo punto nel tempo. |
show |
Mostra la tendenza alla deriva dei dati in un intervallo di tempo specificato. 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: Backfill è supportato solo negli 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 backfill. |
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 nessuno. 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 adhoc o processi DataDrift 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 è 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 per eseguire il rilevamento di datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità se non viene specificato 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 utilizzato 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 TabularDatasete un set di dati di destinazione, che deve essere un set di dati time series. Un set di dati time series è semplicemente un TabularDataset con la proprietà fine_grain_timestamp. DataDriftDetector può quindi eseguire processi ad hoc 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 specificati.
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 uno specifico DataDriftDetector 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 esecuzione specifico. Valore predefinito: None
|
Restituisce
Tipo | Descrizione |
---|---|
Tupla di un elenco di risultati della deriva e un elenco di singoli set di dati e metriche a colonne. |
Commenti
Questo metodo restituisce una tupla di risultati e metriche di deriva per un intervallo di tempo o un ID di esecuzione in base al tipo di esecuzione: un adhoc'esecuzione, un'esecuzione pianificata e un'esecuzione backfill.
Per recuperare risultati di esecuzione adhoc, esiste un solo modo:
run_id
deve essere un GUID valido.Per recuperare le esecuzioni pianificate e i risultati dell'esecuzione di backfill, esistono due modi diversi: assegnare un GUID valido a
run_id
o assegnare uno specificostart_time
e/oend_time
(inclusi) mantenendorun_id
come Nessuno.Se
run_id
,start_time
eend_time
non sono nessuno nella stessa chiamata al metodo, viene generata un'eccezione di convalida dei parametri.
NOTA: Specificare parametri start_time
e end_time
o il parametro run_id
, 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 sono per la stessa data di destinazione, vengono duplicati.
Il metodo get_output
deduplica tutti i risultati duplicati in base a una regola: selezionare sempre i risultati generati più recenti.
Il metodo get_output
può essere usato per recuperare tutti gli output o gli output parziali delle esecuzioni pianificate in un intervallo di tempo specifico tra start_time
e end_time
(limite incluso). È anche possibile limitare i risultati di un singolo adhoc specificando il run_id
.
Usare le linee guida seguenti per interpretare i risultati restituiti dal metodo get_output
:
Il principio per il filtro è "sovrapposto": a condizione che vi sia una sovrapposizione tra il tempo effettivo del risultato (basato su set di dati: set di dati di destinazione [data di inizio, data di fine]) e il dato [
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 dei risultati potrebbe 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: Passaggio solo del parametro workspace
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 per eseguire il rilevamento di 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 intervallo di tempo specificato.
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 selezionare 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
, altrimenti 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 |
---|---|
stesso |
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 |
---|---|
Destinazione di calcolo. |
drift_threshold
Ottenere 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 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 dei '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. |