Resultados da análise - Amazon SageMaker

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 o save_local_shap_values parâmetro, SHAP os valores locais por instância serão salvos no explanations_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.

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 valor 1 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 limite 40 for fornecido para o problema de regressão, a string será interna, como (40, 68], em que 68 é 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ção use_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 e free_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.

Gráfico de barras horizontais de SHAP valores globais calculados para a variável-alvo das quatro principais características.

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. O conjunto de dados alemão Traffic Sign Recognition Benchmark (GTSRB) é fornecido no artigo Man vs. computer: algoritmos de aprendizado de máquina de benchmarking para reconhecimento de sinais de trânsito. Na saída do exemplo, valores positivos grandes indicam que o superpixel tem uma forte correlação positiva com a previsão do modelo. Valores negativos grandes indicam que o superpixel tem uma forte correlação negativa com a previsão do modelo. Quanto maior o valor absoluto do SHAP valor mostrado no mapa de calor, mais forte é a relação entre o superpixel e a previsão do modelo.

Imagem de entrada do sinal de limite de velocidade e mapa de calor resultante dos SHAP valores de um modelo Resnet-18.

Para obter mais informações, consulte os exemplos de cadernos que explicam a classificação de imagens com o SageMaker Clarify e Explicando os modelos de detecção de objetos com o Amazon 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 o data_type inferido pelo SageMaker Clarify for numérico, feature_values conterá uma lista do valor central dos compartimentos gerados. O parâmetro grid_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.

Gráfico de linhas mostrando como as previsões do modelo variam de acordo com feature_values para 10 pontos de grade exclusivos.

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