DataDriftDetector Třída
Definuje monitorování posunu dat, které lze použít ke spouštění úloh posunu dat ve službě Azure Machine Learning.
Třída DataDriftDetector umožňuje identifikovat posun mezi daným směrným plánem a cílovou datovou sadou. Objekt DataDriftDetector se vytvoří v pracovním prostoru tak, že buď přímo zadáte směrný plán a cílovou datovou sadu. Další informace naleznete v tématu https://aka.ms/datadrift.
Konstruktor Datadriftdetector.
Konstruktor DataDriftDetector se používá k načtení cloudové reprezentace objektu DataDriftDetector přidruženého k poskytnutému pracovnímu prostoru.
- Dědičnost
-
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)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Pracovní prostor, ve kterém chcete vytvořit Objekt DataDriftDetector. |
name
|
Jedinečný název dataDriftDetector objektu. Default value: None
|
baseline_dataset
|
Datová sada, se kterou se má porovnat cílová datová sada. Default value: None
|
target_dataset
|
Datová sada, pro kterou se budou spouštět adhocové nebo plánované úlohy DataDrift. Musí se jednat o časovou řadu. Default value: None
|
compute_target
|
ComputeTarget nebo
str
Volitelný název ComputeTarget nebo ComputeTarget služby Azure Machine Learning. DataDriftDetector vytvoří cílový výpočetní objekt, pokud není zadaný. Default value: None
|
frequency
|
Volitelná frekvence označující, jak často se kanál spouští. Podporuje "Day", "Week" nebo "Month". Default value: None
|
feature_list
|
Volitelné funkce na seznamu povolených pro spuštění detekce datových zápatí. Úlohy DataDriftDetector se spustí u všech funkcí, pokud Default value: None
|
alert_config
|
Volitelný objekt konfigurace pro upozornění DataDriftDetector. Default value: None
|
drift_threshold
|
Volitelná prahová hodnota pro povolení upozornění DataDriftDetector. Hodnota musí být mezi 0 a 1. Hodnota 0,2 se použije, pokud je zadána hodnota None (výchozí). Default value: None
|
latency
|
Zpoždění v hodinách, než se data zobrazí v datové sadě. Default value: None
|
workspace
Vyžadováno
|
Pracovní prostor, ve kterém chcete vytvořit Objekt DataDriftDetector. |
name
Vyžadováno
|
Jedinečný název dataDriftDetector objektu. |
baseline_dataset
Vyžadováno
|
Datová sada, se kterou se má porovnat cílová datová sada. |
target_dataset
Vyžadováno
|
Datová sada, pro kterou se budou spouštět adhocové nebo plánované úlohy DataDrift. Musí se jednat o časovou řadu. |
compute_target
Vyžadováno
|
ComputeTarget nebo
str
Volitelný název ComputeTarget nebo ComputeTarget služby Azure Machine Learning. DataDriftDetector vytvoří cílový výpočetní objekt, pokud není zadaný. |
frequency
Vyžadováno
|
Volitelná frekvence označující, jak často se kanál spouští. Podporuje "Day", "Week" nebo "Month". |
feature_list
Vyžadováno
|
Volitelné funkce na seznamu povolených pro spuštění detekce datových zápatí. Úlohy DataDriftDetector se spustí u všech funkcí, pokud |
alert_config
Vyžadováno
|
Volitelný objekt konfigurace pro upozornění DataDriftDetector. |
drift_threshold
Vyžadováno
|
Volitelná prahová hodnota pro povolení upozornění DataDriftDetector. Hodnota musí být mezi 0 a 1. Hodnota 0,2 se použije, pokud je zadána hodnota None (výchozí). |
latency
Vyžadováno
|
Zpoždění v hodinách, než se data zobrazí v datové sadě. |
Poznámky
Objekt DataDriftDetector představuje definici úlohy posunu dat, kterou lze použít ke spuštění tří typů spuštění úloh:
adhoc run pro analýzu dat za konkrétní den; podívejte se na metodurun.
plánované spuštění v kanálu; podívejte se na metodu enable_schedule .
spuštění zpětného vyplňování, abyste viděli, jak se data mění v průběhu času; podívejte se na metodu backfill .
Typický vzor pro vytvoření DataDriftDetectoru je:
- Pokud chcete vytvořit objekt DataDriftDetector založený na datové sadě, použijte create_from_datasets
Následující příklad ukazuje, jak vytvořit objekt DataDriftDetector založený na datové sadě.
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
Úplná ukázka je k dispozici od https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb
Konstruktor DataDriftDetector načte existující objekt posunu dat přidružený k pracovnímu prostoru.
Metody
backfill |
Spusťte úlohu zpětného vyplňování v zadaném počátečním a koncovém datu. Podrobnosti o spuštěních zpětného vyplňování posunu dat najdete v tématu https://aka.ms/datadrift . POZNÁMKA: Zpětné vyplňování je podporováno pouze u objektů DataDriftDetector založených na datové sadě. |
create_from_datasets |
Vytvořte nový objekt DataDriftDetector z standardní tabulkové datové sady a cílové datové sady časové řady. |
delete |
Odstraňte plán objektu DataDriftDetector. |
disable_schedule |
Zakažte plán pro objekt DataDriftDetector. |
enable_schedule |
Vytvořte plán spuštění úlohy DataDriftDetector založené na datové sadě. |
get_by_name |
Načtěte jedinečný objekt DataDriftDetector pro daný pracovní prostor a název. |
get_output |
Získejte řazenou kolekci členů s výsledky posunu a metrikami pro konkrétní DataDriftDetector za dané časové období. |
list |
Získejte seznam objektů DataDriftDetector pro zadaný pracovní prostor a volitelnou datovou sadu.
POZNÁMKA: Předání pouze parametru |
run |
Spusťte analýzu posunu dat k určitému bodu v čase. |
show |
Umožňuje zobrazit trend posunu dat v daném časovém rozsahu. Ve výchozím nastavení tato metoda zobrazuje posledních 10 cyklů. Pokud je například frekvence den, bude to posledních 10 dnů. Pokud je četnost týdenní, bude to posledních 10 týdnů. |
update |
Aktualizujte plán přidružený k objektu DataDriftDetector. Volitelné hodnoty parametrů je možné nastavit na |
backfill
Spusťte úlohu zpětného vyplňování v zadaném počátečním a koncovém datu.
Podrobnosti o spuštěních zpětného vyplňování posunu dat najdete v tématu https://aka.ms/datadrift .
POZNÁMKA: Zpětné vyplňování je podporováno pouze u objektů DataDriftDetector založených na datové sadě.
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
Parametry
Name | Description |
---|---|
start_date
Vyžadováno
|
Počáteční datum úlohy zpětného vyplňování. |
end_date
Vyžadováno
|
Koncové datum úlohy zpětného vyplňování (včetně). |
compute_target
|
ComputeTarget nebo
str
Volitelný název ComputeTarget nebo ComputeTarget služby Azure Machine Learning. DataDriftDetector vytvoří cílový výpočetní objekt, pokud není zadaný žádný. Default value: None
|
create_compute_target
|
Označuje, jestli se automaticky vytvoří cílový výpočetní objekt služby Azure Machine Learning. Default value: False
|
Návraty
Typ | Description |
---|---|
Spuštění DataDriftDetector. |
create_from_datasets
Vytvořte nový objekt DataDriftDetector z standardní tabulkové datové sady a cílové datové sady časové řady.
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)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Pracovní prostor pro vytvoření DataDriftDetector v. |
name
Vyžadováno
|
Jedinečný název dataDriftDetector objektu. |
baseline_dataset
Vyžadováno
|
Datová sada, se kterou se má porovnat cílová datová sada. |
target_dataset
Vyžadováno
|
Datová sada, pro kterou se budou spouštět adhocové nebo plánované úlohy DataDrift. Musí se jednat o časovou řadu. |
compute_target
|
ComputeTarget nebo
str
Volitelný název ComputeTarget nebo ComputeTarget služby Azure Machine Learning. DataDriftDetector vytvoří cílový výpočetní objekt, pokud není zadaný. Default value: None
|
frequency
|
Volitelná frekvence označující, jak často se kanál spouští. Podporuje "Day", "Week" nebo "Month". Default value: None
|
feature_list
|
Volitelné funkce na seznamu povolených pro spuštění detekce zápatí dat Úlohy DataDriftDetector budou spuštěny u všech funkcí, pokud Default value: None
|
alert_config
|
Volitelný objekt konfigurace pro upozornění DataDriftDetector. Default value: None
|
drift_threshold
|
Volitelná prahová hodnota pro povolení upozornění DataDriftDetector. Hodnota musí být mezi 0 a 1. Hodnota 0,2 se použije, pokud je zadána hodnota None (výchozí). Default value: None
|
latency
|
Zpoždění dat v hodinách, než se data zobrazí v datové sadě Default value: None
|
Návraty
Typ | Description |
---|---|
Objekt DataDriftDetector. |
Výjimky
Typ | Description |
---|---|
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>
|
Poznámky
DataDriftDetectors založené na datové sadě umožňují vypočítat posun dat mezi základní datovou sadou, která musí být TabularDataset, a cílovou datovou sadou, což musí být datová sada časové řady. Datová sada časové řady je jednoduše TabularDataset s vlastností fine_grain_timestamp. DataDriftDetector pak může spustit adhoc nebo naplánované úlohy, aby zjistil, jestli se cílová datová sada odchylovala od standardní datové sady.
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
Odstraňte plán objektu DataDriftDetector.
delete(wait_for_completion=True)
Parametry
Name | Description |
---|---|
wait_for_completion
|
Jestli se má čekat na dokončení operace odstranění. Default value: True
|
disable_schedule
Zakažte plán pro objekt DataDriftDetector.
disable_schedule(wait_for_completion=True)
Parametry
Name | Description |
---|---|
wait_for_completion
|
Jestli se má čekat na dokončení operace zakázání. Default value: True
|
enable_schedule
Vytvořte plán spuštění úlohy DataDriftDetector založené na datové sadě.
enable_schedule(create_compute_target=False, wait_for_completion=True)
Parametry
Name | Description |
---|---|
create_compute_target
|
Označuje, jestli se cíl výpočetních prostředků služby Azure Machine Learning vytvoří automaticky. Default value: False
|
wait_for_completion
|
Jestli se má čekat na dokončení operace povolení. Default value: True
|
get_by_name
Načtěte jedinečný objekt DataDriftDetector pro daný pracovní prostor a název.
static get_by_name(workspace, name)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Pracovní prostor, ve kterém byl vytvořen DataDriftDetector. |
name
Vyžadováno
|
Název objektu DataDriftDetector, který se má vrátit. |
Návraty
Typ | Description |
---|---|
Objekt DataDriftDetector. |
get_output
Získejte řazenou kolekci členů s výsledky posunu a metrikami pro konkrétní DataDriftDetector za dané časové období.
get_output(start_time=None, end_time=None, run_id=None)
Parametry
Name | Description |
---|---|
start_time
|
datetime, <xref:optional>
Čas zahájení okna výsledků v UTC. Pokud je zadána hodnota None (výchozí), použijí se jako čas zahájení výsledky posledního 10. cyklu. Pokud je například frekvence plánu posunu dat den, pak Default value: None
|
end_time
|
datetime, <xref:optional>
Koncový čas okna výsledků v UTC. Pokud je zadána hodnota None (výchozí), použije se jako koncový čas aktuální den UTC. Default value: None
|
run_id
|
int, <xref:optional>
Konkrétní ID spuštění. Default value: None
|
Návraty
Typ | Description |
---|---|
Řazená kolekce členů se seznamem výsledků posunu a seznamem jednotlivých datových sad a sloupcových metrik. |
Poznámky
Tato metoda vrací kolekci členů výsledků posunu a metrik pro časové okno nebo ID spuštění na základě typu běhu: adhoc run, plánovaného spuštění a běhu zpětného vyplňování.
Pokud chcete načíst výsledky adhoc spuštění, existuje jenom jeden způsob:
run_id
měl by být platný identifikátor GUID.Pokud chcete načíst naplánovaná spuštění a výsledky zásypového spuštění, existují dva různé způsoby: buď přiřadit platný identifikátor GUID,
run_id
nebo přiřadit konkrétnístart_time
a/neboend_time
(včetně), přičemž se zachovárun_id
jako Žádný.Pokud
run_id
,start_time
aend_time
nejsou none ve stejném volání metody, je vyvolána výjimka ověření parametru.
POZNÁMKA: Zadejte parametry a start_time
end_time
nebo run_id
parametr, ale ne oba parametry.
Je možné, že pro stejné cílové datum existuje více výsledků (cílové datum znamená počáteční datum cílové datové sady pro posun na základě datové sady). Proto je nutné identifikovat a zpracovat duplicitní výsledky.
Pro posun na základě datové sady platí, že pokud jsou výsledky pro stejné cílové datum, jsou to duplicitní výsledky.
Metoda get_output
dedupuje všechny duplicitní výsledky podle jednoho pravidla: vždy si vyzvedne nejnovější vygenerované výsledky.
Metodu get_output
lze použít k načtení všech výstupů nebo částečných výstupů plánovaných spuštění v určitém časovém rozsahu mezi start_time
a end_time
(včetně hranice). Můžete také omezit výsledky jednotlivých adhoc zadáním run_id
.
Při interpretaci výsledků vrácených metodou využijte get_output
následující pokyny:
Principem filtrování je "překrývající se": pokud dojde k překrývání mezi skutečným časem výsledku (na základě datové sady: cílová datová sada [počáteční datum, koncové datum]) a daným [
start_time
,end_time
], pak se výsledek vyzvedne.Pokud existuje více výstupů pro jedno cílové datum, protože výpočet posunu byl proveden několikrát proti danému dni, bude ve výchozím nastavení vybrán pouze nejnovější výstup.
Vzhledem k tomu, že existuje více typů instancí posunu dat, může být obsah výsledku různý.
U výsledků založených na datové sadě bude výstup vypadat takto:
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
Získejte seznam objektů DataDriftDetector pro zadaný pracovní prostor a volitelnou datovou sadu.
POZNÁMKA: Předání pouze parametru workspace
vrátí všechny objekty DataDriftDetector definované v pracovním prostoru.
static list(workspace, baseline_dataset=None, target_dataset=None)
Parametry
Name | Description |
---|---|
workspace
Vyžadováno
|
Pracovní prostor, ve kterém byly vytvořeny objekty DataDriftDetector. |
baseline_dataset
|
Standardní datová sada pro filtrování návratového seznamu. Default value: None
|
target_dataset
|
Cílová datová sada pro filtrování návratového seznamu. Default value: None
|
Návraty
Typ | Description |
---|---|
Seznam objektů DataDriftDetector. |
run
Spusťte analýzu posunu dat k určitému bodu v čase.
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
Parametry
Name | Description |
---|---|
target_date
Vyžadováno
|
Cílové datum bodování dat v UTC. |
compute_target
|
ComputeTarget nebo
str
Volitelný název ComputeTarget nebo ComputeTarget služby Azure Machine Learning. Pokud není zadaný, cíl výpočetních prostředků se vytvoří automaticky. Default value: None
|
create_compute_target
|
Označuje, jestli se cíl výpočetních prostředků služby Azure Machine Learning vytvoří automaticky. Default value: False
|
feature_list
|
Volitelné funkce na seznamu povolených pro spuštění detekce zápatí dat Default value: None
|
drift_threshold
|
Volitelná prahová hodnota pro povolení upozornění DataDriftDetector. Default value: None
|
Návraty
Typ | Description |
---|---|
Spuštění DataDriftDetector. |
show
Umožňuje zobrazit trend posunu dat v daném časovém rozsahu.
Ve výchozím nastavení tato metoda zobrazuje posledních 10 cyklů. Pokud je například frekvence den, bude to posledních 10 dnů. Pokud je četnost týdenní, bude to posledních 10 týdnů.
show(start_time=None, end_time=None)
Parametry
Name | Description |
---|---|
start_time
|
datetime, <xref:optional>
Začátek časového okna prezentace v UTC. Výchozí hodnota None znamená, že chcete získat nejnovější výsledky z 10. cyklu. Default value: None
|
end_time
|
datetime, <xref:optional>
Konec časového okna dat prezentace v UTC. Výchozí hodnota None znamená aktuální den. Default value: None
|
Návraty
Typ | Description |
---|---|
dict()
|
Slovník všech čísel. Klíč je service_name. |
update
Aktualizujte plán přidružený k objektu DataDriftDetector.
Volitelné hodnoty parametrů je možné nastavit na None
hodnotu , jinak mají výchozí hodnotu pro své stávající hodnoty.
update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)
Parametry
Name | Description |
---|---|
compute_target
|
ComputeTarget nebo
str
Volitelný název ComputeTarget nebo ComputeTarget služby Azure Machine Learning. DataDriftDetector vytvoří cílový výpočetní objekt, pokud tento parametr není zadaný. Default value: Ellipsis
|
feature_list
|
Funkce na seznamu povolených pro spuštění detekce dat. Default value: Ellipsis
|
schedule_start
|
Počáteční čas plánu posunu dat v UTC. Default value: Ellipsis
|
alert_config
|
Volitelný objekt konfigurace pro upozornění DataDriftDetector. Default value: Ellipsis
|
drift_threshold
|
Prahová hodnota pro povolení upozornění DataDriftDetector. Default value: Ellipsis
|
wait_for_completion
|
Jestli se mají čekat na dokončení operací povolení, zakázání nebo odstranění. Default value: True
|
Návraty
Typ | Description |
---|---|
Vlastní |
Atributy
alert_config
Získejte konfiguraci upozornění pro objekt DataDriftDetector.
Návraty
Typ | Description |
---|---|
Objekt AlertConfiguration. |
baseline_dataset
Získejte základní datovou sadu přidruženou k objektu DataDriftDetector.
Návraty
Typ | Description |
---|---|
Typ datové sady základní datové sady. |
compute_target
Získejte cílový výpočetní objekt připojený k objektu DataDriftDetector.
Návraty
Typ | Description |
---|---|
Cílové výpočetní prostředí. |
drift_threshold
Získejte prahovou hodnotu posunu dataDriftDetector objektu.
Návraty
Typ | Description |
---|---|
Prahová hodnota posunu. |
drift_type
Získejte typ DataDriftDetector. V současné chvíli je jedinou podporovanou hodnotou DatasetBased.
Návraty
Typ | Description |
---|---|
Typ Objektu DataDriftDetector. |
enabled
Získejte logickou hodnotu označující, zda je objekt DataDriftDetector povolen.
Návraty
Typ | Description |
---|---|
Logická hodnota; Hodnota True pro povoleno |
feature_list
Získejte seznam povolených funkcí pro objekt DataDriftDetector.
Návraty
Typ | Description |
---|---|
Seznam názvů funkcí. |
frequency
Získejte frekvenci plánu DataDriftDetector.
Návraty
Typ | Description |
---|---|
Řetězec "Day", "Week" nebo "Month" |
interval
Získejte interval plánu DataDriftDetector.
Návraty
Typ | Description |
---|---|
Celočíselná hodnota časové jednotky. |
latency
Získejte latenci úloh plánu DataDriftDetector (v hodinách).
Návraty
Typ | Description |
---|---|
Počet hodin představující latenci. |
name
schedule_start
Získejte čas zahájení plánu.
Návraty
Typ | Description |
---|---|
Objekt datetime počátečního času plánu v UTC. |
state
Označuje stav plánu DataDriftDetector.
Návraty
Typ | Description |
---|---|
Jedna z hodnot Zakázáno, Povoleno, Odstraněno, Zakázání, Povolení, Odstraňování, Selhání, DisableFailed, EnableFailed, EnableFailed, DeleteFailed. |
target_dataset
Získejte cílovou datovou sadu přidruženou k objektu DataDriftDetector.
Návraty
Typ | Description |
---|---|
Typ základní datové sady. |
workspace
Získejte pracovní prostor objektu DataDriftDetector.
Návraty
Typ | Description |
---|---|
Pracovní prostor objektu DataDriftDetector byl vytvořen. |