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.
| 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))