Compartilhar via


DataDriftDetector Classe

Define um monitor de descompasso de dados que pode ser usado para executar trabalhos de descompasso de dados no Azure Machine Learning.

A classe DataDriftDetector permite identificar o descompasso entre uma determinada linha de base e o conjunto de dados de destino. Um objeto DataDriftDetector é criado em um workspace especificando diretamente os conjuntos de dados de linha de base e de destino. Para obter mais informações, consulte https://aka.ms/datadrift.

Construtor datadriftdetector.

O construtor DataDriftDetector é usado para recuperar uma representação na nuvem de um objeto DataDriftDetector associado ao workspace fornecido.

Herança
builtins.object
DataDriftDetector

Construtor

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)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace no qual criar o objeto DataDriftDetector.

name
str

Um nome exclusivo para o objeto DataDriftDetector.

Valor padrão: None
baseline_dataset

Conjunto de dados com o qual comparar o conjunto de dados de destino.

Valor padrão: None
target_dataset

Conjunto de dados para executar os trabalhos ad hoc ou agendados de descompasso de dados. Deve ser uma série temporal.

Valor padrão: None
compute_target

Nome ComputeTarget ou ComputeTarget do Azure Machine Learning opcional. O DataDriftDetector criará um destino de computação se um não for especificado.

Valor padrão: None
frequency
str

Frequência opcional que indica com que frequência o pipeline é executado. Dá suporte a "Dia", "Semana" ou "Mês".

Valor padrão: None
feature_list

Recursos opcionais na lista de permissões nos quais executar a detecção de descompasso de dados. Os trabalhos de DataDriftDetector serão executados em todos os recursos se feature_list não for especificado. A lista de recursos pode conter caracteres, números, traços e espaços em branco. O comprimento da lista deve ser menor que 200.

Valor padrão: None
alert_config

Objeto de configuração opcional para alertas de DataDriftDetector.

Valor padrão: None
drift_threshold

Limite opcional para habilitar os alertas de DataDriftDetector. O valor deve estar entre 0 e 1. Um valor de 0,2 é usado quando None é especificado (o padrão).

Valor padrão: None
latency
int

Atraso em horas para que os dados apareçam no conjunto de dados.

Valor padrão: None
workspace
Obrigatório

O workspace no qual criar o objeto DataDriftDetector.

name
Obrigatório
str

Um nome exclusivo para o objeto DataDriftDetector.

baseline_dataset
Obrigatório

Conjunto de dados com o qual comparar o conjunto de dados de destino.

target_dataset
Obrigatório

Conjunto de dados para executar os trabalhos ad hoc ou agendados de descompasso de dados. Deve ser uma série temporal.

compute_target
Obrigatório

Nome ComputeTarget ou ComputeTarget do Azure Machine Learning opcional. O DataDriftDetector criará um destino de computação se um não for especificado.

frequency
Obrigatório
str

Frequência opcional que indica com que frequência o pipeline é executado. Dá suporte a "Dia", "Semana" ou "Mês".

feature_list
Obrigatório

Recursos opcionais na lista de permissões nos quais executar a detecção de descompasso de dados. Os trabalhos de DataDriftDetector serão executados em todos os recursos se feature_list não for especificado. A lista de recursos pode conter caracteres, números, traços e espaços em branco. O comprimento da lista deve ser menor que 200.

alert_config
Obrigatório

Objeto de configuração opcional para alertas de DataDriftDetector.

drift_threshold
Obrigatório

Limite opcional para habilitar os alertas de DataDriftDetector. O valor deve estar entre 0 e 1. Um valor de 0,2 é usado quando None é especificado (o padrão).

latency
Obrigatório
int

Atraso em horas para que os dados apareçam no conjunto de dados.

Comentários

Um objeto DataDriftDetector representa uma definição de trabalho de descompasso de dados que pode ser usada para executar três tipos de execução de trabalho:

  • uma execução ad hoc para analisar os dados de um dia específico; veja o método run.

  • uma execução agendada em um pipeline; veja o método enable_schedule.

  • uma execução de provisionamento para ver como os dados mudam ao longo do tempo; veja o método backfill.

O padrão típico para criar um DataDriftDetector é o seguinte:

O exemplo a seguir mostra como criar um objeto DataDriftDetector baseado em conjunto de dados.


   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

O exemplo completo está disponível em https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb

O construtor de DataDriftDetector recupera um objeto de descompasso de dados existente associado ao workspace.

Métodos

backfill

Executar um trabalho de provisionamento em uma determinada data de início e de término.

Confira https://aka.ms/datadrift para obter detalhes sobre as execuções de provisionamento do descompasso de dados.

OBSERVAÇÃO: o provisionamento tem suporte somente em objetos DataDriftDetector baseados em conjunto de dados.

create_from_datasets

Criar um objeto DataDriftDetector com base em um conjunto de dados tabular de linha de base e em um conjunto de dados de série temporal de destino.

delete

Excluir o agendamento do objeto DataDriftDetector.

disable_schedule

Desabilitar o agendamento do objeto DataDriftDetector.

enable_schedule

Criar um agendamento para executar o trabalho de DataDriftDetector baseado em conjunto de dados.

get_by_name

Recuperar um objeto DataDriftDetector exclusivo para um determinado workspace e nome.

get_output

Obter uma tupla dos resultados e das métricas de descompasso para um DataDriftDetector específico em uma determinada janela de tempo.

list

Obter uma lista de objetos DataDriftDetector para o workspace e o conjuntos de dados opcional especificados.

NOTA: transmitir apenas o parâmetro workspace retornará todos os objetos DataDriftDetector definidos no workspace.

run

Executar uma análise de descompasso de dados de um ponto no tempo.

show

Mostrar a tendência de descompasso de dados no intervalo de tempo determinado.

Por padrão, esse método mostra os 10 ciclos mais recentes. Por exemplo, se a frequência for dia, serão os 10 dias mais recentes. Se a frequência for “semana”, serão as 10 semanas mais recentes.

update

Atualizar o agendamento associado ao objeto DataDriftDetector.

Valores de parâmetros opcionais podem ser definidos como None; caso contrário, adotarão por padrão os valores existentes.

backfill

Executar um trabalho de provisionamento em uma determinada data de início e de término.

Confira https://aka.ms/datadrift para obter detalhes sobre as execuções de provisionamento do descompasso de dados.

OBSERVAÇÃO: o provisionamento tem suporte somente em objetos DataDriftDetector baseados em conjunto de dados.

backfill(start_date, end_date, compute_target=None, create_compute_target=False)

Parâmetros

Nome Description
start_date
Obrigatório

A data de início do trabalho de provisionamento.

end_date
Obrigatório

A data de término do trabalho de provisionamento, inclusive.

compute_target

Nome ComputeTarget ou ComputeTarget do Azure Machine Learning opcional. O DataDriftDetector criará um destino de computação se um não for especificado.

Valor padrão: None
create_compute_target

Indica se um destino de computação do Azure Machine Learning é criado automaticamente.

Valor padrão: False

Retornos

Tipo Description
Run

Uma execução de DataDriftDetector.

create_from_datasets

Criar um objeto DataDriftDetector com base em um conjunto de dados tabular de linha de base e em um conjunto de dados de série temporal de destino.

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)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace no qual criar o DataDriftDetector.

name
Obrigatório
str

Um nome exclusivo para o objeto DataDriftDetector.

baseline_dataset
Obrigatório

Conjunto de dados com o qual comparar o conjunto de dados de destino.

target_dataset
Obrigatório

Conjunto de dados para executar os trabalhos ad hoc ou agendados de descompasso de dados. Deve ser uma série temporal.

compute_target

Nome ComputeTarget ou ComputeTarget do Azure Machine Learning opcional. O DataDriftDetector criará um destino de computação se um não for especificado.

Valor padrão: None
frequency
str

Frequência opcional que indica com que frequência o pipeline é executado. Dá suporte a "Dia", "Semana" ou "Mês".

Valor padrão: None
feature_list

Recursos opcionais na lista de permissões nos quais executar a detecção de descompasso de dados. Os trabalhos de DataDriftDetector serão executados em todos os recursos se feature_list não for especificado. A lista de recursos pode conter caracteres, números, traços e espaços em branco. O comprimento da lista deve ser menor que 200.

Valor padrão: None
alert_config

Objeto de configuração opcional para alertas de DataDriftDetector.

Valor padrão: None
drift_threshold

Limite opcional para habilitar os alertas de DataDriftDetector. O valor deve estar entre 0 e 1. Um valor de 0,2 é usado quando None é especificado (o padrão).

Valor padrão: None
latency
int

Atraso em horas para que os dados apareçam no conjunto de dados.

Valor padrão: None

Retornos

Tipo Description

Um objeto DataDriftDetector.

Exceções

Tipo Description
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>

Comentários

Os DataDriftDetectors baseados em conjunto de dados permitem calcular o descompasso de dados entre um conjunto de dados de linha de base, que deve ser um TabularDataset, e um conjunto de dados de destino, que deve ser um conjunto de dados de série temporal. Um conjunto de dados de série temporal é simplesmente um TabularDataset com a propriedade fine_grain_timestamp. Em seguida, o DataDriftDetector pode executar trabalhos ad hoc ou agendados para determinar se o conjunto de dados de destino sofreu um descompasso com relação ao conjunto de dados de linha de base.


   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

Excluir o agendamento do objeto DataDriftDetector.

delete(wait_for_completion=True)

Parâmetros

Nome Description
wait_for_completion

Se a conclusão da operação de exclusão deve ser aguardada.

Valor padrão: True

disable_schedule

Desabilitar o agendamento do objeto DataDriftDetector.

disable_schedule(wait_for_completion=True)

Parâmetros

Nome Description
wait_for_completion

Se a conclusão da operação de desabilitação deve ser aguardada.

Valor padrão: True

enable_schedule

Criar um agendamento para executar o trabalho de DataDriftDetector baseado em conjunto de dados.

enable_schedule(create_compute_target=False, wait_for_completion=True)

Parâmetros

Nome Description
create_compute_target

Indica se um destino de computação do Azure Machine Learning é criado automaticamente.

Valor padrão: False
wait_for_completion

Se a conclusão da operação de habilitação deve ser aguardada.

Valor padrão: True

get_by_name

Recuperar um objeto DataDriftDetector exclusivo para um determinado workspace e nome.

static get_by_name(workspace, name)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace em que o DataDriftDetector foi criado.

name
Obrigatório
str

O nome do objeto DataDriftDetector a ser retornado.

Retornos

Tipo Description

Um objeto DataDriftDetector.

get_output

Obter uma tupla dos resultados e das métricas de descompasso para um DataDriftDetector específico em uma determinada janela de tempo.

get_output(start_time=None, end_time=None, run_id=None)

Parâmetros

Nome Description
start_time
datetime, <xref:optional>

A hora de início da janela de resultados em UTC. Se None (o padrão) for especificado, os resultados do décimo ciclo mais recentes serão usados como a hora de início. Por exemplo, se a frequência do agendamento de descompasso de dados for dia, start_time será de 10 dias. Se a frequência for semana, start_time será 10 semanas.

Valor padrão: None
end_time
datetime, <xref:optional>

A hora de término da janela de resultados em UTC. Se None (o padrão) for especificado, o dia atual em UTC será usado como a hora de término.

Valor padrão: None
run_id
int, <xref:optional>

Uma ID de execução específica.

Valor padrão: None

Retornos

Tipo Description

Uma tupla de uma lista de resultados de descompasso e uma lista de conjuntos de dados individuais e métricas de coluna.

Comentários

Esse método retorna uma tupla de resultados e métricas de descompasso para uma janela de tempo ou uma ID de execução com base no tipo de execução: uma execução ad hoc, uma execução agendada e uma execução de provisionamento.

  • Há somente uma maneira de recuperar os resultados da execução ad hoc: run_id deve ser um GUID válido.

  • Há duas maneiras diferentes de recuperar os resultados de execuções agendadas e execuções de provisionamento: atribuir um GUID válido a run_id ou atribuir um start_time específico e/ou um end_time (inclusivo), mantendo run_id como None.

  • Se run_id, start_time e end_time não forem None na mesma chamada de método, uma exceção de validação de parâmetro será gerada.

OBSERVAÇÃO: especifique os parâmetros start_time e end_time ou o parâmetro run_id, mas não ambos.

É possível que haja vários resultados para a mesma data de destino (data de destino significa a data de início do conjunto de dados de destino para o descompasso baseado em conjunto de dados). Portanto, é necessário identificar e lidar com os resultados duplicados. Para o descompasso baseado em conjunto de dados, se os resultados forem relativos à mesma data de destino, eles serão duplicados. O método get_output eliminará os resultados duplicados de acordo com uma regra: sempre selecionar os resultados gerados mais recentemente.

O método get_output pode ser usado para recuperar todas as saídas ou saídas parciais das execuções agendadas em um intervalo de tempo específico entre start_time e end_time (limite incluído). Também é possível limitar os resultados de uma execução ad hoc individual especificando run_id.

Use as diretrizes a seguir para ajudar a interpretar os resultados retornados pelo método get_output:

  • O princípio da filtragem é a "sobreposição": se houver uma sobreposição entre o tempo real do resultado (baseado em conjunto de dados: conjunto de dados de destino [data de início, data de conclusão]) e o [start_time, end_time] fornecido, o resultado será coletado.

  • Se houver diversas saídas para uma data de destino porque o cálculo de descompasso foi executado muitas vezes para esse dia, somente a saída mais recente será selecionada por padrão.

  • Como há diversos tipos de instância de descompasso de dados, o conteúdo do resultado pode ser variado.

Para resultados baseados em conjuntos de dados, a saída terá a seguinte aparência:


   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

Obter uma lista de objetos DataDriftDetector para o workspace e o conjuntos de dados opcional especificados.

NOTA: transmitir apenas o parâmetro workspace retornará todos os objetos DataDriftDetector definidos no workspace.

static list(workspace, baseline_dataset=None, target_dataset=None)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace em que os objetos DataDriftDetector foram criados.

baseline_dataset

Conjunto de dados de linha de base para filtrar a lista de retorno.

Valor padrão: None
target_dataset

Conjunto de dados de destino para filtrar a lista de retorno.

Valor padrão: None

Retornos

Tipo Description

Uma lista de objetos DataDriftDetector.

run

Executar uma análise de descompasso de dados de um ponto no tempo.

run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)

Parâmetros

Nome Description
target_date
Obrigatório

A data de destino dos dados da pontuação em UTC.

compute_target

Nome ComputeTarget ou ComputeTarget do Azure Machine Learning opcional. Se não for especificado, um destino de computação será criado automaticamente.

Valor padrão: None
create_compute_target

Indica se um destino de computação do Azure Machine Learning é criado automaticamente.

Valor padrão: False
feature_list

Recursos opcionais na lista de permissões nos quais executar a detecção de descompasso de dados.

Valor padrão: None
drift_threshold

Limite opcional para habilitar os alertas de DataDriftDetector.

Valor padrão: None

Retornos

Tipo Description
Run

Uma execução de DataDriftDetector.

show

Mostrar a tendência de descompasso de dados no intervalo de tempo determinado.

Por padrão, esse método mostra os 10 ciclos mais recentes. Por exemplo, se a frequência for dia, serão os 10 dias mais recentes. Se a frequência for “semana”, serão as 10 semanas mais recentes.

show(start_time=None, end_time=None)

Parâmetros

Nome Description
start_time
datetime, <xref:optional>

O início da janela de tempo de apresentação em UTC. O padrão None significa escolher os resultados do 10º ciclo mais recentes.

Valor padrão: None
end_time
datetime, <xref:optional>

O fim da janela de tempo de dados de apresentação em UTC. O padrão None significa o dia atual.

Valor padrão: None

Retornos

Tipo Description
dict()

Um dicionário de todas as figuras. A chave é service_name.

update

Atualizar o agendamento associado ao objeto DataDriftDetector.

Valores de parâmetros opcionais podem ser definidos como None; caso contrário, adotarão por padrão os valores existentes.

update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)

Parâmetros

Nome Description
compute_target

Nome ComputeTarget ou ComputeTarget do Azure Machine Learning opcional. O DataDriftDetector criará um destino de computação se esse parâmetro não for especificado.

Valor padrão: Ellipsis
feature_list

Recursos na lista de permissões para executar a detecção de descompasso de dados.

Valor padrão: Ellipsis
schedule_start

A hora de início do agendamento de descompasso de dados em UTC.

Valor padrão: Ellipsis
alert_config

Objeto de configuração opcional para alertas de DataDriftDetector.

Valor padrão: Ellipsis
drift_threshold

O limite para habilitar os alertas de DataDriftDetector.

Valor padrão: Ellipsis
wait_for_completion

Se a conclusão das operações de habilitação/desabilitação/exclusão deve ser aguardada.

Valor padrão: True

Retornos

Tipo Description

self

Atributos

alert_config

Obter a configuração de alerta do objeto DataDriftDetector.

Retornos

Tipo Description

Um objeto AlertConfiguration.

baseline_dataset

Obter o conjunto de dados de linha de base associado ao objeto DataDriftDetector.

Retornos

Tipo Description

Tipo do conjunto de dados da linha de base.

compute_target

Obter o destino de computação anexado ao objeto DataDriftDetector.

Retornos

Tipo Description

O destino de computação.

drift_threshold

Obter o limite de descompasso do objeto DataDriftDetector.

Retornos

Tipo Description

O limite de descompasso.

drift_type

Obter o tipo do DataDriftDetector; 'DatasetBased' é o único valor com suporte no momento.

Retornos

Tipo Description
str

O tipo do objeto DataDriftDetector.

enabled

Obter o valor booliano que indica se o objeto DataDriftDetector está habilitado.

Retornos

Tipo Description

Um valor booliano; True para habilitado.

feature_list

Obter a lista de recursos na lista de permissões para o objeto DataDriftDetector.

Retornos

Tipo Description

Uma lista de nomes de recursos.

frequency

Obter a frequência do agendamento de DataDriftDetector.

Retornos

Tipo Description
str

Uma cadeia de caracteres de "Dia", "Semana" ou "Mês"

interval

Obter o intervalo do agendamento de DataDriftDetector.

Retornos

Tipo Description
int

Um valor inteiro de unidade de tempo.

latency

Obter a latência dos trabalhos de agendamento de DataDriftDetector (em horas).

Retornos

Tipo Description
int

O número de horas que representa a latência.

name

Obter o nome do objeto DataDriftDetector.

Retornos

Tipo Description
str

O nome do DataDriftDetector.

schedule_start

Obter a hora de início do agendamento.

Retornos

Tipo Description

Um objeto datetime da hora de início do agendamento em UTC.

state

Denota o estado do agendamento de DataDriftDetector.

Retornos

Tipo Description
str

Um dos seguintes: 'Disabled', 'Enabled', 'Deleted', 'Disabling', 'Enabling', 'Deleting', 'Failed', 'DisableFailed', 'EnableFailed' ou 'DeleteFailed'.

target_dataset

Obter o conjunto de dados de destino associado ao objeto DataDriftDetector.

Retornos

Tipo Description

O tipo do conjunto de dados da linha de base.

workspace

Obter o workspace do objeto DataDriftDetector.

Retornos

Tipo Description

O workspace no qual o objeto DataDriftDetector foi criado.