Delen via


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

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
str

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

Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. DataDriftDetector maakt een rekendoel als dit niet is opgegeven.

Default value: None
frequency
str

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 feature_list dit niet is opgegeven. De lijst met functies kan tekens, cijfers, streepjes en witruimten bevatten. De lengte van de lijst moet kleiner zijn dan 200.

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
int

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
str

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

Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. DataDriftDetector maakt een rekendoel als dit niet is opgegeven.

frequency
Vereist
str

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 feature_list dit niet is opgegeven. De lijst met functies kan tekens, cijfers, streepjes en witruimten bevatten. De lengte van de lijst moet kleiner zijn dan 200.

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
int

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 workspace parameter doorgeeft, worden alle DataDriftDetector-objecten geretourneerd die in de werkruimte zijn gedefinieerd.

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 None, anders worden ze standaard ingesteld op de bestaande waarden.

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

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
Run

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
str

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

Optionele Azure Machine Learning ComputeTarget- of ComputeTarget-naam. DataDriftDetector maakt een rekendoel als dit niet is opgegeven.

Default value: None
frequency
str

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 feature_list dit niet is opgegeven. De lijst met functies kan tekens, cijfers, streepjes en witruimten bevatten. De lengte van de lijst moet kleiner zijn dan 200.

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
int

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
str

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 start_time 10 dagen. Als frequentie week is, is dat start_time 10 weken.

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 specifieke start_time en/of end_time (inclusief) toe met behoud run_id van de status Geen.

  • Als run_id, start_timeen end_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_idop 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

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
Run

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

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
str

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
str

Een tekenreeks van 'Dag', 'Week' of 'Maand'

interval

Haal het interval van het DataDriftDetector-schema op.

Retouren

Type Description
int

Een geheel getal van tijdseenheid.

latency

Haal de latentie van de DataDriftDetector-planningstaken (in uren) op.

Retouren

Type Description
int

Het aantal uren dat de latentie vertegenwoordigt.

name

Haal de naam op van het object DataDriftDetector.

Retouren

Type Description
str

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
str

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.