Resultados del análisis - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Resultados del análisis

Una vez SageMaker finalizado un trabajo de procesamiento de Clarify, puede descargar los archivos de salida para inspeccionarlos o puede visualizar los resultados en SageMaker Studio Classic. En el siguiente tema se describen los resultados del análisis que SageMaker genera Clarify, como el esquema y el informe que se generan mediante el análisis de sesgos, el SHAP análisis, el análisis de explicabilidad mediante visión artificial y el análisis de diagramas de dependencia parcial (PDPs). Si el análisis de configuración contiene parámetros para calcular varios análisis, los resultados se agregan en un análisis y un archivo de informe.

El directorio de resultados de los trabajos de procesamiento de SageMaker Clarify contiene los siguientes archivos:

  • analysis.json— Un archivo que contiene métricas de sesgo y la importancia de las características en su JSON formato.

  • report.ipynb: un cuaderno estático que contiene código para ayudarle a visualizar las métricas de sesgo y la importancia de las características.

  • explanations_shap/out.csv: un directorio que se crea y contiene archivos generados automáticamente en función de sus configuraciones de análisis específicas. Por ejemplo, si activa el save_local_shap_values parámetro, los SHAP valores locales de cada instancia se guardarán en el explanations_shap directorio. Como otro ejemplo, si analysis configuration no contiene un valor para el parámetro de SHAP referencia, el trabajo de SageMaker aclaración de la explicabilidad calcula una línea de base agrupando el conjunto de datos de entrada. A continuación, guarda la referencia generada en el directorio.

Para obtener información más detallada, consulta las siguientes secciones.

Análisis del sesgo

Amazon SageMaker Clarify utiliza la terminología documentada Amazon SageMaker aclara los términos de sesgo y equidad para hablar sobre los prejuicios y la imparcialidad.

Esquema del archivo de análisis

El archivo de análisis tiene este JSON formato y está organizado en dos secciones: métricas de sesgo previas al entrenamiento y métricas de sesgo posteriores al entrenamiento. Los parámetros de las métricas de sesgo antes y después del entrenamiento son los siguientes.

  • pre_training_bias_metrics: parámetros para las métricas de sesgo previas al entrenamiento. Para obtener más información, consulte Métricas de sesgo previas al entrenamiento y Archivos de configuración de análisis.

    • label: el nombre de la etiqueta de verdad fundamental definido por el parámetro de configuración del análisis label.

    • label_value_or_threshold: cadena que contiene los valores de etiqueta o el intervalo definidos por el parámetro de configuración del análisis label_values_or_threshold. Por ejemplo, si se proporciona un valor de 1 para un problema de clasificación binaria, la cadena será 1. Si se proporcionan varios valores [1,2] para un problema multiclase, entonces la cadena será 1,2. Si se proporciona un umbral de 40 para un problema de regresión, la cadena será interna, como (40, 68] donde 68 es el valor máximo de la etiqueta en el conjunto de datos de entrada.

    • facets: la sección contiene varios pares clave-valor, donde la clave corresponde al nombre de la faceta definido por el parámetro name_or_index de la configuración de la faceta, y el valor es una matriz de objetos facetados. Cada objeto facetado tiene los siguientes miembros:

      • value_or_threshold: cadena que contiene los valores de la faceta o el intervalo definidos por el parámetro de configuración del análisis value_or_threshold.

      • metrics: la sección contiene una matriz de elementos de métrica de sesgo y cada elemento de métrica de sesgo tiene los siguientes atributos:

        • name: el nombre abreviado de la métrica de sesgo. Por ejemplo, CI.

        • description: el nombre completo de la métrica de sesgo. Por ejemplo, Class Imbalance (CI).

        • valor: el valor de la métrica de sesgo o valor JSON nulo si la métrica de sesgo no se calcula por un motivo concreto. Los valores ±∞ se representan como cadenas y -∞ respectivamente.

        • error: mensaje de error opcional que explica por qué no se calculó la métrica de sesgo.

  • post_training_bias_metrics: la sección contiene las métricas de sesgo posteriores al entrenamiento y sigue un diseño y una estructura similares a los de la sección previa al entrenamiento. Para obtener más información, consulte Datos posteriores al entrenamiento y métricas de sesgo del modelo.

El siguiente es un ejemplo de una configuración de análisis que calculará las métricas de sesgo previas y posteriores al entrenamiento.

{ "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 }, ... ] }] } } }

Informe de análisis del sesgo

El informe de análisis del sesgo incluye varias tablas y diagramas que contienen explicaciones y descripciones detalladas. Incluyen, entre otras cosas, la distribución de los valores de las etiquetas, la distribución de los valores de las facetas, un diagrama de rendimiento del modelo de alto nivel, una tabla de métricas de sesgo y sus descripciones. Para obtener más información sobre las métricas de sesgo y cómo interpretarlas, consulte Aprenda cómo Amazon SageMaker Clarify ayuda a detectar el sesgo.

SHAPanálisis

SageMaker Los trabajos de procesamiento de Clarify utilizan el SHAP algoritmo Kernel para calcular las atribuciones de las características. El trabajo SageMaker de procesamiento de Clarify produce SHAP valores locales y globales. Estos ayudan a determinar la contribución de cada característica a las predicciones del modelo. SHAPLos valores locales representan la importancia de la característica para cada instancia individual, mientras que SHAP los valores globales agregan los SHAP valores locales de todas las instancias del conjunto de datos. Para obtener más información sobre SHAP los valores y cómo interpretarlos, consulteAtribuciones de características que utilizan valores Shapley.

Esquema del archivo SHAP de análisis

Los resultados SHAP del análisis global se almacenan en la sección de explicaciones del archivo de análisis, en la sección correspondiente al kernel_shap método. Los diferentes parámetros del archivo de SHAP análisis son los siguientes:

  • explanations: la sección del archivo de análisis que contiene los resultados del análisis de importancia de las características.

    • kernal_shap: la sección del archivo de análisis que contiene el resultado del análisis global. SHAP

      • global_shap_values: sección del archivo de análisis que contiene varios pares clave-valor. Cada clave del par clave-valor representa un nombre de característica del conjunto de datos de entrada. Cada valor del par clave-valor corresponde al valor global de la entidad. SHAP El SHAP valor global se obtiene al agregar los SHAP valores por instancia de la función mediante la configuración. agg_method Si la configuración use_logit está activada, el valor se calcula mediante los coeficientes de regresión logística, que se pueden interpretar como coeficientes logarítmicos de probabilidades.

      • expected_value: la predicción media del conjunto de datos de referencia. Si la configuración use_logit está activada, el valor se calcula mediante coeficientes de regresión logística.

      • global_top_shap_text: se utiliza para el análisis de explicabilidad. NLP Sección del archivo de análisis que incluye un conjunto de pares clave-valor. SageMaker Los trabajos de procesamiento de Clarify agregan los SHAP valores de cada token y, a continuación, seleccionan los principales tokens en función de sus valores globalesSHAP. La configuración max_top_tokens define el número de tokens que se van a seleccionar.

        Cada uno de los principales tokens seleccionados tiene un par clave-valor. La clave del par clave-valor corresponde al nombre de la característica de texto de un token principal. Cada valor del par clave-valor son los SHAP valores globales del token superior. Para ver un ejemplo de un par global_top_shap_text clave-valor, consulta el siguiente resultado.

El siguiente ejemplo muestra el resultado del SHAP análisis de un conjunto de datos 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 } } } }

El siguiente ejemplo muestra el resultado del SHAP análisis de un conjunto de datos de texto. La salida correspondiente a la columna Comments es un ejemplo de salida que se genera después del análisis de una característica 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 del archivo de referencia generado

Cuando no se proporciona una configuración de SHAP referencia, el trabajo de procesamiento de SageMaker Clarify genera un conjunto de datos de referencia. SageMaker Clarify utiliza un algoritmo de agrupamiento basado en la distancia para generar un conjunto de datos de referencia a partir de los clústeres creados a partir del conjunto de datos de entrada. El conjunto de datos de referencia resultante se guarda en un CSV archivo, ubicado en. explanations_shap/baseline.csv Este archivo de salida contiene una fila de encabezado y varias instancias en función del parámetro num_clusters especificado en la configuración del análisis. El conjunto de datos de referencia solo consta de columnas de características. El siguiente ejemplo muestra una línea base creada al agrupar el conjunto de datos de entrada.

Age,Gender,Income,Occupation 35,0,2883,1 40,1,6178,2 42,0,4621,0

Esquema de SHAP valores locales a partir del análisis de explicabilidad de un conjunto de datos tabulares

En el caso de los conjuntos de datos tabulares, si se utiliza una sola instancia de procesamiento, el trabajo de procesamiento SageMaker Clarify guarda los SHAP valores locales en un archivo denominado. CSV explanations_shap/out.csv Si utilizas varias instancias informáticas, SHAP los valores locales se guardan en varios CSV archivos del explanations_shap directorio.

Un archivo de salida que contiene SHAP valores locales tiene una fila que contiene los SHAP valores locales de cada columna definida por los encabezados. Los encabezados siguen la convención de nomenclatura de Feature_Label, donde el nombre de la característica se anexa con un guion bajo seguido del nombre de la variable objetivo.

En el caso de problemas multiclase, primero varían los nombres de las características en el encabezado y luego las etiquetas. Por ejemplo, dos características F1, F2, y dos clases L1 y L2, en los encabezados son F1_L1, F2_L1, F1_L2 y F2_L2. Si la configuración de análisis contiene un valor para el parámetro joinsource_name_or_index, la columna de clave utilizada en la unión se anexa al final del nombre del encabezado. Esto permite mapear los SHAP valores locales a las instancias del conjunto de datos de entrada. A continuación, se muestra un ejemplo de un archivo de salida que contiene 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 de SHAP valores locales a partir del análisis de NLP explicabilidad

Para el análisis de NLP explicabilidad, si se utiliza una sola instancia de procesamiento, el trabajo de procesamiento de SageMaker Clarify guarda SHAP los valores locales en un JSON archivo de líneas denominado explanations_shap/out.jsonl Si utiliza varias instancias informáticas, los SHAP valores locales se guardan en varios archivos de JSON Lines del explanations_shap directorio.

Cada archivo que contiene SHAP valores locales tiene varias líneas de datos y cada línea es un JSON objeto válido. El JSON objeto tiene los siguientes atributos:

  • explicaciones: la sección del archivo de análisis que contiene una serie de SHAP explicaciones del núcleo para una sola instancia. Cada elemento de la matriz tiene los siguientes miembros:

    • feature_name: el nombre del encabezado de las características proporcionado por la configuración del encabezado.

    • data_type: el tipo de función inferido por el trabajo de procesamiento de SageMaker Clarify. Los valores válidos para las características de texto incluyen numerical, categorical y free_text (para las características de texto).

    • attributions: conjunto de objetos de atribución específicos de una característica. Una característica de texto puede tener varios objetos de atribución, cada uno para una unidad definida por la configuración granularity. El objeto de atribución tiene los siguientes miembros:

      • attribution: conjunto de valores de probabilidad específico de una clase.

      • description: (para las características del texto). La descripción de las unidades de texto.

        • partial_text: la parte del texto explicada por el trabajo de procesamiento de Clarify. SageMaker

        • start_idx: un índice de base cero para identificar la ubicación de la matriz que indica el principio del fragmento de texto parcial.

El siguiente es un ejemplo de una sola línea de un archivo de SHAP valores locales, embellecida para mejorar su legibilidad.

{ "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 } } ] } ] }

SHAPinforme de análisis

El informe de SHAP análisis proporciona un gráfico de barras con un máximo de SHAP valores globales 10 principales. El siguiente ejemplo de gráfico muestra los SHAP valores de las principales 4 funciones.

Gráfico de barras horizontales de SHAP valores globales calculados para la variable objetivo de las cuatro entidades principales.

Análisis de explicabilidad de la visión artificial (CV)

SageMaker Clarify, la explicabilidad de la visión artificial, toma un conjunto de datos compuesto por imágenes y trata cada imagen como una colección de superpíxeles. Tras el análisis, el trabajo SageMaker de procesamiento Clarify genera un conjunto de datos de imágenes en el que cada imagen muestra el mapa térmico de los superpíxeles.

El siguiente ejemplo muestra una señal de límite de velocidad de entrada a la izquierda y un mapa de calor muestra la magnitud de SHAP los valores a la derecha. Estos SHAP valores se calcularon mediante un modelo Resnet-18 de reconocimiento de imágenes que está entrenado para reconocer las señales de tráfico alemanas. El conjunto de datos alemán Traffic Sign Recognition Benchmark (GTSRB) se proporciona en el artículo Man vs. computer: Benchmarking machine learning algorithms for traffic sign recognition. En el resultado del ejemplo, los valores positivos altos indican que el superpíxel tiene una fuerte correlación positiva con la predicción del modelo. Los valores negativos altos indican que el superpíxel tiene una fuerte correlación negativa con la predicción del modelo. Cuanto mayor sea el valor absoluto del SHAP valor mostrado en el mapa térmico, mayor será la relación entre el superpíxel y la predicción del modelo.

Introduzca la imagen de la señal de límite de velocidad y el mapa térmico resultante de SHAP los valores de un modelo Resnet-18.

Para obtener más información, consulte los cuadernos de muestra en los que se explica la clasificación de imágenes con SageMaker Clarify y se explican los modelos de detección de objetos con Amazon SageMaker Clarify.

Análisis de gráficas de dependencia parcial (PDPs)

Los gráficos de dependencia parcial muestran la dependencia de la respuesta objetivo prevista con respecto a un conjunto de características de entrada de interés. Están marginadas sobre los valores de todas las demás características de entrada y se denominan características de complemento. De forma intuitiva, puede interpretar la dependencia parcial como la respuesta objetivo, que se espera como una función de cada característica de entrada de interés.

Esquema del archivo de análisis

Los PDP valores se almacenan en la explanations sección del archivo de análisis correspondiente al pdp método. Los parámetros de explanations son los siguientes:

  • explanations: la sección de los archivos de análisis que contiene los resultados del análisis de importancia de las características.

    • pdp: la sección del archivo de análisis que contiene una serie de PDP explicaciones para una sola instancia. Cada elemento de la matriz tiene los siguientes miembros:

      • feature_name: el nombre del encabezado de las características proporcionado por la configuración de headers.

      • data_type: el tipo de función inferido por el trabajo de procesamiento de Clarify. SageMaker Los valores válidos de data_type incluyen los numéricos y los categóricos.

      • feature_values: contiene los valores presentes en la característica. Si lo data_type inferido por SageMaker Clarify es categórico, feature_values contiene todos los valores únicos que podría tener la entidad. Si lo data_type inferido por SageMaker Clarify es numérico, feature_values contiene una lista del valor central de los cubos generados. El parámetro grid_resolution determina el número de buckets que se utilizan para agrupar los valores de la columna de características.

      • data_distribution: matriz de porcentajes en la que cada valor es el porcentaje de instancias que contiene un bucket. El parámetro grid_resolution determina el número de buckets. Los valores de la columna de características se agrupan en estos buckets.

      • model_predictions: matriz de predicciones del modelo, en la que cada elemento de la matriz es una matriz de predicciones que corresponde a una clase de la salida del modelo.

        label_headers: los encabezados de etiquetas proporcionados por la configuración label_headers.

      • error: mensaje de error que se genera si los PDP valores no se calculan por un motivo concreto. Este mensaje de error reemplaza el contenido de los campos feature_values, data_distributions y model_predictions.

A continuación se muestra un ejemplo de la salida de un archivo de análisis que contiene el resultado de un PDP análisis.

{ "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"] }, ... ] } }

PDPinforme de análisis

Puede generar un informe de análisis que contenga un PDP gráfico para cada función. El PDP gráfico se traza feature_values a lo largo del eje x y se traza model_predictions a lo largo del eje y. Para los modelos multiclase, model_predictions es una matriz y cada elemento de esta matriz corresponde a una de las clases de predicción del modelo.

A continuación se muestra un ejemplo de PDP gráfico de la función. Age En el resultado de ejemplo, PDP muestra el número de valores de las entidades que están agrupados en grupos. El número de buckets viene determinado por grid_resolution. Los buckets de valores de las características se representan gráficamente en función de las predicciones del modelo. En este ejemplo, los valores de la característica más altos tienen los mismos valores de predicción del modelo.

Gráfico de líneas que muestra cómo varían las predicciones del modelo frente a los feature_values para 10 puntos de cuadrícula únicos.

Valores asimétricos de Shapley

SageMaker Los trabajos de procesamiento de Clarify utilizan el algoritmo de valores asimétricos de Shapley para calcular las atribuciones explicativas del modelo de previsión de series temporales. Este algoritmo determina la contribución de las entidades de entrada en cada paso del tiempo a las predicciones pronosticadas.

Esquema del archivo de análisis de valores asimétricos de Shapley

Los resultados de los valores asimétricos de Shapley se almacenan en un bucket de Amazon S3. Puede encontrar la ubicación de este depósito en la sección de explicaciones del archivo de análisis. Esta sección contiene los resultados del análisis de importancia de las características. Los siguientes parámetros se incluyen en el archivo de análisis de valores asimétricos de Shapley.

  • asymmetric_shapley_value: sección del archivo de análisis que contiene metadatos sobre los resultados del trabajo de explicación, incluidos los siguientes:

    • explanation_results_path — La ubicación de Amazon S3 con los resultados de la explicación

    • direction: la configuración proporcionada por el usuario para el valor de configuración de direction

    • granularidad: la configuración proporcionada por el usuario para el valor de configuración de granularity

El siguiente fragmento muestra los parámetros mencionados anteriormente en un ejemplo de archivo de análisis:

{ "version": "1.0", "explanations": { "asymmetric_shapley_value": { "explanation_results_path": EXPLANATION_RESULTS_S3_URI, "direction": "chronological", "granularity": "timewise", } } }

En las siguientes secciones se describe cómo la estructura de los resultados de la explicación depende del valor de granularity la configuración.

Granularidad en cuanto al tiempo

Cuando la granularidad es timewise la salida se representa en la siguiente estructura. El scores valor representa la atribución de cada marca de tiempo. El offset valor representa la predicción del modelo sobre los datos de referencia y describe el comportamiento del modelo cuando no recibe datos.

En el siguiente fragmento se muestra un ejemplo del resultado de un modelo que hace predicciones para dos intervalos de tiempo. Por lo tanto, todas las atribuciones son una lista de dos elementos, donde la primera entrada se refiere al primer intervalo de tiempo 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]}, ] }

Granularidad detallada

El siguiente ejemplo muestra los resultados de la atribución cuando la granularidad es. fine_grained El offset valor tiene el mismo significado que el descrito en la sección anterior. Las atribuciones se calculan para cada entidad de entrada en cada marca de tiempo para una serie temporal objetivo y series temporales relacionadas, si están disponibles, y para cada covariable estática, si está disponible.

{ "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]}, ] }

Para ambos timewise casos de fine-grained uso, los resultados se almacenan en formato JSON Lines (.jsonl).