DataDriftDetector Classe
Define um monitor de desvio de dados que pode ser usado para executar trabalhos de desvio de dados no Aprendizado de Máquina do Azure.
A classe DataDriftDetector permite identificar desvios entre uma determinada linha de base e um determinado conjunto de dados de destino. Um objeto DataDriftDetector é criado em um espaço de trabalho especificando diretamente os conjuntos de dados de linha de base e de destino. Para obter mais informações, consulte https://aka.ms/datadrift.
Datadriftdetector construtor.
O construtor DataDriftDetector é usado para recuperar uma representação em nuvem de um objeto DataDriftDetector associado ao espaço de trabalho fornecido.
- Herança
-
builtins.objectDataDriftDetector
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
Name | Description |
---|---|
workspace
Necessário
|
O espaço de trabalho no qual criar o objeto DataDriftDetector. |
name
|
Um nome exclusivo para o objeto DataDriftDetector. Default value: None
|
baseline_dataset
|
Conjunto de dados para comparar o conjunto de dados de destino. Default value: None
|
target_dataset
|
Conjunto de dados para executar adhoc ou trabalhos DataDrift agendados. Deve ser uma série temporal. Default value: None
|
compute_target
|
ComputeTarget ou
str
Nome opcional do Azure Machine Learning ComputeTarget ou ComputeTarget. DataDriftDetector criará um destino de computação se um não for especificado. Default value: None
|
frequency
|
Frequência opcional que indica a frequência com que o pipeline é executado. Suporta "Dia", "Semana" ou "Mês". Default value: None
|
feature_list
|
Recursos opcionais na lista de permissões para executar a deteção de desvio de dados. Os trabalhos do DataDriftDetector serão executados em todos os recursos se Default value: None
|
alert_config
|
Objeto de configuração opcional para alertas DataDriftDetector. Default value: None
|
drift_threshold
|
Limite opcional para ativar alertas DataDriftDetector em. O valor deve estar entre 0 e 1. Um valor de 0,2 é usado quando Nenhum é especificado (o padrão). Default value: None
|
latency
|
Atraso de horas para que os dados apareçam no conjunto de dados. Default value: None
|
workspace
Necessário
|
O espaço de trabalho no qual criar o objeto DataDriftDetector. |
name
Necessário
|
Um nome exclusivo para o objeto DataDriftDetector. |
baseline_dataset
Necessário
|
Conjunto de dados para comparar o conjunto de dados de destino. |
target_dataset
Necessário
|
Conjunto de dados para executar adhoc ou trabalhos DataDrift agendados. Deve ser uma série temporal. |
compute_target
Necessário
|
ComputeTarget ou
str
Nome opcional do Azure Machine Learning ComputeTarget ou ComputeTarget. DataDriftDetector criará um destino de computação se um não for especificado. |
frequency
Necessário
|
Frequência opcional que indica a frequência com que o pipeline é executado. Suporta "Dia", "Semana" ou "Mês". |
feature_list
Necessário
|
Recursos opcionais na lista de permissões para executar a deteção de desvio de dados. Os trabalhos do DataDriftDetector serão executados em todos os recursos se |
alert_config
Necessário
|
Objeto de configuração opcional para alertas DataDriftDetector. |
drift_threshold
Necessário
|
Limite opcional para ativar alertas DataDriftDetector em. O valor deve estar entre 0 e 1. Um valor de 0,2 é usado quando Nenhum é especificado (o padrão). |
latency
Necessário
|
Atraso de horas para que os dados apareçam no conjunto de dados. |
Observações
Um objeto DataDriftDetector representa uma definição de trabalho de desvio de dados que pode ser usada para executar três tipos de execução de trabalho:
uma adhoc para analisar o valor de dados de um dia específico; Consulte o método run.
uma execução programada num gasoduto; Consulte o método enable_schedule.
uma execução de preenchimento para ver como os dados mudam ao longo do tempo; Consulte o método backfill.
O padrão típico para criar um DataDriftDetector é:
- Para criar um objeto DataDriftDetector baseado em conjunto de dados, use create_from_datasets
O construtor DataDriftDetector recupera um objeto de desvio de dados existente associado ao espaço de trabalho.
Métodos
backfill |
Execute um trabalho de preenchimento em uma determinada data de início e término especificada. Consulte https://aka.ms/datadrift para obter detalhes sobre execuções de preenchimento de desvio de dados. NOTA: Backfill só é suportado em objetos DataDriftDetector baseados em conjunto de dados. |
create_from_datasets |
Crie um novo objeto DataDriftDetector a partir de um conjunto de dados tabular de linha de base e um conjunto de dados de série temporal de destino. |
delete |
Exclua o agendamento para o objeto DataDriftDetector. |
disable_schedule |
Desative o agendamento para o objeto DataDriftDetector. |
enable_schedule |
Crie uma agenda para executar o trabalho DataDriftDetector baseado em conjunto de dados. |
get_by_name |
Recupere um objeto DataDriftDetector exclusivo para um determinado espaço de trabalho e nome. |
get_output |
Obtenha uma tupla dos resultados e métricas de desvio para um DataDriftDetector específico em uma determinada janela de tempo. |
list |
Obtenha uma lista de objetos DataDriftDetector para o espaço de trabalho especificado e o conjunto de dados opcional.
NOTA: Passar apenas o parâmetro |
run |
Execute uma única análise de desvio de dados point-in-time. |
show |
Mostrar tendência de desvio de dados em determinado intervalo de tempo. Por padrão, esse método mostra os 10 ciclos mais recentes. Por exemplo, se a frequência for dia, então serão os 10 dias mais recentes. Se a frequência for semanal, então serão as 10 semanas mais recentes. |
update |
Atualize o agendamento associado ao objeto DataDriftDetector. Os valores de parâmetros opcionais podem ser definidos como |
backfill
Execute um trabalho de preenchimento em uma determinada data de início e término especificada.
Consulte https://aka.ms/datadrift para obter detalhes sobre execuções de preenchimento de desvio de dados.
NOTA: Backfill só é suportado em objetos DataDriftDetector baseados em conjunto de dados.
backfill(start_date, end_date, compute_target=None, create_compute_target=False)
Parâmetros
Name | Description |
---|---|
start_date
Necessário
|
A data de início do trabalho de preenchimento. |
end_date
Necessário
|
A data final do trabalho de preenchimento, inclusive. |
compute_target
|
ComputeTarget ou
str
Nome opcional do Azure Machine Learning ComputeTarget ou ComputeTarget. DataDriftDetector criará um destino de computação se nenhum for especificado. Default value: None
|
create_compute_target
|
Indica se um destino de computação do Azure Machine Learning é criado automaticamente. Default value: False
|
Devoluções
Tipo | Description |
---|---|
Uma execução DataDriftDetector. |
create_from_datasets
Crie um novo objeto DataDriftDetector a partir de um conjunto de dados tabular de linha de base e 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
Name | Description |
---|---|
workspace
Necessário
|
O espaço de trabalho para criar o DataDriftDetector em. |
name
Necessário
|
Um nome exclusivo para o objeto DataDriftDetector. |
baseline_dataset
Necessário
|
Conjunto de dados para comparar o conjunto de dados de destino. |
target_dataset
Necessário
|
Conjunto de dados para executar adhoc ou trabalhos DataDrift agendados. Deve ser uma série temporal. |
compute_target
|
ComputeTarget ou
str
Nome opcional do Azure Machine Learning ComputeTarget ou ComputeTarget. DataDriftDetector criará um destino de computação se um não for especificado. Default value: None
|
frequency
|
Frequência opcional que indica a frequência com que o pipeline é executado. Suporta "Dia", "Semana" ou "Mês". Default value: None
|
feature_list
|
Recursos opcionais na lista de permissões para executar a deteção de desvio de dados. Os trabalhos do DataDriftDetector serão executados em todos os recursos se Default value: None
|
alert_config
|
Objeto de configuração opcional para alertas DataDriftDetector. Default value: None
|
drift_threshold
|
Limite opcional para ativar alertas DataDriftDetector em. O valor deve estar entre 0 e 1. Um valor de 0,2 é usado quando Nenhum é especificado (o padrão). Default value: None
|
latency
|
Atraso de horas para que os dados apareçam no conjunto de dados. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Um objeto DataDriftDetector. |
Exceções
Tipo | Description |
---|---|
<xref:KeyError>, <xref:TypeError>, <xref:ValueError>
|
Observações
DataDriftDetectors baseados em conjunto de dados permitem calcular o desvio 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 uma TabularDataset com a propriedade fine_grain_timestamp. O DataDriftDetector pode então executar adhoc ou trabalhos agendados para determinar se o conjunto de dados de destino se desviou do 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
Exclua o agendamento para o objeto DataDriftDetector.
delete(wait_for_completion=True)
Parâmetros
Name | Description |
---|---|
wait_for_completion
|
Se deve aguardar a conclusão da operação de exclusão. Default value: True
|
disable_schedule
Desative o agendamento para o objeto DataDriftDetector.
disable_schedule(wait_for_completion=True)
Parâmetros
Name | Description |
---|---|
wait_for_completion
|
Se deve aguardar a conclusão da operação de desativação. Default value: True
|
enable_schedule
Crie uma agenda para executar o trabalho DataDriftDetector baseado em conjunto de dados.
enable_schedule(create_compute_target=False, wait_for_completion=True)
Parâmetros
Name | Description |
---|---|
create_compute_target
|
Indica se um destino de computação do Azure Machine Learning é criado automaticamente. Default value: False
|
wait_for_completion
|
Se deve aguardar a conclusão da operação de habilitação. Default value: True
|
get_by_name
Recupere um objeto DataDriftDetector exclusivo para um determinado espaço de trabalho e nome.
static get_by_name(workspace, name)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
O espaço de trabalho onde o DataDriftDetector foi criado. |
name
Necessário
|
O nome do objeto DataDriftDetector a ser retornado. |
Devoluções
Tipo | Description |
---|---|
Um objeto DataDriftDetector. |
get_output
Obtenha uma tupla dos resultados e métricas de desvio para um DataDriftDetector específico em uma determinada janela de tempo.
get_output(start_time=None, end_time=None, run_id=None)
Parâmetros
Name | Description |
---|---|
start_time
|
datetime, <xref:optional>
A hora de início da janela de resultados em UTC. Se Nenhum (o padrão) for especificado, os resultados mais recentes do 10º ciclo serão usados como a hora de início. Por exemplo, se a frequência do cronograma de desvio de dados for dia, Default value: None
|
end_time
|
datetime, <xref:optional>
A hora de término da janela de resultados em UTC. Se Nenhum (o padrão) for especificado, o dia atual UTC será usado como a hora de término. Default value: None
|
run_id
|
int, <xref:optional>
Um ID de execução específico. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Uma tupla de uma lista de resultados de desvio e uma lista de conjuntos de dados individuais e métricas colunares. |
Observações
Esse método retorna uma tupla de resultados e métricas de desvio para uma janela de tempo ou ID de execução com base no tipo de execução: uma execução adhoc, uma execução agendada e uma execução de backfill.
Para recuperar resultados adhoc executar, há apenas uma maneira:
run_id
deve ser um GUID válido.Para recuperar execuções agendadas e resultados de execução de backfill, há duas maneiras diferentes: atribuir um GUID válido a
run_id
ou atribuir umstart_time
específico e/ouend_time
(inclusive), mantendorun_id
como Nenhum.Se
run_id
,start_time
eend_time
não forem Nenhum na mesma chamada de método, uma exceção de validação de parâmetro será gerada.
NOTA: 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 data de início do conjunto de dados de destino para desvio baseado em conjunto de dados). Portanto, é necessário identificar e lidar com resultados duplicados.
Para desvio baseado em conjunto de dados, se os resultados forem para a mesma data-alvo, então eles são resultados duplicados.
O método get_output
eliminará quaisquer resultados duplicados por uma regra: sempre pegue os resultados gerados mais recentes.
O método get_output
pode ser usado para recuperar todas as saídas ou saídas parciais de execuções agendadas em um intervalo de tempo específico entre start_time
e end_time
(limite incluído). Você também pode limitar os resultados de uma individual
Use as seguintes diretrizes para ajudar a interpretar os resultados retornados do método get_output
:
O princípio da filtragem é a "sobreposição": enquanto houver uma sobreposição entre o tempo real do resultado (baseado no conjunto de dados: conjunto de dados de destino [data de início, data de fim]) e o dado [
start_time
,end_time
], então o resultado será recolhido.Se houver várias saídas para uma data de destino porque o cálculo de desvio foi executado várias vezes em relação a esse dia, somente a saída mais recente será escolhida por padrão.
Dado que existem vários tipos de uma instância de desvio de dados, o conteúdo do resultado pode ser variado.
Para resultados baseados em conjunto de dados, a saída será semelhante a:
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
Obtenha uma lista de objetos DataDriftDetector para o espaço de trabalho especificado e o conjunto de dados opcional.
NOTA: Passar apenas o parâmetro workspace
retornará todos os objetos DataDriftDetector, definidos no espaço de trabalho.
static list(workspace, baseline_dataset=None, target_dataset=None)
Parâmetros
Name | Description |
---|---|
workspace
Necessário
|
O espaço de trabalho onde os objetos DataDriftDetector foram criados. |
baseline_dataset
|
Conjunto de dados da linha de base para filtrar a lista de retorno. Default value: None
|
target_dataset
|
Conjunto de dados de destino para filtrar a lista de retorno. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Uma lista de objetos DataDriftDetector. |
run
Execute uma única análise de desvio de dados point-in-time.
run(target_date, compute_target=None, create_compute_target=False, feature_list=None, drift_threshold=None)
Parâmetros
Name | Description |
---|---|
target_date
Necessário
|
A data alvo dos dados de pontuação em UTC. |
compute_target
|
ComputeTarget ou
str
Nome opcional do Azure Machine Learning ComputeTarget ou ComputeTarget. Se não for especificado, um destino de computação será criado automaticamente. Default value: None
|
create_compute_target
|
Indica se um destino de computação do Azure Machine Learning é criado automaticamente. Default value: False
|
feature_list
|
Recursos opcionais na lista de permissões para executar a deteção de desvio de dados. Default value: None
|
drift_threshold
|
Limite opcional para ativar alertas DataDriftDetector em. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Uma execução DataDriftDetector. |
show
Mostrar tendência de desvio de dados em determinado intervalo de tempo.
Por padrão, esse método mostra os 10 ciclos mais recentes. Por exemplo, se a frequência for dia, então serão os 10 dias mais recentes. Se a frequência for semanal, então serão as 10 semanas mais recentes.
show(start_time=None, end_time=None)
Parâmetros
Name | Description |
---|---|
start_time
|
datetime, <xref:optional>
O início da janela de tempo de apresentação em UTC. O padrão Nenhum significa pegar os resultados mais recentes do 10º ciclo. Default value: None
|
end_time
|
datetime, <xref:optional>
O final da janela de tempo de dados de apresentação em UTC. O padrão Nenhum significa o dia atual. Default value: None
|
Devoluções
Tipo | Description |
---|---|
dict()
|
Um dicionário de todas as figuras. A chave é service_name. |
update
Atualize o agendamento associado ao objeto DataDriftDetector.
Os valores de parâmetros opcionais podem ser definidos como None
, caso contrário, eles são padronizados para seus valores existentes.
update(compute_target=Ellipsis, feature_list=Ellipsis, schedule_start=Ellipsis, alert_config=Ellipsis, drift_threshold=Ellipsis, wait_for_completion=True)
Parâmetros
Name | Description |
---|---|
compute_target
|
ComputeTarget ou
str
Nome opcional do Azure Machine Learning ComputeTarget ou ComputeTarget. DataDriftDetector criará um destino de computação se esse parâmetro não for especificado. Default value: Ellipsis
|
feature_list
|
Recursos permitidos para executar a deteção de desvio de dados. Default value: Ellipsis
|
schedule_start
|
A hora de início do cronograma de desvio de dados em UTC. Default value: Ellipsis
|
alert_config
|
Objeto de configuração opcional para alertas DataDriftDetector. Default value: Ellipsis
|
drift_threshold
|
O limite para ativar alertas DataDriftDetector em. Default value: Ellipsis
|
wait_for_completion
|
Se deve aguardar a conclusão das operações de ativação/desativação/exclusão. Default value: True
|
Devoluções
Tipo | Description |
---|---|
Eu mesmo |
Atributos
alert_config
Obtenha a configuração de alerta para o objeto DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
Um objeto AlertConfiguration. |
baseline_dataset
Obtenha o conjunto de dados de linha de base associado ao objeto DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
Tipo de conjunto de dados do conjunto de dados de linha de base. |
compute_target
Obtenha o destino de computação anexado ao objeto DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
O destino de computação. |
drift_threshold
Obtenha o limite de desvio para o objeto DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
O limiar de deriva. |
drift_type
Obtenha o tipo de DataDriftDetector, 'DatasetBased' é o único valor suportado por enquanto.
Devoluções
Tipo | Description |
---|---|
O tipo de objeto DataDriftDetector. |
enabled
Obtenha o valor booleano que indica se o objeto DataDriftDetector está habilitado.
Devoluções
Tipo | Description |
---|---|
Um valor booleano; True para habilitado. |
feature_list
Obtenha a lista de recursos permitidos para o objeto DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
Uma lista de nomes de recursos. |
frequency
Obtenha a frequência da programação do DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
Uma sequência de "Dia", "Semana" ou "Mês" |
interval
Obtenha o intervalo da programação do DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
Um valor inteiro de unidade de tempo. |
latency
Obtenha a latência dos trabalhos de agendamento do DataDriftDetector (em horas).
Devoluções
Tipo | Description |
---|---|
O número de horas que representa a latência. |
name
Obtenha o nome do objeto DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
O nome DataDriftDetector. |
schedule_start
Obtenha a hora de início da programação.
Devoluções
Tipo | Description |
---|---|
Um objeto datetime da hora de início da agenda em UTC. |
state
Indica o estado da programação DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
Um de 'Disabled', 'Enabled', 'Deleted', 'Disableling', 'Enableling', 'Excluting', 'Failed', 'DisableFailed', 'EnableFailed', 'DeleteFailed'. |
target_dataset
Obtenha o conjunto de dados de destino associado ao objeto DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
O tipo de conjunto de dados do conjunto de dados da linha de base. |
workspace
Obtenha o espaço de trabalho do objeto DataDriftDetector.
Devoluções
Tipo | Description |
---|---|
O espaço de trabalho no qual o objeto DataDriftDetector foi criado. |