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.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
Nome | Description |
---|---|
workspace
Obrigatório
|
O workspace no qual criar o objeto DataDriftDetector. |
name
|
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
|
ComputeTarget ou
str
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
|
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 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
|
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
|
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
|
ComputeTarget ou
str
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
|
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 |
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
|
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:
- Para criar um objeto DataDriftDetector baseado em conjunto de dados, use create_from_datasets
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 |
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 |
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
|
ComputeTarget ou
str
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 |
---|---|
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
|
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
|
ComputeTarget ou
str
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
|
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 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
|
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
|
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, 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 umstart_time
específico e/ou umend_time
(inclusivo), mantendorun_id
como None.Se
run_id
,start_time
eend_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
|
ComputeTarget ou
str
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 |
---|---|
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
|
ComputeTarget ou
str
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 |
---|---|
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 |
---|---|
Uma cadeia de caracteres de "Dia", "Semana" ou "Mês" |
interval
Obter o intervalo do agendamento de DataDriftDetector.
Retornos
Tipo | Description |
---|---|
Um valor inteiro de unidade de tempo. |
latency
Obter a latência dos trabalhos de agendamento de DataDriftDetector (em horas).
Retornos
Tipo | Description |
---|---|
O número de horas que representa a latência. |
name
Obter o nome do objeto DataDriftDetector.
Retornos
Tipo | Description |
---|---|
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 |
---|---|
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. |