As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Resultados da análise
Depois que um trabalho de processamento do SageMaker Clarify for concluído, você poderá baixar os arquivos de saída para inspecioná-los ou visualizar os resultados no SageMaker Studio Classic. O tópico a seguir descreve os resultados da análise que o SageMaker Clarify gera, como o esquema e o relatório gerados pela análise de viés, análise, SHAP análise de explicabilidade por visão computacional e análise de gráficos de dependência parcial (). PDPs Se a análise de configuração contiver parâmetros para calcular várias análises, os resultados serão agregados em uma análise e um arquivo de relatório.
O diretório de saída da tarefa de processamento do SageMaker Clarify contém os seguintes arquivos:
-
analysis.json
— Um arquivo que contém métricas de viés e a importância do recurso no JSON formato. -
report.ipynb
– Um caderno estático que contém código para ajudá-lo a visualizar métricas de desvio e a importância dos recursos. -
explanations_shap/out.csv
– Um diretório que é criado e contém arquivos gerados automaticamente com base em suas configurações de análise específicas. Por exemplo, se você ativar osave_local_shap_values
parâmetro, SHAP os valores locais por instância serão salvos noexplanations_shap
diretório. Como outro exemplo, se vocêanalysis configuration
não contiver um valor para o parâmetro da SHAP linha de base, o trabalho de explicabilidade do SageMaker Clarify calcula uma linha de base agrupando o conjunto de dados de entrada. Em seguida, ele salvará a linha de base gerada no diretório.
Para obter informações mais detalhadas, consulte as seções a seguir.
Tópicos
Análise de desvio
O Amazon SageMaker Clarify usa a terminologia documentada Amazon SageMaker esclarece os termos de preconceito e imparcialidade para discutir preconceitos e justiça.
Esquema para o arquivo de análise
O arquivo de análise está em JSON formato e é organizado em duas seções: métricas de viés pré-treinamento e métricas de viés pós-treinamento. Os parâmetros para métricas de desvio pré-treinamento e pós-treinamento são os seguintes.
-
pre_training_bias_metrics – Parâmetros para métricas de desvio pré-treinamento. Para ter mais informações, consulte Métricas de desvio pré-treinamento e Arquivos de configuração de análise.
-
label – O nome do rótulo de veracidade definido pelo parâmetro
label
da configuração da análise. -
label_value_or_threshold – Uma string contendo os valores do rótulo ou o intervalo definido pelo parâmetro
label_values_or_threshold
da configuração de análise. Por exemplo, se o valor1
for fornecido para o problema de classificação binária, a string será1
. Se vários valores[1,2]
forem fornecidos para o problema de várias classes, a string será1,2
. Se um limite40
for fornecido para o problema de regressão, a string será interna, como(40, 68]
, em que68
é o valor máximo do rótulo no conjunto de dados de entrada. -
facets – A seção contém vários pares de valores-chave, em que a chave corresponde ao nome da faceta definido pelo parâmetro
name_or_index
da configuração da faceta e o valor é uma matriz de objetos de faceta. Cada objeto de faceta tem os seguintes membros:-
value_or_threshold – Uma string contendo os valores da faceta ou o intervalo definido pelo parâmetro
value_or_threshold
da configuração da faceta. -
metrics – A seção contém uma matriz de elementos métricos de desvio, e cada elemento métrico de desvio tem os seguintes atributos:
-
name – O nome abreviado da métrica de desvio. Por exemplo,
CI
. -
description – O nome completo da métrica de desvio. Por exemplo,
Class Imbalance (CI)
. -
valor — O valor da métrica de viés ou valor JSON nulo se a métrica de polarização não for calculada por um motivo específico. Os valores ±∞ são representados como strings
∞
e-∞
, respectivamente. -
error – Uma mensagem de erro opcional que explica por que a métrica de desvio não foi calculada.
-
-
-
-
post_training_bias_metrics – A seção contém as métricas de desvio pós-treinamento e segue um layout e uma estrutura semelhantes aos da seção de pré-treinamento. Para obter mais informações, consulte Dados pós-treinamento e métricas de viés do modelo.
Veja a seguir um exemplo de uma configuração de análise que calculará as métricas de desvio pré-treinamento e pós-treinamento.
{ "version": "1.0", "pre_training_bias_metrics": { "label": "Target", "label_value_or_threshold": "1", "facets": { "Gender": [{ "value_or_threshold": "0", "metrics": [ { "name": "CDDL", "description": "Conditional Demographic Disparity in Labels (CDDL)", "value": -0.06 }, { "name": "CI", "description": "Class Imbalance (CI)", "value": 0.6 }, ... ] }] } }, "post_training_bias_metrics": { "label": "Target", "label_value_or_threshold": "1", "facets": { "Gender": [{ "value_or_threshold": "0", "metrics": [ { "name": "AD", "description": "Accuracy Difference (AD)", "value": -0.13 }, { "name": "CDDPL", "description": "Conditional Demographic Disparity in Predicted Labels (CDDPL)", "value": 0.04 }, ... ] }] } } }
Relatório de análise de desvio
O relatório de análise de desvio inclui várias tabelas e diagramas que contêm explicações e descrições detalhadas. Isso inclui, entre outros, a distribuição dos valores do rótulo, a distribuição dos valores das facetas, o diagrama de performance do modelo de alto nível, uma tabela de métricas de desvio e suas descrições. Para obter mais informações sobre métricas de viés e como interpretá-las, consulte Saiba como o Amazon SageMaker Clarify ajuda a detectar preconceitos
SHAPanálise
SageMaker Esclareça que os trabalhos de processamento usam o SHAP algoritmo Kernel para calcular as atribuições de recursos. O trabalho de processamento do SageMaker Clarify produz SHAP valores locais e globais. Isso ajuda a determinar a contribuição de cada recurso para as previsões do modelo. SHAPOs valores locais representam a importância do recurso para cada instância individual, enquanto SHAP os valores globais agregam os SHAP valores locais em todas as instâncias no conjunto de dados. Para obter mais informações sobre SHAP valores e como interpretá-los, consulteAtributos de recursos que usam valores de Shapley.
Esquema para o arquivo de SHAP análise
Os resultados da SHAP análise global são armazenados na seção de explicações do arquivo de análise, sob o kernel_shap
método. Os diferentes parâmetros do arquivo de SHAP análise são os seguintes:
-
explanations – A seção do arquivo de análise que contém os resultados da análise de importância do recurso.
-
kernal_shap — A seção do arquivo de análise que contém o resultado da análise global. SHAP
-
global_shap_values – Uma seção do arquivo de análise que contém vários pares de valores-chave. Cada chave no par de valores-chave representa um nome de recurso do conjunto de dados de entrada. Cada valor no par de valores-chave corresponde ao valor global SHAP do recurso. O SHAP valor global é obtido agregando os SHAP valores por instância do recurso usando a
agg_method
configuração. Se a configuraçãouse_logit
estiver ativada, o valor será calculado usando os coeficientes de regressão logística, que podem ser interpretados como razões logarítmicas. -
expected_value – A previsão média do conjunto de dados da linha de base. Se a configuração
use_logit
estiver ativada, o valor será calculado usando os coeficientes de regressão logística. -
global_top_shap_text — Usado para análise de explicabilidade. NLP Uma seção do arquivo de análise que inclui um conjunto de pares de valores-chave. SageMaker Esclareça os trabalhos de processamento, agregue os SHAP valores de cada token e, em seguida, selecione os principais tokens com base em seus SHAP valores globais. A configuração
max_top_tokens
define o número de tokens a serem selecionados.Cada um dos principais tokens selecionados tem um par de valores-chave. A chave no par de valores-chave corresponde ao nome do recurso de texto do token principal. Cada valor no par de valores-chave são os SHAP valores globais do token principal. Para obter um exemplo de um par de
global_top_shap_text
valores-chave, consulte a saída a seguir.
-
-
O exemplo a seguir mostra a saída da SHAP análise de um conjunto de dados tabular.
{ "version": "1.0", "explanations": { "kernel_shap": { "Target": { "global_shap_values": { "Age": 0.022486410860333206, "Gender": 0.007381025261958729, "Income": 0.006843906804137847, "Occupation": 0.006843906804137847, ... }, "expected_value": 0.508233428001 } } } }
O exemplo a seguir mostra a saída da SHAP análise de um conjunto de dados de texto. A saída correspondente à coluna Comments
é um exemplo de saída gerada após a análise de um recurso de texto.
{ "version": "1.0", "explanations": { "kernel_shap": { "Target": { "global_shap_values": { "Rating": 0.022486410860333206, "Comments": 0.058612104851485144, ... }, "expected_value": 0.46700941970297033, "global_top_shap_text": { "charming": 0.04127962903247833, "brilliant": 0.02450240786522321, "enjoyable": 0.024093569652715457, ... } } } } }
Esquema para o arquivo de linha de base gerado
Quando uma configuração de SHAP linha de base não é fornecida, o trabalho de processamento do SageMaker Clarify gera um conjunto de dados de linha de base. SageMaker O Clarify usa um algoritmo de agrupamento baseado em distância para gerar um conjunto de dados de linha de base a partir de clusters criados a partir do conjunto de dados de entrada. O conjunto de dados da linha de base resultante é salvo em um CSV arquivo, localizado em. explanations_shap/baseline.csv
Esse arquivo de saída contém uma linha de cabeçalho e várias instâncias com base no parâmetro num_clusters
especificado na configuração da análise. O conjunto de dados de linha de base consiste apenas em colunas de recursos. O exemplo a seguir mostra uma linha de base criada pelo agrupamento do conjunto de dados de entrada.
Age,Gender,Income,Occupation 35,0,2883,1 40,1,6178,2 42,0,4621,0
Esquema para SHAP valores locais da análise de explicabilidade do conjunto de dados tabular
Para conjuntos de dados tabulares, se uma única instância de computação for usada, o trabalho de processamento do SageMaker Clarify salva os SHAP valores locais em um CSV arquivo chamado. explanations_shap/out.csv
Se você usar várias instâncias de computação, SHAP os valores locais serão salvos em vários CSV arquivos no explanations_shap
diretório.
Um arquivo de saída contendo SHAP valores locais tem uma linha contendo os SHAP valores locais para cada coluna definida pelos cabeçalhos. Os cabeçalhos seguem a convenção de nomenclatura do Feature_Label
, em que o nome do recurso é anexado por um sublinhado, seguido pelo nome da variável de destino.
Para problemas de várias classes, os nomes dos recursos no cabeçalho variam primeiro, depois os rótulos. Por exemplo, dois recursos F1, F2
e duas classes L1
e L2
nos cabeçalhos são F1_L1
, F2_L1
, F1_L2
e F2_L2
. Se a configuração de análise contiver um valor para o parâmetro joinsource_name_or_index
, a coluna-chave usada na junção será anexada ao final do nome do cabeçalho. Isso permite o mapeamento dos SHAP valores locais para instâncias do conjunto de dados de entrada. Veja a seguir um exemplo de arquivo de saída contendo SHAP valores.
Age_Target,Gender_Target,Income_Target,Occupation_Target 0.003937908,0.001388849,0.00242389,0.00274234 -0.0052784,0.017144491,0.004480645,-0.017144491 ...
Esquema para SHAP valores locais a partir da análise de NLP explicabilidade
Para análise de NLP explicabilidade, se uma única instância de computação for usada, a tarefa de processamento do SageMaker Clarify salva SHAP os valores locais em um arquivo JSON Lines chamado. explanations_shap/out.jsonl
Se você usar várias instâncias de computação, os SHAP valores locais serão salvos em vários arquivos de JSON linhas no explanations_shap
diretório.
Cada arquivo contendo SHAP valores locais tem várias linhas de dados e cada linha é um JSON objeto válido. O JSON objeto tem os seguintes atributos:
-
explicações — A seção do arquivo de análise que contém uma matriz de SHAP explicações do Kernel para uma única instância. Cada elemento da matriz tem os seguintes membros:
-
feature_name – O nome do cabeçalho dos recursos fornecidos pela configuração dos cabeçalhos.
-
data_type — O tipo de recurso inferido pela tarefa de processamento do SageMaker Clarify. Os valores válidos para recursos de texto incluem
numerical
,categorical
efree_text
(para recursos de texto). -
attributions – Uma matriz específica de um recurso de objetos de atribuição. Um recurso de texto pode ter vários objetos de atribuição, cada um para uma unidade definida pela configuração
granularity
. O objeto de atribuição tem os seguintes membros:-
attribution – Uma matriz específica de classes de valores de probabilidade.
-
description – (Para recursos de texto) A descrição das unidades de texto.
-
partial_text — A parte do texto explicada pela tarefa de processamento do SageMaker Clarify.
-
start_idx – Um índice baseado em zero para identificar a localização da matriz que indica o início do fragmento parcial do texto.
-
-
-
Veja a seguir um exemplo de uma única linha de um arquivo de SHAP valores local, embelezada para melhorar sua legibilidade.
{ "explanations": [ { "feature_name": "Rating", "data_type": "categorical", "attributions": [ { "attribution": [0.00342270632248735] } ] }, { "feature_name": "Comments", "data_type": "free_text", "attributions": [ { "attribution": [0.005260534499999983], "description": { "partial_text": "It's", "start_idx": 0 } }, { "attribution": [0.00424190349999996], "description": { "partial_text": "a", "start_idx": 5 } }, { "attribution": [0.010247314500000014], "description": { "partial_text": "good", "start_idx": 6 } }, { "attribution": [0.006148907500000005], "description": { "partial_text": "product", "start_idx": 10 } } ] } ] }
SHAPrelatório de análise
O relatório de SHAP análise fornece um gráfico de barras com o máximo dos 10
principais SHAP valores globais. O exemplo de gráfico a seguir mostra os SHAP valores dos principais 4
recursos.
Análise de explicabilidade da visão computacional (CV)
SageMaker A explicabilidade da visão computacional do Clarify usa um conjunto de dados que consiste em imagens e trata cada imagem como uma coleção de superpixels. Após a análise, o trabalho de processamento do SageMaker Clarify gera um conjunto de dados de imagens em que cada imagem mostra o mapa de calor dos superpixels.
O exemplo a seguir mostra um sinal de limite de velocidade de entrada à esquerda e um mapa de calor mostra a magnitude dos SHAP valores à direita. Esses SHAP valores foram calculados por um modelo Resnet-18 de reconhecimento de imagem, treinado para reconhecer sinais de trânsito alemães
Para obter mais informações, consulte os exemplos de cadernos que explicam a classificação de imagens com o SageMaker Clarify
Análise de gráficos de dependência parcial (PDPs)
Os gráficos de dependência parcial mostram a dependência da resposta alvo prevista em um conjunto de recursos de entrada de interesse. Eles são marginalizados em relação aos valores de todos os outros recursos de entrada e são chamados de recursos do complemento. Intuitivamente, você pode interpretar a dependência parcial como a resposta alvo, que é esperada como uma função para cada recurso de entrada de interesse.
Esquema para o arquivo de análise
Os PDP valores são armazenados na explanations
seção do arquivo de análise sob o pdp
método. Os parâmetros para explanations
são o seguinte:
-
explanations – A seção dos arquivos de análise que contêm os resultados da análise de importância do recurso.
-
pdp — A seção do arquivo de análise que contém uma matriz de PDP explicações para uma única instância. Cada elemento da matriz tem os seguintes membros:
-
feature_name – O nome do cabeçalho dos recursos fornecidos pela configuração
headers
. -
data_type — O tipo de recurso inferido pela tarefa de processamento do SageMaker Clarify. Os valores válidos para
data_type
incluem valores numéricos e categóricos. -
feature_values – Contém os valores presentes no recurso. Se o
data_type
inferido pelo SageMaker Clarify for categórico,feature_values
conterá todos os valores exclusivos que o recurso poderia ter. Se odata_type
inferido pelo SageMaker Clarify for numérico,feature_values
conterá uma lista do valor central dos compartimentos gerados. O parâmetrogrid_resolution
determina o número de buckets usados para agrupar os valores da coluna de recursos. -
data_distribution – Uma matriz de porcentagens, em que cada valor é a porcentagem de instâncias que um bucket contém. O parâmetro
grid_resolution
determina o número de buckets. Os valores da coluna de recursos são agrupados nesses buckets. -
model_predictions – Uma matriz de previsões do modelo, em que cada elemento da matriz é uma matriz de previsões que corresponde a uma classe na saída do modelo.
label_headers – Os cabeçalhos dos rótulos fornecidos pela configuração
label_headers
. -
error — Uma mensagem de erro gerada se os PDP valores não forem computados por um motivo específico. Essa mensagem de erro substitui o conteúdo contido nos campos
feature_values
,data_distributions
emodel_predictions
.
-
-
Veja a seguir um exemplo de saída de um arquivo de análise contendo um resultado PDP de análise.
{ "version": "1.0", "explanations": { "pdp": [ { "feature_name": "Income", "data_type": "numerical", "feature_values": [1046.9, 2454.7, 3862.5, 5270.2, 6678.0, 8085.9, 9493.6, 10901.5, 12309.3, 13717.1], "data_distribution": [0.32, 0.27, 0.17, 0.1, 0.045, 0.05, 0.01, 0.015, 0.01, 0.01], "model_predictions": [[0.69, 0.82, 0.82, 0.77, 0.77, 0.46, 0.46, 0.45, 0.41, 0.41]], "label_headers": ["Target"] }, ... ] } }
PDPrelatório de análise
Você pode gerar um relatório de análise contendo um PDP gráfico para cada recurso. O PDP gráfico traça feature_values
ao longo do eixo x e traça model_predictions
ao longo do eixo y. Para modelos de várias classes, model_predictions
é uma matriz, e cada elemento dessa matriz corresponde a uma das classes de previsão do modelo.
Veja a seguir um exemplo de PDP gráfico para o recursoAge
. No exemplo de saída, PDP mostra o número de valores de recursos que são agrupados em compartimentos. O número de buckets é determinado por grid_resolution
. Os buckets de valores de recursos são representados de acordo com as previsões do modelo. Neste exemplo, os valores mais altos do recurso têm os mesmos valores de previsão do modelo.
Valores assimétricos de Shapley
SageMaker Os trabalhos de processamento do Clarify usam o algoritmo de valor de Shapley assimétrico para calcular as atribuições de explicação do modelo de previsão de séries temporais. Esse algoritmo determina a contribuição dos recursos de entrada em cada etapa de tempo em direção às previsões previstas.
Esquema para o arquivo de análise de valores assimétricos de Shapley
Os resultados assimétricos do valor de Shapley são armazenados em um bucket do Amazon S3. Você pode encontrar a localização desse bucket na seção explicações do arquivo de análise. Esta seção contém os resultados da análise da importância do recurso. Os parâmetros a seguir estão incluídos no arquivo assimétrico de análise de valores de Shapley.
asymmetric_shapley_value — A seção do arquivo de análise que contém metadados sobre os resultados da tarefa de explicação, incluindo o seguinte:
explanation_results_path — A localização do Amazon S3 com os resultados da explicação
direção — A configuração fornecida pelo usuário para o valor de configuração de
direction
granularidade — A configuração fornecida pelo usuário para o valor de configuração de
granularity
O trecho a seguir mostra os parâmetros mencionados anteriormente em um exemplo de arquivo de análise:
{ "version": "1.0", "explanations": { "asymmetric_shapley_value": { "explanation_results_path": EXPLANATION_RESULTS_S3_URI, "direction": "chronological", "granularity": "timewise", } } }
As seções a seguir descrevem como a estrutura dos resultados da explicação depende do valor de granularity
na configuração.
Granularidade temporal
Quando a granularidade é, timewise
a saída é representada na estrutura a seguir. O scores
valor representa a atribuição de cada registro de data e hora. O offset
valor representa a previsão do modelo nos dados da linha de base e descreve o comportamento do modelo quando ele não recebe dados.
O trecho a seguir mostra um exemplo de saída para um modelo que faz previsões para duas etapas de tempo. Portanto, todas as atribuições são uma lista de dois elementos em que a primeira entrada se refere ao primeiro intervalo de tempo previsto.
{ "item_id": "item1", "offset": [1.0, 1.2], "explanations": [ {"timestamp": "2019-09-11 00:00:00", "scores": [0.11, 0.1]}, {"timestamp": "2019-09-12 00:00:00", "scores": [0.34, 0.2]}, {"timestamp": "2019-09-13 00:00:00", "scores": [0.45, 0.3]}, ] } { "item_id": "item2", "offset": [1.0, 1.2], "explanations": [ {"timestamp": "2019-09-11 00:00:00", "scores": [0.51, 0.35]}, {"timestamp": "2019-09-12 00:00:00", "scores": [0.14, 0.22]}, {"timestamp": "2019-09-13 00:00:00", "scores": [0.46, 0.31]}, ] }
Granularidade refinada
O exemplo a seguir demonstra os resultados da atribuição quando a granularidade é. fine_grained
O offset
valor tem o mesmo significado descrito na seção anterior. As atribuições são calculadas para cada recurso de entrada em cada timestamp para uma série temporal alvo e séries temporais relacionadas, se disponíveis, e para cada covariável estática, se disponível.
{ "item_id": "item1", "offset": [1.0, 1.2], "explanations": [ {"feature_name": "tts_feature_name_1", "timestamp": "2019-09-11 00:00:00", "scores": [0.11, 0.11]}, {"feature_name": "tts_feature_name_1", "timestamp": "2019-09-12 00:00:00", "scores": [0.34, 0.43]}, {"feature_name": "tts_feature_name_2", "timestamp": "2019-09-11 00:00:00", "scores": [0.15, 0.51]}, {"feature_name": "tts_feature_name_2", "timestamp": "2019-09-12 00:00:00", "scores": [0.81, 0.18]}, {"feature_name": "rts_feature_name_1", "timestamp": "2019-09-11 00:00:00", "scores": [0.01, 0.10]}, {"feature_name": "rts_feature_name_1", "timestamp": "2019-09-12 00:00:00", "scores": [0.14, 0.41]}, {"feature_name": "rts_feature_name_1", "timestamp": "2019-09-13 00:00:00", "scores": [0.95, 0.59]}, {"feature_name": "rts_feature_name_1", "timestamp": "2019-09-14 00:00:00", "scores": [0.95, 0.59]}, {"feature_name": "rts_feature_name_2", "timestamp": "2019-09-11 00:00:00", "scores": [0.65, 0.56]}, {"feature_name": "rts_feature_name_2", "timestamp": "2019-09-12 00:00:00", "scores": [0.43, 0.34]}, {"feature_name": "rts_feature_name_2", "timestamp": "2019-09-13 00:00:00", "scores": [0.16, 0.61]}, {"feature_name": "rts_feature_name_2", "timestamp": "2019-09-14 00:00:00", "scores": [0.95, 0.59]}, {"feature_name": "static_covariate_1", "scores": [0.6, 0.1]}, {"feature_name": "static_covariate_2", "scores": [0.1, 0.3]}, ] }
Tanto para os casos de fine-grained
uso timewise
quanto para os casos de uso, os resultados são armazenados no JSON formato Linhas (.jsonl).