DataDriftDetector Klass
Definierar en övervakare av dataavvikelser som kan användas för att köra dataavvikelsejobb i Azure Machine Learning.
Med klassen DataDriftDetector kan du identifiera avvikelser mellan en viss baslinje- och måldatauppsättning. Ett DataDriftDetector-objekt skapas på en arbetsyta genom att antingen ange baslinje- och måldatauppsättningarna direkt. Mer information finns i https://aka.ms/datadrift.
Datadriftdetector konstruktor.
Konstruktorn DataDriftDetector används för att hämta en molnrepresentation av ett DataDriftDetector-objekt som är associerat med den angivna arbetsytan.
- Arv
-
builtins.objectDataDriftDetector
Konstruktor
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)
Parametrar
Name | Description |
---|---|
workspace
Obligatorisk
|
Arbetsytan där datadriftdetector-objektet ska skapas. |
name
|
Ett unikt namn för DataDriftDetector-objektet. Standardvärde: None
|
baseline_dataset
|
Datauppsättning som måldatauppsättningen ska jämföras med. Standardvärde: None
|
target_dataset
|
Datauppsättning att köra antingen adhoc - eller schemalagda DataDrift-jobb för. Måste vara en tidsserie. Standardvärde: None
|
compute_target
|
ComputeTarget eller
str
Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. DataDriftDetector skapar ett beräkningsmål om ett inte har angetts. Standardvärde: None
|
frequency
|
Valfri frekvens som anger hur ofta pipelinen körs. Stöder "Day", "Week" eller "Month". Standardvärde: None
|
feature_list
|
Valfria vitlistade funktioner som datadriftidentifieringen ska köras på. DataDriftDetector-jobb körs på alla funktioner om Standardvärde: None
|
alert_config
|
Valfritt konfigurationsobjekt för DataDriftDetector-aviseringar. Standardvärde: None
|
drift_threshold
|
Valfritt tröskelvärde för att aktivera DataDriftDetector-aviseringar. Värdet måste vara mellan 0 och 1. Värdet 0,2 används när Ingen anges (standardvärdet). Standardvärde: None
|
latency
|
Fördröjning i timmar för att data ska visas i datauppsättningen. Standardvärde: None
|
workspace
Obligatorisk
|
Arbetsytan där datadriftdetector-objektet ska skapas. |
name
Obligatorisk
|
Ett unikt namn för DataDriftDetector-objektet. |
baseline_dataset
Obligatorisk
|
Datauppsättning som måldatauppsättningen ska jämföras med. |
target_dataset
Obligatorisk
|
Datauppsättning att köra antingen adhoc - eller schemalagda DataDrift-jobb för. Måste vara en tidsserie. |
compute_target
Obligatorisk
|
ComputeTarget eller
str
Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. DataDriftDetector skapar ett beräkningsmål om ett inte har angetts. |
frequency
Obligatorisk
|
Valfri frekvens som anger hur ofta pipelinen körs. Stöder "Day", "Week" eller "Month". |
feature_list
Obligatorisk
|
Valfria vitlistade funktioner som datadriftidentifieringen ska köras på. DataDriftDetector-jobb körs på alla funktioner om |
alert_config
Obligatorisk
|
Valfritt konfigurationsobjekt för DataDriftDetector-aviseringar. |
drift_threshold
Obligatorisk
|
Valfritt tröskelvärde för att aktivera DataDriftDetector-aviseringar. Värdet måste vara mellan 0 och 1. Värdet 0,2 används när Ingen anges (standardvärdet). |
latency
Obligatorisk
|
Fördröjning i timmar för att data ska visas i datauppsättningen. |
Kommentarer
Ett DataDriftDetector-objekt representerar en definition av dataavvikelsejobb som kan användas för att köra tre jobbkörningstyper:
en adhoc-körning för att analysera en viss dags data; run se metoden .
en schemalagd körning i en pipeline. enable_schedule se metoden .
en återfyllnadskörning för att se hur data ändras över tid; backfill se metoden .
Det typiska mönstret för att skapa en DataDriftDetector är:
- Om du vill skapa ett datauppsättningsbaserat DataDriftDetector-objekt använder du create_from_datasets
I följande exempel visas hur du skapar ett datauppsättningsbaserat DataDriftDetector-objekt.
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
Fullständigt exempel är tillgängligt från https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb
Konstruktorn DataDriftDetector hämtar ett befintligt dataavvikelseobjekt som är associerat med arbetsytan.
Metoder
backfill |
Kör ett återfyllnadsjobb över ett angivet start- och slutdatum. Mer https://aka.ms/datadrift information om återfyllnadskörningar för dataavvikelser finns i. OBSERVERA: Återfyllning stöds endast på datauppsättningsbaserade DataDriftDetector-objekt. |
create_from_datasets |
Skapa ett nytt DataDriftDetector-objekt från en tabelldatauppsättning för baslinjen och en måldatauppsättning för tidsserier. |
delete |
Ta bort schemat för DataDriftDetector-objektet. |
disable_schedule |
Inaktivera schemat för DataDriftDetector-objektet. |
enable_schedule |
Skapa ett schema för att köra datauppsättningsbaserat DataDriftDetector-jobb. |
get_by_name |
Hämta ett unikt DataDriftDetector-objekt för en viss arbetsyta och ett visst namn. |
get_output |
Hämta en tupplar av avvikelseresultaten och måtten för en specifik DataDriftDetector under ett visst tidsfönster. |
list |
Hämta en lista över DataDriftDetector-objekt för den angivna arbetsytan och den valfria datauppsättningen.
OBSERVERA: Om du bara skickar in parametern |
run |
Kör en analys av dataavvikelser för en enskild tidpunkt. |
show |
Visa dataavvikelsetrend i angivet tidsintervall. Som standard visar den här metoden de senaste 10 cyklerna. Om frekvensen till exempel är dag är det de senaste 10 dagarna. Om frekvensen är vecka är det de senaste 10 veckorna. |
update |
Uppdatera schemat som är associerat med DataDriftDetector-objektet. Valfria parametervärden kan anges till |
backfill
Kör ett återfyllnadsjobb över ett angivet start- och slutdatum.
Mer https://aka.ms/datadrift information om återfyllnadskörningar för dataavvikelser finns i.
OBSERVERA: Återfyllning stöds endast på datauppsättningsbaserade DataDriftDetector-objekt.
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
Parametrar
Name | Description |
---|---|
start_date
Obligatorisk
|
Startdatumet för återfyllnadsjobbet. |
end_date
Obligatorisk
|
Slutdatum för återfyllnadsjobbet, inklusive. |
compute_target
|
ComputeTarget eller
str
Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. DataDriftDetector skapar ett beräkningsmål om inget anges. Standardvärde: None
|
create_compute_target
|
Anger om ett Azure Machine Learning-beräkningsmål skapas automatiskt. Standardvärde: False
|
Returer
Typ | Description |
---|---|
En DataDriftDetector-körning. |
create_from_datasets
Skapa ett nytt DataDriftDetector-objekt från en tabelldatauppsättning för baslinjen och en måldatauppsättning för tidsserier.
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)
Parametrar
Name | Description |
---|---|
workspace
Obligatorisk
|
Arbetsytan för att skapa DataDriftDetector i. |
name
Obligatorisk
|
Ett unikt namn för DataDriftDetector-objektet. |
baseline_dataset
Obligatorisk
|
Datauppsättning som måldatauppsättningen ska jämföras med. |
target_dataset
Obligatorisk
|
Datauppsättning att köra antingen adhoc - eller schemalagda DataDrift-jobb för. Måste vara en tidsserie. |
compute_target
|
ComputeTarget eller
str
Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. DataDriftDetector skapar ett beräkningsmål om inget anges. Standardvärde: None
|
frequency
|
Valfri frekvens som anger hur ofta pipelinen körs. Stöder "Day", "Week" eller "Month". Standardvärde: None
|
feature_list
|
Valfria vitlistade funktioner som datadriftsidentifieringen ska köras på. DataDriftDetector-jobb körs på alla funktioner om Standardvärde: None
|
alert_config
|
Valfritt konfigurationsobjekt för DataDriftDetector-aviseringar. Standardvärde: None
|
drift_threshold
|
Valfritt tröskelvärde för att aktivera DataDriftDetector-aviseringar. Värdet måste vara mellan 0 och 1. Värdet 0,2 används när Inget anges (standardvärdet). Standardvärde: None
|
latency
|
Fördröjning i timmar för att data ska visas i datauppsättningen. Standardvärde: None
|
Returer
Typ | Description |
---|---|
Ett DataDriftDetector-objekt. |
Undantag
Typ | Description |
---|---|
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>
|
Kommentarer
Med datamängdsbaserade DataDriftDetectors kan du beräkna dataavvikelser mellan en baslinjedatauppsättning, som måste vara en TabularDataset, och en måldatauppsättning, som måste vara en tidsseriedatauppsättning. En tidsseriedatauppsättning är helt enkelt en TabularDataset med egenskapen fine_grain_timestamp. DataDriftDetector kan sedan köra adhoc - eller schemalagda jobb för att avgöra om måldatauppsättningen har glidit från baslinjedatauppsättningen.
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
Ta bort schemat för DataDriftDetector-objektet.
delete(wait_for_completion=True)
Parametrar
Name | Description |
---|---|
wait_for_completion
|
Om borttagningsåtgärden ska slutföras. Standardvärde: True
|
disable_schedule
Inaktivera schemat för DataDriftDetector-objektet.
disable_schedule(wait_for_completion=True)
Parametrar
Name | Description |
---|---|
wait_for_completion
|
Om du vill vänta tills inaktiveringsåtgärden har slutförts. Standardvärde: True
|
enable_schedule
Skapa ett schema för att köra datauppsättningsbaserat DataDriftDetector-jobb.
enable_schedule(create_compute_target=False, wait_for_completion=True)
Parametrar
Name | Description |
---|---|
create_compute_target
|
Anger om ett Azure Machine Learning-beräkningsmål skapas automatiskt. Standardvärde: False
|
wait_for_completion
|
Om du vill vänta tills aktiveringsåtgärden har slutförts. Standardvärde: True
|
get_by_name
Hämta ett unikt DataDriftDetector-objekt för en viss arbetsyta och ett visst namn.
static get_by_name(workspace, name)
Parametrar
Name | Description |
---|---|
workspace
Obligatorisk
|
Arbetsytan där DataDriftDetector skapades. |
name
Obligatorisk
|
Namnet på datadriftdetector-objektet som ska returneras. |
Returer
Typ | Description |
---|---|
Ett DataDriftDetector-objekt. |
get_output
Hämta en tupplar av avvikelseresultaten och måtten för en specifik DataDriftDetector under ett visst tidsfönster.
get_output(start_time=None, end_time=None, run_id=None)
Parametrar
Name | Description |
---|---|
start_time
|
datetime, <xref:optional>
Starttiden för resultatfönstret i UTC. Om Ingen (standardinställningen) anges används den senaste 10:e cykelns resultat som starttid. Om till exempel frekvensen för dataavvikelseschemat är dag är det Standardvärde: None
|
end_time
|
datetime, <xref:optional>
Sluttiden för resultatfönstret i UTC. Om Ingen (standardinställningen) anges används den aktuella dagen UTC som sluttid. Standardvärde: None
|
run_id
|
int, <xref:optional>
Ett specifikt körnings-ID. Standardvärde: None
|
Returer
Typ | Description |
---|---|
En tupplar med en lista över avvikelseresultat och en lista över enskilda datauppsättnings- och kolumnmått. |
Kommentarer
Den här metoden returnerar en tuppla med avvikelseresultat och mått för antingen ett tidsfönster eller ett körnings-ID baserat på typen av körning: en adhoc-körning , en schemalagd körning och en återfyllnadskörning.
För att hämta resultat från adhoc-körningen finns det bara ett sätt:
run_id
bör vara ett giltigt GUID.Det finns två olika sätt att hämta schemalagda körningar och återfyllnadskörningsresultat: antingen tilldela ett giltigt GUID till
run_id
eller tilldela ett specifiktstart_time
och/ellerend_time
(inklusivt) samtidigt som det behållsrun_id
som Ingen.Om
run_id
,start_time
ochend_time
inte finns i samma metodanrop utlöses ett parameterverifieringsfel.
OBSERVERA: Ange antingen start_time
parametrarna och end_time
eller parametern run_id
, men inte båda.
Det är möjligt att det finns flera resultat för samma måldatum (måldatum innebär måldatauppsättningens startdatum för datamängdsbaserad avvikelse). Därför är det nödvändigt att identifiera och hantera duplicerade resultat.
För datamängdsbaserad avvikelse, om resultaten gäller samma måldatum, är de duplicerade resultat.
Metoden get_output
deduplicerar eventuella duplicerade resultat med en regel: hämta alltid de senaste genererade resultaten.
Metoden get_output
kan användas för att hämta alla utdata eller partiella utdata från schemalagda körningar inom ett visst tidsintervall mellan start_time
och end_time
(gränsen ingår). Du kan också begränsa resultatet av en enskild adhoc genom att run_id
ange .
Använd följande riktlinjer för att tolka resultat som returneras från get_output
metoden :
Principen för filtrering är "överlappande": så länge det finns en överlappning mellan den faktiska resultattiden (datauppsättningsbaserad: måldatauppsättningen [startdatum, slutdatum]) och angivet [
start_time
,end_time
], hämtas resultatet.Om det finns flera utdata för ett måldatum eftersom avvikelseberäkningen kördes flera gånger mot den dagen, väljs endast de senaste utdata som standard.
Eftersom det finns flera typer av en dataavvikelseinstans kan resultatinnehållet vara olika.
För datauppsättningsbaserade resultat ser utdata ut så här:
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
Hämta en lista över DataDriftDetector-objekt för den angivna arbetsytan och den valfria datauppsättningen.
OBSERVERA: Om du bara skickar in parametern workspace
returneras alla DataDriftDetector-objekt som definierats i arbetsytan.
static list(workspace, baseline_dataset=None, target_dataset=None)
Parametrar
Name | Description |
---|---|
workspace
Obligatorisk
|
Arbetsytan där DataDriftDetector-objekten skapades. |
baseline_dataset
|
Baslinjedatauppsättning för att filtrera returlistan. Standardvärde: None
|
target_dataset
|
Måldatauppsättning för att filtrera returlistan. Standardvärde: None
|
Returer
Typ | Description |
---|---|
En lista över DataDriftDetector-objekt. |
run
Kör en analys av dataavvikelser för en enskild tidpunkt.
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
Parametrar
Name | Description |
---|---|
target_date
Obligatorisk
|
Måldatumet för bedömningsdata i UTC. |
compute_target
|
ComputeTarget eller
str
Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. Om inget anges skapas ett beräkningsmål automatiskt. Standardvärde: None
|
create_compute_target
|
Anger om ett Azure Machine Learning-beräkningsmål skapas automatiskt. Standardvärde: False
|
feature_list
|
Valfria vitlistade funktioner som datadriftsidentifieringen ska köras på. Standardvärde: None
|
drift_threshold
|
Valfritt tröskelvärde för att aktivera DataDriftDetector-aviseringar. Standardvärde: None
|
Returer
Typ | Description |
---|---|
En DataDriftDetector-körning. |
show
Visa dataavvikelsetrend i angivet tidsintervall.
Som standard visar den här metoden de senaste 10 cyklerna. Om frekvensen till exempel är dag är det de senaste 10 dagarna. Om frekvensen är vecka är det de senaste 10 veckorna.
show(start_time=None, end_time=None)
Parametrar
Name | Description |
---|---|
start_time
|
datetime, <xref:optional>
Början av presentationstidsfönstret i UTC. Standardvärdet None innebär att hämta den senaste 10:e cykelns resultat. Standardvärde: None
|
end_time
|
datetime, <xref:optional>
Slutet av tidsfönstret för presentationsdata i UTC. Standardinställningen Ingen innebär den aktuella dagen. Standardvärde: None
|
Returer
Typ | Description |
---|---|
dict()
|
En ordlista med alla figurer. Nyckeln är service_name. |
update
Uppdatera schemat som är associerat med DataDriftDetector-objektet.
Valfria parametervärden kan anges till None
, annars använder de sina befintliga värden som standard.
update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)
Parametrar
Name | Description |
---|---|
compute_target
|
ComputeTarget eller
str
Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. DataDriftDetector skapar ett beräkningsmål om den här parametern inte har angetts. Standardvärde: Ellipsis
|
feature_list
|
Vitlistade funktioner som datadriftsidentifieringen ska köras på. Standardvärde: Ellipsis
|
schedule_start
|
Starttiden för dataavvikelseschemat i UTC. Standardvärde: Ellipsis
|
alert_config
|
Valfritt konfigurationsobjekt för DataDriftDetector-aviseringar. Standardvärde: Ellipsis
|
drift_threshold
|
Tröskelvärdet för att aktivera DataDriftDetector-aviseringar. Standardvärde: Ellipsis
|
wait_for_completion
|
Om du vill vänta tills aktiverings-/inaktiverings-/borttagningsåtgärderna har slutförts. Standardvärde: True
|
Returer
Typ | Description |
---|---|
Själv |
Attribut
alert_config
Hämta aviseringskonfigurationen för DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
Ett AlertConfiguration-objekt. |
baseline_dataset
Hämta baslinjedatauppsättningen som är associerad med DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
Datauppsättningstyp för baslinjedatauppsättningen. |
compute_target
Hämta beräkningsmålet som är kopplat till DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
Beräkningsmålet. |
drift_threshold
Hämta tröskelvärdet för drift för DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
Avdriftströskeln. |
drift_type
Hämta typen av DataDriftDetector, "DatasetBased" är det enda värde som stöds för tillfället.
Returer
Typ | Description |
---|---|
Typen av DataDriftDetector-objekt. |
enabled
Hämta det booleska värdet som anger om DataDriftDetector-objektet är aktiverat.
Returer
Typ | Description |
---|---|
Ett booleskt värde; Sant för aktiverat. |
feature_list
Hämta listan över vitlistade funktioner för DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
En lista över funktionsnamn. |
frequency
Hämta frekvensen för DataDriftDetector-schemat.
Returer
Typ | Description |
---|---|
En sträng med antingen "Dag", "Vecka" eller "Månad" |
interval
Hämta intervallet för DataDriftDetector-schemat.
Returer
Typ | Description |
---|---|
Ett heltalsvärde för tidsenhet. |
latency
Hämta svarstiden för DataDriftDetector-schemajobb (i timmar).
Returer
Typ | Description |
---|---|
Antalet timmar som representerar svarstiden. |
name
schedule_start
Hämta starttiden för schemat.
Returer
Typ | Description |
---|---|
Ett datetime-objekt för schemastarttid i UTC. |
state
Anger tillståndet för DataDriftDetector-schemat.
Returer
Typ | Description |
---|---|
En av 'Disabled', 'Enabled', 'Deleted', 'Disabling', 'Enabling', 'Deleteeting', 'Failed', 'DisableFailed', 'EnableFailed', 'DeleteFailed'. |
target_dataset
Hämta måldatauppsättningen som är associerad med DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
Datauppsättningstypen för baslinjedatauppsättningen. |
workspace
Hämta arbetsytan för DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
Arbetsytan som DataDriftDetector-objektet skapades i. |