Avaliar nó

Em Synthetic Data Generator, você pode usar o nó Evaluate (Avaliar) para comparar os dados sintéticos com os dados de semente e avaliar sua qualidade.

Descrição
Use o nó Evaluate (Avaliar) em um fluxo Synthetic Data Generator para avaliar as métricas de qualidade e privacidade do conjunto de dados sintético gerado, comparando-o com o conjunto de dados original.
Usando o nó
Conecte o nó Avaliar ao nó Gerar e ao nó Importar ou Anonimizar. O resultado é um relatório que exibe as métricas. Você pode ver a fidelidade e as métricas de distinção de dados para o conjunto de dados sintético em relação ao original. Você também pode ver métricas de privacidade, como uma pontuação de vazamento e proximidade.
É possível incluir o nó Evaluate várias vezes em um fluxo Synthetic Data Generator. No entanto, você só pode conectá-lo a um conjunto de nós de cada vez.
Conjuntos de dados grandes ou complexos requerem mais memória para serem analisados pelo nó Evaluate. Por exemplo, um conjunto de dados complexo tem muitas correlações entre colunas. Se você tiver conjuntos de dados grandes ou complexos, evite executar vários fluxos com nós de avaliação simultaneamente. Se os nós do Evaluate ficarem sem memória, isso pode causar erros. Para obter detalhes, consulte Solução de problemas Synthetic Data Generator.
Obrigatório ou opcional
O nó Evaluate (Avaliar) é opcional, mas é altamente recomendado para garantir que o conjunto de dados sintéticos atenda aos padrões de qualidade desejados.

Criação de scripts com o nó Evaluate

Você pode usar linguagens de script, como Python, para definir propriedades de nós de forma programática.

Avaliar as propriedades do nó

As propriedades a seguir são específicas do nó Avaliar. Para obter informações sobre propriedades comuns de nós, consulte Propriedades de fluxos e nós.

Tabela 1. Propriedades do nó para scripts
Nome da Propriedade Tipo de dados Descrição da propriedade
asset_type DataAsset, Conexão Especifique seu tipo de dados: DataAsset ou Connection.
asset_id Sequência Quando DataAsset é definido para o asset_type, este é o ID do ativo.
asset_name Sequência Quando DataAsset é definido para o asset_type, este é o nome do ativo.
baseline_input Sequência O nó Avaliar requer conexões de dois nós: um que contenha seus dados de linha de base originais e outro que contenha os dados sintéticos gerados.
connection_id Sequência Quando Connection é definido para o asset_type, este é o ID da conexão.
connection_name Sequência Quando Connection é definido para o asset_type, este é o nome da conexão.
connection_path Sequência Quando Connection é definido para o asset_type, este é o caminho da conexão.
fast_evaluation Booleano Defina como True para usar o modo de avaliação simples selecionado. No modo de avaliação simples, as métricas são executadas em um único modelo de ML (aprendizado de máquina). No modo de avaliação completa, as métricas são avaliadas e calculadas a média em relação a vários modelos de ML (aprendizado de máquina) sempre que possível.
feature_distribution_bin_nb Número Inteiro Número de compartimentos para distribuir os recursos.
predictive_utility_column Sequência Coluna a ser usada para a propriedade show_predictive_utility .
show_predictive_utility Booleano Defina como True para medir a utilidade dos dados sintéticos para tarefas preditivas de downstream. Ele avalia o desempenho de modelos preditivos treinados a partir de dados sintéticos para prever com precisão um alvo selecionado usando dados reais como dados de teste.
show_privacy_leakage_score Booleano Defina como True para medir a porcentagem de linhas nos dados sintéticos que são diferentes das linhas nos dados reais. Uma prevenção de vazamento de 100% significa que todas as linhas sintéticas são novas, enquanto uma prevenção de vazamento de 0% significa que todas as linhas sintéticas são copiadas dos dados reais.
show_privacy_proximity_score Booleano Defina como True para calcular a distância entre os pontos nos dados sintéticos e os dados reais. Quanto menor for essa distância, mais fácil será isolar algumas linhas dos dados reais, o que aumenta o risco de privacidade.
show_data_distinguishability Booleano Defina como True para avaliar a capacidade de um classificador binário de separar dados reais de dados sintéticos. Quanto mais difícil for treinar esse classificador, melhor será a qualidade dos dados sintéticos em relação à sua capacidade de imitar as propriedades estatísticas dos dados reais.
show_fidelity_score Booleano Defina como True para agregar várias métricas e classificar a similaridade entre dados reais e dados sintéticos para distribuições de colunas individuais. Ele também classifica a similaridade das correlações de todos os pares de colunas.
user_settings Sequência Cadeia de caracteres JSON escapada que contém as propriedades de interação para a conexão, por exemplo:
user_settings: "{\"interactionProperties\":{\"write_mode\":\"write\",\"file_name\":\"output.csv\",\"file_format\":\"csv\",\"quote_numerics\":true,\"encoding\":\"utf-8\",\"first_line_header\":true,\"include_types\":false}}"
Esses valores serão alterados de acordo com o tipo de conexão que você estiver usando.

Exemplo

A seguir, um exemplo das propriedades usadas em um scriipt.

import json

stream = sdg.script.stream()

dataassetimport = stream.findByID("<import nodeId>")
# loads the string settings as a json object
userSettings = json.loads(dataassetimport.getPropertyValue("user_settings"))

userSettings["interactionProperties"]["sheet_name"] = "<new sheet name>"
dataassetimport.setPropertyValue("user_settings", json.dumps(userSettings))