DataDriftDetector Klas
Definieert een gegevensdriftmonitor die kan worden gebruikt voor het uitvoeren van gegevensdrifttaken in Azure Machine Learning.
Met de klasse DataDriftDetector kunt u afwijkingen tussen een bepaalde basislijn en doelgegevensset identificeren. Een DataDriftDetector-object wordt gemaakt in een werkruimte door de basislijn- en doelgegevenssets rechtstreeks op te geven. Voor meer informatie raadpleegt u https://aka.ms/datadrift.
Datadriftdetector constructor.
De constructor DataDriftDetector wordt gebruikt om een cloudweergave op te halen van een DataDriftDetector-object dat is gekoppeld aan de opgegeven werkruimte.
- Overname
-
builtins.objectDataDriftDetector
Constructor
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)
Parameters
Name | Description |
---|---|
workspace
Vereist
|
De werkruimte waarin het object DataDriftDetector moet worden gemaakt. |
name
|
Een unieke naam voor het object DataDriftDetector. Default value: None
|
baseline_dataset
|
Gegevensset om de doelgegevensset mee te vergelijken. Default value: None
|
target_dataset
|
Gegevensset om adhoc - of geplande DataDrift-taken voor uit te voeren. Moet een tijdreeks zijn. Default value: None
|
compute_target
|
ComputeTarget of
str
Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. DataDriftDetector maakt een rekendoel als dit niet is opgegeven. Default value: None
|
frequency
|
Optionele frequentie die aangeeft hoe vaak de pijplijn wordt uitgevoerd. Ondersteunt 'Dag', 'Week' of 'Maand'. Default value: None
|
feature_list
|
Optionele whitelist-functies om de datadriftdetectie op uit te voeren. DataDriftDetector-taken worden uitgevoerd op alle functies als Default value: None
|
alert_config
|
Optioneel configuratieobject voor DataDriftDetector-waarschuwingen. Default value: None
|
drift_threshold
|
Optionele drempelwaarde om DataDriftDetector-waarschuwingen in te schakelen. De waarde moet tussen 0 en 1 zijn. De waarde 0,2 wordt gebruikt wanneer Geen is opgegeven (de standaardwaarde). Default value: None
|
latency
|
Vertraging in uren voordat gegevens in de gegevensset worden weergegeven. Default value: None
|
workspace
Vereist
|
De werkruimte waarin het object DataDriftDetector moet worden gemaakt. |
name
Vereist
|
Een unieke naam voor het object DataDriftDetector. |
baseline_dataset
Vereist
|
Gegevensset om de doelgegevensset mee te vergelijken. |
target_dataset
Vereist
|
Gegevensset om adhoc - of geplande DataDrift-taken voor uit te voeren. Moet een tijdreeks zijn. |
compute_target
Vereist
|
ComputeTarget of
str
Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. DataDriftDetector maakt een rekendoel als dit niet is opgegeven. |
frequency
Vereist
|
Optionele frequentie die aangeeft hoe vaak de pijplijn wordt uitgevoerd. Ondersteunt 'Dag', 'Week' of 'Maand'. |
feature_list
Vereist
|
Optionele whitelist-functies om de datadriftdetectie op uit te voeren. DataDriftDetector-taken worden uitgevoerd op alle functies als |
alert_config
Vereist
|
Optioneel configuratieobject voor DataDriftDetector-waarschuwingen. |
drift_threshold
Vereist
|
Optionele drempelwaarde om DataDriftDetector-waarschuwingen in te schakelen. De waarde moet tussen 0 en 1 zijn. De waarde 0,2 wordt gebruikt wanneer Geen is opgegeven (de standaardwaarde). |
latency
Vereist
|
Vertraging in uren voordat gegevens in de gegevensset worden weergegeven. |
Opmerkingen
Een DataDriftDetector-object vertegenwoordigt een taakdefinitie voor gegevensdrift die kan worden gebruikt om drie taakuitvoeringstypen uit te voeren:
een adhoc-uitvoering voor het analyseren van de waarde van een specifieke dag aan gegevens; zie de run methode.
een geplande uitvoering in een pijplijn; zie de enable_schedule methode.
een backfill-uitvoering om te zien hoe gegevens in de loop van de tijd veranderen; zie de backfill methode.
Het typische patroon voor het maken van een DataDriftDetector is:
- Als u een dataDriftDetector-object op basis van een gegevensset wilt maken, gebruikt u create_from_datasets
In het volgende voorbeeld ziet u hoe u een dataDriftDetector-object op basis van een gegevensset maakt.
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
Volledig voorbeeld is beschikbaar via https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb
De constructor DataDriftDetector haalt een bestaand gegevensdriftobject op dat is gekoppeld aan de werkruimte.
Methoden
backfill |
Voer een backfill-taak uit over een opgegeven begin- en einddatum. Zie https://aka.ms/datadrift voor meer informatie over backfill-uitvoeringen voor gegevensdrift. OPMERKING: Backfill wordt alleen ondersteund voor DataDriftDetector-objecten op basis van gegevenssets. |
create_from_datasets |
Maak een nieuw DataDriftDetector-object op basis van een tabellaire basislijngegevensset en een doelgegevensset met tijdreeksen. |
delete |
Verwijder de planning voor het object DataDriftDetector. |
disable_schedule |
Schakel de planning voor het object DataDriftDetector uit. |
enable_schedule |
Maak een planning voor het uitvoeren van de dataDriftDetector-taak op basis van een gegevensset. |
get_by_name |
Haal een uniek DataDriftDetector-object op voor een bepaalde werkruimte en naam. |
get_output |
Haal een tuple op van de driftresultaten en metrische gegevens voor een specifieke DataDriftDetector gedurende een bepaald tijdvenster. |
list |
Haal een lijst op met DataDriftDetector-objecten voor de opgegeven werkruimte en optionele gegevensset.
OPMERKING: Als u alleen de |
run |
Eén gegevensdriftanalyse op een bepaald tijdstip uitvoeren. |
show |
Trend van gegevensdrift weergeven in een bepaald tijdsbereik. Met deze methode worden standaard de meest recente 10 cycli weergegeven. Als frequentie bijvoorbeeld dag is, is dit de meest recente 10 dagen. Als frequentie week is, zijn dit de meest recente 10 weken. |
update |
Werk de planning bij die is gekoppeld aan het object DataDriftDetector. Optionele parameterwaarden kunnen worden ingesteld op |
backfill
Voer een backfill-taak uit over een opgegeven begin- en einddatum.
Zie https://aka.ms/datadrift voor meer informatie over backfill-uitvoeringen voor gegevensdrift.
OPMERKING: Backfill wordt alleen ondersteund voor DataDriftDetector-objecten op basis van gegevenssets.
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
Parameters
Name | Description |
---|---|
start_date
Vereist
|
De begindatum van de backfill-taak. |
end_date
Vereist
|
De einddatum van de backfill-taak, inclusief. |
compute_target
|
ComputeTarget of
str
Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. DataDriftDetector maakt een rekendoel als er geen is opgegeven. Default value: None
|
create_compute_target
|
Hiermee wordt aangegeven of er automatisch een Azure Machine Learning-rekendoel wordt gemaakt. Default value: False
|
Retouren
Type | Description |
---|---|
Een DataDriftDetector-uitvoering. |
create_from_datasets
Maak een nieuw DataDriftDetector-object op basis van een tabellaire basislijngegevensset en een doelgegevensset met tijdreeksen.
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)
Parameters
Name | Description |
---|---|
workspace
Vereist
|
De werkruimte waarin de DataDriftDetector moet worden gemaakt. |
name
Vereist
|
Een unieke naam voor het object DataDriftDetector. |
baseline_dataset
Vereist
|
Gegevensset om de doelgegevensset mee te vergelijken. |
target_dataset
Vereist
|
Gegevensset om adhoc - of geplande DataDrift-taken voor uit te voeren. Moet een tijdreeks zijn. |
compute_target
|
ComputeTarget of
str
Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. DataDriftDetector maakt een rekendoel als dit niet is opgegeven. Default value: None
|
frequency
|
Optionele frequentie die aangeeft hoe vaak de pijplijn wordt uitgevoerd. Ondersteunt 'Dag', 'Week' of 'Maand'. Default value: None
|
feature_list
|
Optionele whitelist-functies om de datadriftdetectie op uit te voeren. DataDriftDetector-taken worden uitgevoerd op alle functies als Default value: None
|
alert_config
|
Optioneel configuratieobject voor DataDriftDetector-waarschuwingen. Default value: None
|
drift_threshold
|
Optionele drempelwaarde om DataDriftDetector-waarschuwingen in te schakelen. De waarde moet tussen 0 en 1 zijn. De waarde 0,2 wordt gebruikt wanneer Geen is opgegeven (de standaardwaarde). Default value: None
|
latency
|
Vertraging in uren voordat gegevens in de gegevensset worden weergegeven. Default value: None
|
Retouren
Type | Description |
---|---|
Een DataDriftDetector-object. |
Uitzonderingen
Type | Description |
---|---|
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>
|
Opmerkingen
Met DataDriftDetectors op basis van gegevenssets kunt u gegevensdrift berekenen tussen een basislijngegevensset, die een TabularDatasetmoet zijn, en een doelgegevensset, die een tijdreeksgegevensset moet zijn. Een tijdreeksgegevensset is gewoon een TabularDataset met de eigenschap fine_grain_timestamp. De DataDriftDetector kan vervolgens ad-hoctaken of geplande taken uitvoeren om te bepalen of de doelgegevensset is afgeleid van de basisgegevensset.
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
Verwijder de planning voor het object DataDriftDetector.
delete(wait_for_completion=True)
Parameters
Name | Description |
---|---|
wait_for_completion
|
Of u wilt wachten tot de verwijderbewerking is voltooid. Default value: True
|
disable_schedule
Schakel de planning voor het object DataDriftDetector uit.
disable_schedule(wait_for_completion=True)
Parameters
Name | Description |
---|---|
wait_for_completion
|
Of u moet wachten tot de bewerking uitschakelen is voltooid. Default value: True
|
enable_schedule
Maak een planning voor het uitvoeren van de dataDriftDetector-taak op basis van een gegevensset.
enable_schedule(create_compute_target=False, wait_for_completion=True)
Parameters
Name | Description |
---|---|
create_compute_target
|
Hiermee wordt aangegeven of een Azure Machine Learning-rekendoel automatisch wordt gemaakt. Default value: False
|
wait_for_completion
|
Of moet worden gewacht totdat de inschakelingsbewerking is voltooid. Default value: True
|
get_by_name
Haal een uniek DataDriftDetector-object op voor een bepaalde werkruimte en naam.
static get_by_name(workspace, name)
Parameters
Name | Description |
---|---|
workspace
Vereist
|
De werkruimte waarin de DataDriftDetector is gemaakt. |
name
Vereist
|
De naam van het DataDriftDetector-object dat moet worden geretourneerd. |
Retouren
Type | Description |
---|---|
Een DataDriftDetector-object. |
get_output
Haal een tuple op van de driftresultaten en metrische gegevens voor een specifieke DataDriftDetector gedurende een bepaald tijdvenster.
get_output(start_time=None, end_time=None, run_id=None)
Parameters
Name | Description |
---|---|
start_time
|
datetime, <xref:optional>
De begintijd van het resultatenvenster in UTC. Als Geen (de standaardinstelling) is opgegeven, worden de resultaten van de meest recente 10e cyclus gebruikt als begintijd. Als de frequentie van het gegevensdriftschema bijvoorbeeld dag is, is dat Default value: None
|
end_time
|
datetime, <xref:optional>
De eindtijd van het resultatenvenster in UTC. Als Geen (de standaardinstelling) is opgegeven, wordt de huidige dag UTC gebruikt als eindtijd. Default value: None
|
run_id
|
int, <xref:optional>
Een specifieke uitvoerings-id. Default value: None
|
Retouren
Type | Description |
---|---|
Een tuple van een lijst met driftresultaten en een lijst met afzonderlijke gegevenssets en kolomgegevens. |
Opmerkingen
Deze methode retourneert een tuple van driftresultaten en metrische gegevens voor een tijdvenster of uitvoerings-id op basis van het type uitvoering: een ad hoc-uitvoering , een geplande uitvoering en een backfill-uitvoering.
Er is slechts één manier om adhoc-uitvoeringsresultaten op te halen:
run_id
moet een geldige GUID zijn.Er zijn twee verschillende manieren om geplande uitvoeringen en resultaten van backfill-uitvoeringen op te halen: wijs een geldige GUID toe aan
run_id
of wijs een specifiekestart_time
en/ofend_time
(inclusief) toe met behoudrun_id
van de status Geen.Als
run_id
,start_time
enend_time
geen zijn in dezelfde methode-aanroep, wordt een uitzondering voor parametervalidatie gegenereerd.
OPMERKING: Geef de start_time
parameters en end_time
of de run_id
parameter op, maar niet beide.
Het is mogelijk dat er meerdere resultaten zijn voor dezelfde doeldatum (doeldatum betekent de begindatum van de doelgegevensset voor drift op basis van gegevenssets). Daarom is het noodzakelijk om dubbele resultaten te identificeren en af te handelen.
Voor afwijkingen op basis van gegevenssets geldt dat als de resultaten voor dezelfde doeldatum zijn, het dubbele resultaten zijn.
Met get_output
de methode worden gedupliceerde resultaten met één regel ontdubbeld: haal altijd de meest recente gegenereerde resultaten op.
De get_output
methode kan worden gebruikt om alle uitvoer of gedeeltelijke uitvoer van geplande uitvoeringen op te halen in een specifiek tijdsbereik tussen start_time
en end_time
(inclusief grens). U kunt ook de resultaten van een afzonderlijke adhoc beperken door de run_id
op te geven.
Gebruik de volgende richtlijnen om de resultaten van de get_output
methode te interpreteren:
Het principe voor filteren is 'overlappend': zolang er een overlapping is tussen de werkelijke resultaattijd (op basis van gegevensset: doelgegevensset [begindatum, einddatum]) en de opgegeven [
start_time
,end_time
], wordt het resultaat opgehaald.Als er meerdere uitvoerwaarden zijn voor één doeldatum omdat de driftberekening meerdere keren is uitgevoerd ten opzichte van die dag, wordt standaard alleen de meest recente uitvoer gekozen.
Aangezien er meerdere typen gegevensdriftexemplaren zijn, kan de inhoud van het resultaat verschillen.
Voor resultaten op basis van gegevenssets ziet de uitvoer er als volgt uit:
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
Haal een lijst op met DataDriftDetector-objecten voor de opgegeven werkruimte en optionele gegevensset.
OPMERKING: Als u alleen de workspace
parameter doorgeeft, worden alle DataDriftDetector-objecten geretourneerd die in de werkruimte zijn gedefinieerd.
static list(workspace, baseline_dataset=None, target_dataset=None)
Parameters
Name | Description |
---|---|
workspace
Vereist
|
De werkruimte waarin de DataDriftDetector-objecten zijn gemaakt. |
baseline_dataset
|
Basislijngegevensset voor het filteren van de retourlijst. Default value: None
|
target_dataset
|
Doelgegevensset om de retourlijst te filteren. Default value: None
|
Retouren
Type | Description |
---|---|
Een lijst met DataDriftDetector-objecten. |
run
Eén gegevensdriftanalyse op een bepaald tijdstip uitvoeren.
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
Parameters
Name | Description |
---|---|
target_date
Vereist
|
De doeldatum van scoregegevens in UTC. |
compute_target
|
ComputeTarget of
str
Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. Als u dit niet opgeeft, wordt automatisch een rekendoel gemaakt. Default value: None
|
create_compute_target
|
Hiermee wordt aangegeven of een Azure Machine Learning-rekendoel automatisch wordt gemaakt. Default value: False
|
feature_list
|
Optionele whitelist-functies om de datadriftdetectie op uit te voeren. Default value: None
|
drift_threshold
|
Optionele drempelwaarde om DataDriftDetector-waarschuwingen in te schakelen. Default value: None
|
Retouren
Type | Description |
---|---|
Een DataDriftDetector-uitvoering. |
show
Trend van gegevensdrift weergeven in een bepaald tijdsbereik.
Met deze methode worden standaard de meest recente 10 cycli weergegeven. Als frequentie bijvoorbeeld dag is, is dit de meest recente 10 dagen. Als frequentie week is, zijn dit de meest recente 10 weken.
show(start_time=None, end_time=None)
Parameters
Name | Description |
---|---|
start_time
|
datetime, <xref:optional>
Het begin van het tijdvenster van de presentatie in UTC. De standaardwaarde Geen betekent dat de resultaten van de meest recente 10e cyclus worden opgehaald. Default value: None
|
end_time
|
datetime, <xref:optional>
Het einde van het tijdvenster voor presentatiegegevens in UTC. De standaardwaarde Geen betekent de huidige dag. Default value: None
|
Retouren
Type | Description |
---|---|
dict()
|
Een woordenlijst van alle figuren. De sleutel is service_name. |
update
Werk de planning bij die is gekoppeld aan het object DataDriftDetector.
Optionele parameterwaarden kunnen worden ingesteld op None
, anders worden ze standaard ingesteld op de bestaande waarden.
update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)
Parameters
Name | Description |
---|---|
compute_target
|
ComputeTarget of
str
Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. DataDriftDetector maakt een rekendoel als deze parameter niet is opgegeven. Default value: Ellipsis
|
feature_list
|
Functies in de whitelist om de datadriftdetectie op uit te voeren. Default value: Ellipsis
|
schedule_start
|
De begintijd van het schema voor gegevensdrift in UTC. Default value: Ellipsis
|
alert_config
|
Optioneel configuratieobject voor DataDriftDetector-waarschuwingen. Default value: Ellipsis
|
drift_threshold
|
De drempelwaarde voor het inschakelen van DataDriftDetector-waarschuwingen. Default value: Ellipsis
|
wait_for_completion
|
Of u wilt wachten tot de bewerkingen voor inschakelen/uitschakelen/verwijderen zijn voltooid. Default value: True
|
Retouren
Type | Description |
---|---|
Zelf |
Kenmerken
alert_config
Haal de waarschuwingsconfiguratie op voor het object DataDriftDetector.
Retouren
Type | Description |
---|---|
Een AlertConfiguration-object. |
baseline_dataset
Haal de basisgegevensset op die is gekoppeld aan het object DataDriftDetector.
Retouren
Type | Description |
---|---|
Gegevenssettype van de basislijngegevensset. |
compute_target
Haal het rekendoel op dat is gekoppeld aan het object DataDriftDetector.
Retouren
Type | Description |
---|---|
Het rekendoel. |
drift_threshold
Haal de driftdrempelwaarde op voor het object DataDriftDetector.
Retouren
Type | Description |
---|---|
De driftdrempelwaarde. |
drift_type
Haal het type DataDriftDetector op, 'DatasetBased' is de enige waarde die momenteel wordt ondersteund.
Retouren
Type | Description |
---|---|
Het type DataDriftDetector-object. |
enabled
Haal de booleaanse waarde op die aangeeft of het object DataDriftDetector is ingeschakeld.
Retouren
Type | Description |
---|---|
Een booleaanse waarde; Waar voor ingeschakeld. |
feature_list
Haal de lijst met functies in de whitelist op voor het object DataDriftDetector.
Retouren
Type | Description |
---|---|
Een lijst met functienamen. |
frequency
Haal de frequentie van het DataDriftDetector-schema op.
Retouren
Type | Description |
---|---|
Een tekenreeks van 'Dag', 'Week' of 'Maand' |
interval
Haal het interval van het DataDriftDetector-schema op.
Retouren
Type | Description |
---|---|
Een geheel getal van tijdseenheid. |
latency
Haal de latentie van de DataDriftDetector-planningstaken (in uren) op.
Retouren
Type | Description |
---|---|
Het aantal uren dat de latentie vertegenwoordigt. |
name
Haal de naam op van het object DataDriftDetector.
Retouren
Type | Description |
---|---|
De naam DataDriftDetector. |
schedule_start
Haal de begintijd van de planning op.
Retouren
Type | Description |
---|---|
Een datum/tijd-object van de begintijd van de planning in UTC. |
state
Hiermee wordt de status van het DataDriftDetector-schema aangegeven.
Retouren
Type | Description |
---|---|
Een van de opties 'Disabled', 'Enabled', 'Deleted', 'Disableing', 'Enabling', 'Deleting', 'Failed', 'DisableFailed', 'EnableFailed', 'DeleteFailed'. |
target_dataset
Haal de doelgegevensset op die is gekoppeld aan het object DataDriftDetector.
Retouren
Type | Description |
---|---|
Het gegevenssettype van de basislijngegevensset. |
workspace
Haal de werkruimte van het object DataDriftDetector op.
Retouren
Type | Description |
---|---|
De werkruimte waarin het object DataDriftDetector is gemaakt. |