DataDriftDetector Klass
Definierar en dataavvikelseövervakare som kan användas för att köra dataavvikelsejobb i Azure Machine Learning.
Med klassen DataDriftDetector kan du identifiera avvikelse 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 för att köra antingen ad hoc - 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 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
|
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 för att köra antingen ad hoc - 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 inget anges. |
frequency
Obligatorisk
|
Valfri frekvens som anger hur ofta pipelinen körs. Stöder "Day", "Week" eller "Month". |
feature_list
Obligatorisk
|
Valfria vitlistade funktioner som datadriftsidentifieringen 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 Inget 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
DataDriftDetector-konstruktorn 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: Återfyll 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åltidsseriedatauppsättning. |
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 tuppla av driftresultat och mått för en specifik DataDriftDetector under ett angivet tidsfönster. |
list |
Hämta en lista över DataDriftDetector-objekt för den angivna arbetsytan och valfri datauppsättning.
OBSERVERA: Om du bara skickar in parametern |
run |
Kör en dataavvikelseanalys 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 blir 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: Återfyll 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
|
Slutdatumet 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 Beräkningsmål för Azure Machine Learning 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åltidsseriedatauppsättning.
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 som DataDriftDetector ska skapas 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 för att köra antingen ad hoc - 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 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
|
Returer
Typ | Description |
---|---|
Ett DataDriftDetector-objekt. |
Undantag
Typ | Description |
---|---|
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>
|
Kommentarer
Med datauppsättningsbaserade DataDriftDetectors kan du beräkna dataavvikelse 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 drivits 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 aktiveringsåtgärden ska slutföras. 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 tuppla av driftresultat och mått för en specifik DataDriftDetector under ett angivet 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 (standard) anges används den senaste 10:e cykelns resultat som starttid. Om till exempel dataavvikelseschemats frekvens är dag är det Standardvärde: None
|
end_time
|
datetime, <xref:optional>
Sluttiden för resultatfönstret i UTC. Om Ingen (standard) 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 avdriftsresultat och en lista över enskilda datamängder och kolumnvärden. |
Kommentarer
Den här metoden returnerar en tuppeln med driftresultat och mått för antingen ett tidsfönster eller kör-ID baserat på typen av körning: en adhoc-körning , en schemalagd körning och en serverfyllningskörning.
För att hämta adhoc-körningsresultat 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 en specifikstart_time
och/ellerend_time
(inklusive) samtidigt som den ärrun_id
Ingen.Om
run_id
,start_time
ochend_time
inte är Ingen i samma metodanrop utlöses ett parameterverifieringsfel.
OBSERVERA: Ange antingen start_time
och end_time
parametrar 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 startdatum för måldatauppsättning för datauppsättningsbaserad drift). Därför är det nödvändigt att identifiera och hantera duplicerade resultat.
För datauppsättningsbaserad avvikelse, om resultaten är för 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ättning [startdatum, slutdatum]) och angiven [
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 valfri datauppsättning.
OBSERVERA: Om du bara skickar in parametern workspace
returneras alla DataDriftDetector-objekt som definierats på 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 dataavvikelseanalys 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åldatum för bedömning av data 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 datadriftidentifieringen 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 blir 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 Ingen 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. Standardvärdet Ingen innebär den aktuella dagen. Standardvärde: None
|
Returer
Typ | Description |
---|---|
dict()
|
En ordlista över alla figurer. Nyckeln är service_name. |
update
Uppdatera schemat som är associerat med DataDriftDetector-objektet.
Valfria parametervärden kan anges till None
, annars är de standardvärdena för deras befintliga värden.
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 datadriftidentifieringen 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 på. Standardvärde: Ellipsis
|
wait_for_completion
|
Om du vill vänta tills åtgärderna för att aktivera/inaktivera/ta bort 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 |
---|---|
Datamängdstypen 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 avvikelsetröskelvärdet för DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
Tröskelvärdet för avvikelse. |
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 "Day", "Week" eller "Month" |
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 schemats starttid 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 |
---|---|
Datamängdstypen för baslinjedatauppsättningen. |
workspace
Hämta arbetsytan för DataDriftDetector-objektet.
Returer
Typ | Description |
---|---|
Arbetsytan som DataDriftDetector-objektet skapades i. |