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

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
str

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

Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. DataDriftDetector skapar ett beräkningsmål om ett inte har angetts.

Standardvärde: None
frequency
str

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 feature_list det inte har angetts. Funktionslistan kan innehålla tecken, siffror, bindestreck och blanksteg. Listans längd måste vara mindre än 200.

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
int

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
str

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

Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. DataDriftDetector skapar ett beräkningsmål om ett inte har angetts.

frequency
Obligatorisk
str

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 feature_list det inte har angetts. Funktionslistan kan innehålla tecken, siffror, bindestreck och blanksteg. Listans längd måste vara mindre än 200.

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
int

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 workspace returneras alla DataDriftDetector-objekt som definierats i arbetsytan.

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 None, annars använder de sina befintliga värden som standard.

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

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
Run

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
str

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

Valfritt Azure Machine Learning ComputeTarget- eller ComputeTarget-namn. DataDriftDetector skapar ett beräkningsmål om inget anges.

Standardvärde: None
frequency
str

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 feature_list det inte har angetts. Funktionslistan kan innehålla tecken, siffror, bindestreck och blanksteg. Listans längd måste vara mindre än 200.

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
int

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
str

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 start_time 10 dagar. Om frekvensen är vecka start_time är 10 veckor.

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 specifikt start_time och/eller end_time (inklusivt) samtidigt som det behålls run_id som Ingen.

  • Om run_id, start_timeoch end_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_idange .

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

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
Run

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

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
str

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
str

En sträng med antingen "Dag", "Vecka" eller "Månad"

interval

Hämta intervallet för DataDriftDetector-schemat.

Returer

Typ Description
int

Ett heltalsvärde för tidsenhet.

latency

Hämta svarstiden för DataDriftDetector-schemajobb (i timmar).

Returer

Typ Description
int

Antalet timmar som representerar svarstiden.

name

Hämta namnet på DataDriftDetector-objektet.

Returer

Typ Description
str

DataDriftDetector-namnet.

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
str

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.