Condividi tramite


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.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 adhoc o processi DataDrift 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 è 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 per eseguire il rilevamento di datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità se non viene specificato feature_list. L'elenco di 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 utilizzato 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 adhoc o processi DataDrift 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 è 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 per eseguire il rilevamento di datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità se non viene specificato feature_list. L'elenco di 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 utilizzato 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:

  • 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 è:

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 workspace 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 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 None, altrimenti 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: 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

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
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 adhoc o processi DataDrift 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 è 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 per eseguire il rilevamento di datadrift. I processi DataDriftDetector verranno eseguiti in tutte le funzionalità se non viene specificato feature_list. L'elenco di 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 utilizzato 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 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
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 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, start_time è di 10 giorni. Se la frequenza è settimana, start_time è di 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 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 specifico start_time e/o end_time (inclusi) mantenendo run_id come Nessuno.

  • Se run_id, start_timee end_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

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
Run

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

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