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.
Archivos de configuración de análisis
Para analizar la explicabilidad y el sesgo de sus datos y modelos con SageMaker Clarify, debe configurar un trabajo de procesamiento. Parte de la configuración de este trabajo de procesamiento incluye la configuración de un archivo de análisis. El archivo de análisis especifica los parámetros para el análisis de sesgos y la explicabilidad. Consulte Configurar un trabajo de SageMaker procesamiento de Clarify para obtener información sobre cómo configurar un trabajo de procesamiento y un archivo de análisis.
Esta guía describe el esquema y los parámetros de este archivo de configuración de análisis. Esta guía también incluye ejemplos de archivos de configuración de análisis para calcular las métricas de sesgo de un conjunto de datos tabular y generar explicaciones sobre problemas de procesamiento del lenguaje natural (NLP), visión artificial (CV) y series temporales (TS).
Puede crear el archivo de configuración del análisis o utilizar SageMaker Python SDK
Temas
Esquema del archivo de configuración de análisis
En la siguiente sección se describe el esquema del archivo de configuración de análisis, incluidos los requisitos y las descripciones de los parámetros.
Requisitos del archivo de configuración de análisis
El trabajo SageMaker de procesamiento de Clarify espera que el archivo de configuración del análisis esté estructurado con los siguientes requisitos:
-
El nombre de la entrada de procesamiento debe ser
analysis_config.
-
El archivo de configuración del análisis tiene el JSON formato y está codificado en UTF -8.
-
El archivo de configuración de análisis es un objeto de Amazon S3.
Puede especificar parámetros adicionales en el archivo de configuración de análisis. La siguiente sección proporciona varias opciones para adaptar el trabajo de procesamiento SageMaker de Clarify a su caso de uso y a los tipos de análisis deseados.
Puede especificar parámetros adicionales en el archivo de configuración de análisis.
-
version: (opcional) la cadena de versión del esquema del archivo de configuración de análisis. Si no se proporciona una versión, SageMaker Clarify utiliza la última versión compatible. Actualmente, solo se admite la versión
1.0
. -
dataset_type: el formato del conjunto de datos. El formato del conjunto de datos de entrada puede ser cualquiera de los siguientes valores:
Tabular
-
text/csv
para CSV -
application/jsonlines
para formato denso de SageMaker JSON líneas -
application/json
para JSON -
application/x-parquet
para Apache Parquet -
application/x-image
para activar la explicabilidad de los problemas de visión artificial
-
Explicaciones del modelo de previsión de series temporales
application/json
para JSON
-
dataset_uri: (opcional) El identificador uniforme de recursos (URI) del conjunto de datos principal. Si proporciona un URI prefijo S3, el trabajo de procesamiento de SageMaker Clarify recopila de forma recursiva todos los archivos S3 ubicados debajo del prefijo. Si tiene problemas de visión artificial, puede proporcionar un URI prefijo S3 o S3 URI a un archivo de manifiesto de imagen. Si se proporciona
dataset_uri
, tiene prioridad sobre la entrada del trabajo de procesamiento del conjunto de datos. Para cualquier tipo de formato, excepto en los casos de uso de imágenes y series temporales, el trabajo de SageMaker procesamiento Clarify carga el conjunto de datos de entrada en un marco de datos tabular, como un conjunto de datos tabular. Este formato permite manipular y SageMaker analizar fácilmente el conjunto de datos de entrada. -
encabezados: (opcional)
Tabular: matriz de cadenas que contiene los nombres de las columnas de un conjunto de datos tabular. Si no se proporciona un valor
headers
, el trabajo de procesamiento de SageMaker Clarify lee los encabezados del conjunto de datos. Si el conjunto de datos no tiene encabezados, el trabajo de procesamiento de Clarify genera automáticamente los nombres de los marcadores de posición en función del índice de columnas de base cero. Por ejemplo, los nombres de los marcadores de posición para la primera y la segunda columnas seráncolumn_0
column_1
, y así sucesivamente.nota
Por convención, si
dataset_type
esapplication/jsonlines
oapplication/json
,headers
debe contener los siguientes nombres en orden:nombres de funciones
nombre de etiqueta (si
label
se especifica)nombre de etiqueta previsto (si
predicted_label
se especifica)
Un ejemplo de
headers
para un conjunto de datosapplication/jsonlines
silabel
está especificado es:["feature1","feature2","feature3","target_label"]
.Serie temporal: una lista de nombres de columnas del conjunto de datos. Si no se proporciona, Clarify genera encabezados para usarlos internamente. Para los casos de explicabilidad de series temporales, proporcione los encabezados en el siguiente orden:
identificador del artículo
Marca de tiempo
serie temporal objetivo
todas las columnas de series temporales relacionadas
todas las columnas de covariables estáticas
-
label: (opcional) una cadena o un índice entero basado en cero. Si se proporciona,
label
se utiliza para localizar la etiqueta de verdad fundamental, también conocida como etiqueta observada o atributo objetivo en un conjunto de datos tabular. La etiqueta de verdad fundamental se utiliza para calcular las métricas de sesgo. El valor delabel
se especifica en función del valor del parámetrodataset_type
de la siguiente manera.-
Si
dataset_type
estext/csv
,label
se puede especificar de la siguiente manera:-
Un nombre de columna válido
-
Un índice que se encuentra dentro del rango de columnas del conjunto de datos
-
-
Si
dataset_type
esapplication/parquet
,label
debe ser un nombre de columna válido. -
Si
dataset_type
es asíapplication/jsonlines
,label
debe ser una JMESPathexpresión escrita para extraer la etiqueta de verdad fundamental del conjunto de datos. Por convención, si se especifica headers
, debe contener el nombre de la etiqueta. -
Si
dataset_type
esapplication/json
así,label
debe ser una JMESPathexpresión escrita para extraer la etiqueta de verdad fundamental de cada registro del conjunto de datos. Esta JMESPath expresión debe producir una lista de etiquetas en las que la etiqueta esté correlacionada con la del registro.
-
-
predicted_label: (opcional) una cadena o un índice entero basado en cero. Si se proporciona,
predicted_label
se usa para ubicar la columna que contiene la etiqueta predicha en un conjunto de datos tabular. La etiqueta predicha se usa para calcular las métricas de sesgo posteriores al entrenamiento. El parámetropredicted_label
es opcional si el conjunto de datos no incluye la etiqueta predicha. Si se requieren etiquetas predichas para el cálculo, el trabajo de procesamiento SageMaker de Clarify obtendrá las predicciones del modelo.El valor de
predicted_label
se especifica en función del valor dedataset_type
de la siguiente manera.-
Si
dataset_type
estext/csv
,predicted_label
se puede especificar de la siguiente manera:-
Un nombre de columna válido. Si se especifica
predicted_label_dataset_uri
, pero no se proporcionapredicted_label
, el nombre de etiqueta predicha predeterminado es “predicted_label”. -
Un índice que se encuentra dentro del rango de columnas del conjunto de datos. Si se especifica
predicted_label_dataset_uri
, el índice se usa para localizar la columna de la etiqueta predicha en el conjunto de datos de la etiqueta predicha.
-
-
Si dataset_type es
application/x-parquet
,predicted_label
debe ser un nombre de columna válido. -
Si dataset_type es
application/jsonlines
,predicted_label
debe ser una JMESPathexpresión válida escrita para extraer la etiqueta pronosticada del conjunto de datos. Por convención, si se especifica headers
, debe contener el nombre de la etiqueta predicha. -
Si
dataset_type
es asíapplication/json
,predicted_label
debe ser una JMESPathexpresión escrita para extraer la etiqueta prevista para cada registro del conjunto de datos. La JMESPath expresión debe generar una lista de etiquetas pronosticadas en la que la si la etiqueta pronosticada es para el registro.
-
-
características: (opcional) Necesario para los casos de non-time-series uso, si es
dataset_type
o.application/jsonlines
application/json
Una expresión de JMESPath cadena escrita para localizar las entidades en el conjunto de datos de entrada. Paraapplication/jsonlines
ello, se aplicará una JMESPath expresión a cada línea para extraer las características de ese registro. Paraapplication/json
ello, se aplicará una JMESPath expresión a todo el conjunto de datos de entrada. La JMESPath expresión debe extraer una lista de listas o una matriz/matriz 2D de entidades en la que la fila I contenga las entidades que se correlacionan con las del registro. En el casodataset_type
detext/csv
oapplication/x-parquet
, todas las columnas, excepto las columnas de la etiqueta de verdad fundamental y de la etiqueta predicha, se asignan automáticamente como características. -
predicted_label_dataset_uri: (opcional) Solo se aplica cuando dataset_type es.
text/csv
El S3 de un conjunto de datos que contiene etiquetas de predicción que se utilizan URI para calcular las métricas de sesgo posteriores al entrenamiento. El trabajo SageMaker de procesamiento de Clarify cargará las predicciones a partir de lo proporcionado URI en lugar de obtener las predicciones del modelo. En este caso,predicted_label
tiene que ubicar la columna de etiquetas predichas en el conjunto de datos de etiquetas predichas. Si el conjunto de datos de etiquetas predichas o el conjunto de datos principal está divididos en varios archivos,joinsource_name_or_index
debe especificar una columna de identificación para unir los dos conjuntos de datos. -
predicted_label_headers: (opcional) solo se aplica cuando se especifica.
predicted_label_dataset_uri
Una matriz de cadenas que contiene los nombres de columna del conjunto de datos de etiquetas predichas. Además del encabezado de etiqueta predicha,predicted_label_headers
también puede contener el encabezado de la columna de identificación para unir el conjunto de datos de etiquetas predichas y el conjunto de datos principal. Para obtener más información, consulte la siguiente descripción del parámetrojoinsource_name_or_index
. -
joinsource_name_or_index: (opcional) el nombre o el índice de base cero de la columna en los conjuntos de datos tabulares que se utilizará como columna de identificación al realizar una unión interna. Esta columna solo se usa como un identificador. No se utiliza para ningún otro cálculo, como el análisis de sesgo o el análisis de atribución de características. Se necesita un valor para
joinsource_name_or_index
en los siguientes casos:-
Hay varios conjuntos de datos de entrada y alguno de ellos está dividido en varios archivos.
-
El procesamiento distribuido se activa al establecer el trabajo de procesamiento de Clarify en un valor superior a. SageMaker InstanceCount
1
-
-
excluded_columns: (opcional) una matriz de nombres o índices de columna de base cero que se excluirán del envío al modelo como entrada para las predicciones. La etiqueta de verdad fundamental y la etiqueta predicha ya se excluyeron automáticamente. Esta función no es compatible con las series temporales.
-
probability_threshold: (opcional) un número de coma flotante por encima del cual se selecciona una etiqueta o un objeto. El valor predeterminado es
0.5
. El trabajo SageMaker de procesamiento Clarifyprobability_threshold
se utiliza en los siguientes casos:-
En el análisis de sesgo posterior al entrenamiento,
probability_threshold
convierte la predicción de un modelo numérico (valor de probabilidad o puntuación) en una etiqueta binaria, si el modelo es un clasificador binario. Una puntuación superior al umbral se convierte en1
. Mientras que una puntuación inferior o igual al umbral se convierte en0
. -
En los problemas de explicabilidad de la visión artificial, si model_type es
OBJECT_DETECTION
,, probability_threshold
filtra los objetos detectados con puntuaciones de confianza inferiores al valor umbral.
-
-
label_values_or_threshold: (opcional) obligatorio para el análisis de sesgos. Una matriz de valores de etiqueta o un número umbral, que indican un resultado positivo para etiquetas de verdad fundamental y predichas para las métricas de sesgo. Para obtener más información, consulte los valores de etiqueta positivos en. Amazon SageMaker aclara los términos de sesgo y equidad Si la etiqueta es numérica, el umbral se aplica como límite inferior para seleccionar el resultado positivo. Para configurar
label_values_or_threshold
para distintos tipos de problemas, consulte los siguientes ejemplos:-
Para un problema de clasificación binaria, la etiqueta tiene dos valores posibles:
0
y1
. Si el valor de la etiqueta1
es favorable para un grupo demográfico observado en una muestra,label_values_or_threshold
debe establecerse en[1]
. -
Para un problema de clasificación multiclase, la etiqueta tiene tres valores posibles:
bird
,cat
ydog
. Si los dos últimos definen un grupo demográfico que el sesgo favorece, entonceslabel_values_or_threshold
debe configurarse en["cat","dog"]
. -
En el caso de un problema de regresión, el valor de la etiqueta es continuo y oscila entre
0
y1
. Si un valor superior a0.5
debe designar una muestra como de resultado positivo, entonceslabel_values_or_threshold
debe establecerse en0.5
.
-
-
faceta: (opcional) necesaria para el análisis de sesgos. Una matriz de objetos facetados, que se componen de atributos sensibles con los que se mide el sesgo. Puede utilizar las facetas para comprender las características de sesgo del conjunto de datos y el modelo, incluso si el modelo se ha entrenado sin utilizar atributos sensibles. Para obtener más información, consulte Facet in. Amazon SageMaker aclara los términos de sesgo y equidad Este objeto de faceta incluye los siguientes campos:
-
name_or_index: (opcional) el nombre o el índice de base cero de la columna de atributos sensibles de un conjunto de datos tabular. Si se especifica
facet_dataset_uri
, el índice se refiere al conjunto de datos de facetas en lugar del conjunto de datos principal. -
value_or_threshold: (opcional) (obligatorio si
facet
es numérico ylabel_values_or_threshold
se aplica como límite inferior para seleccionar el grupo sensible). Una matriz de valores de faceta o un número umbral que indica el grupo demográfico sensible que el sesgo favorece. Si el tipo de datos de faceta es categórico y no se proporcionavalue_or_threshold
, las métricas de sesgo se calculan como un grupo para cada valor único (en lugar de todos los valores). Para configurarvalue_or_threshold
para distintos tipos de datos defacet
, consulte los siguientes ejemplos:-
Para un tipo de datos de faceta binarios, la característica tiene dos valores posibles:
0
y1
. Si desea calcular las métricas de sesgo para cada valor, puede omitirvalue_or_threshold
o establecer una matriz vacía. -
Para un tipo de datos de faceta categóricos, la característica tiene tres valores posibles:
bird
,cat
ydog
. Si los dos primeros definen un grupo demográfico que el sesgo favorece, entoncesvalue_or_threshold
debe configurarse en["bird", "cat"]
. En este ejemplo, las muestras del conjunto de datos se dividen en dos grupos demográficos. La faceta del grupo favorecido tiene un valorbird
ocat
, mientras que la faceta del grupo desfavorecido tiene el valordog
. -
En el caso de un tipo de datos de faceta numéricos, el valor de la característica es continuo y oscila entre
0
y1
. Por ejemplo, si un valor superior a0.5
debe designar una muestra como de resultado positivo, entoncesvalue_or_threshold
debe establecerse en0.5
. En este ejemplo, las muestras del conjunto de datos se dividen en dos grupos demográficos. La faceta del grupo favorecido tiene un valor superior a0.5
, mientras que la faceta del grupo desfavorecido tiene un valor inferior o igual a0.5
.
-
-
-
group_variable: (opcional) el nombre o el índice de base cero de la columna que indica el subgrupo que se utilizará para la métrica de sesgo o. Disparidad demográfica condicional () CDD Disparidad demográfica condicional en las etiquetas previstas () CDDPL
-
facet_dataset_uri: (opcional) Solo se aplica cuando dataset_type es.
text/csv
El S3 para un conjunto de datos que contiene atributos sensibles URI para el análisis de sesgos. Puede utilizar las facetas para comprender las características de sesgo del conjunto de datos y el modelo, incluso si el modelo se ha entrenado sin utilizar atributos sensibles.nota
Si el conjunto de datos de la faceta o el conjunto de datos principal está divididos en varios archivos,
joinsource_name_or_index
debe especificar una columna de identificación para unir los dos conjuntos de datos. Debe usar el parámetrofacet
para identificar cada faceta del conjunto de datos de facetas. -
facet_headers: (opcional) solo se aplica cuando se especifica.
facet_dataset_uri
Una matriz de cadenas que contiene los nombres de las columnas del conjunto de datos de facetas y, opcionalmente, el encabezado de la columna identificadora para unir el conjunto de datos de facetas y el conjunto de datos principal, consulte.joinsource_name_or_index
-
time_series_data_config: (opcional) especifica la configuración que se utilizará para el procesamiento de datos de una serie temporal.
item_id: una cadena o un índice entero de base cero. Este campo se utiliza para localizar un identificador de elemento en el conjunto de datos de entrada compartido.
marca de tiempo: una cadena o un índice entero de base cero. Este campo se utiliza para localizar una marca de tiempo en el conjunto de datos de entrada compartido.
dataset_format: los valores posibles son, o.
columns
item_records
timestamp_records
Este campo se usa para describir el formato de un JSON conjunto de datos, que es el único formato compatible para explicar las series temporales.target_time_series: índice entero basado en cero o JMESPath cadena. Este campo se utiliza para localizar la serie temporal objetivo en el conjunto de datos de entrada compartido. Si este parámetro es una cadena, todos los demás parámetros excepto
dataset_format
deben ser cadenas o listas de cadenas. Si este parámetro es un número entero, todos los demás parámetros exceptodataset_format
deben ser números enteros o listas de números enteros.related_time_series: (opcional) una matriz de expresiones. JMESPath Este campo se utiliza para localizar todas las series temporales relacionadas en el conjunto de datos de entrada compartido, si están presentes.
static_covariates: (opcional) una matriz de expresiones. JMESPath Este campo se utiliza para localizar todos los campos de covariables estáticas del conjunto de datos de entrada compartido, si están presentes.
Para ver ejemplos, consulte Ejemplos de configuración de conjuntos de datos de series temporales.
-
methods: un objeto que contiene uno o más métodos de análisis y sus parámetros. Si se omite algún método, no se utiliza para el análisis ni se informa.
-
pre_training_bias: incluya este método si quiere calcular las métricas de sesgo previas al entrenamiento. La descripción detallada de las métricas se encuentra en. Métricas de sesgo previas al entrenamiento El objeto tiene los siguientes parámetros:
-
methods: una matriz que contiene cualquiera de las métricas de sesgo previas al entrenamiento de la siguiente lista que quiera calcular. Establezca
methods
enall
para calcular todas las métricas de sesgo previas al entrenamiento. Por ejemplo, la matriz["CI", "DPL"]
calculará el Desequilibrio de clases y la Diferencia en las proporciones de las etiquetas.-
CI
para Desequilibrio de clases (CI) -
DPL
para Diferencia en las proporciones de las etiquetas () DPL -
LP
para Norma Lp (LP) -
TVD
para Distancia de variación total () TVD -
KS
para Kolmogorov-Smirnov (KS)
-
-
-
pre_training_bias: incluya este método si quiere calcular las métricas de sesgo posteriores al entrenamiento. La descripción detallada de las métricas se encuentra enDatos posteriores al entrenamiento y métricas de sesgo del modelo. El objeto
post_training_bias
tiene los siguientes parámetros:-
methods: una matriz que contiene cualquiera de las métricas de sesgo posteriores al entrenamiento de la siguiente lista que quiera calcular. Establezca
methods
enall
para calcular todas las métricas de sesgo posteriores al entrenamiento. Por ejemplo, la matriz["DPPL", "DI"]
calcula la Diferencia en las proporciones positivas de las etiquetas predichas y el Impacto dispar. Los métodos disponibles son los siguientes.-
DPPL
para Diferencia en las proporciones positivas en las etiquetas pronosticadas () DPPL -
DI
para Impacto dispar (DI) -
SD
para Diferencia de especificidad (SD) -
RD
para Diferencia de coincidencias (RD) -
AD
para Diferencia de precisión (AD) -
TE
para Igualdad de tratamiento (TE) -
CDDPL
para Disparidad demográfica condicional en las etiquetas previstas () CDDPL -
FT
para Prueba de contrafácticos (FT) -
GE
para Entropía generalizada (GE)
-
-
-
shap: incluya este método si desea calcular SHAP valores. El trabajo de SageMaker procesamiento Clarify es compatible con el SHAP algoritmo Kernel. El objeto
shap
tiene los siguientes parámetros:-
línea base: (opcional) el conjunto de datos de SHAP referencia, también conocido como conjunto de datos de fondo. Los requisitos adicionales para el conjunto de datos de referencia en un conjunto de datos tabular o un problema de visión artificial son los siguientes. Para obtener más información sobre las SHAP líneas base, consulte SHAPLíneas de base para la explicabilidad
-
En el caso de un conjunto de datos tabular,
baseline
pueden ser los datos de referencia in situ o el S3 URI de un archivo de referencia. Si nobaseline
se proporciona, el trabajo de procesamiento de SageMaker Clarify calcula una línea base agrupando el conjunto de datos de entrada. La referencia debe cumplir los siguientes requisitos:-
El formato debe ser el mismo que el formato del conjunto de datos especificado por
dataset_type
. -
La referencia solo puede contener características que el modelo pueda aceptar como entrada.
-
El conjunto de datos de referencia puede tener una o más instancias. La cantidad de instancias de referencia afecta directamente al tamaño del conjunto de datos sintético y al tiempo de ejecución del trabajo.
-
Si se especifica
text_config
, el valor de referencia de una columna de texto es una cadena que se utiliza para reemplazar la unidad de texto especificada porgranularity
. Por ejemplo, un marcador de posición común es «[MASK]», que se utiliza para representar una palabra o un fragmento de texto desconocido o que falta.
En los siguientes ejemplos se muestra cómo configurar datos de referencia in situ para diferentes parámetros
dataset_type
:-
Si
dataset_type
estext/csv
oapplication/x-parquet
, el modelo acepta cuatro características numéricas y la referencia tiene dos instancias. En este ejemplo, si un registro tiene todos los valores de característica cero y el otro registro tiene todos los valores de característica uno, entonces la referencia debe establecerse en[[0,0,0,0],[1,1,1,1]]
, sin ningún encabezado. -
Si
dataset_type
esapplication/jsonlines
, yfeatures
es la clave de una lista de cuatro valores de característica numéricos. Además, en este ejemplo, si la referencia tiene un registro con todos los valores cero, entoncesbaseline
debe ser[{"features":[0,0,0,0]}]
. -
Si
dataset_type
esapplication/json
, el conjunto de datosbaseline
debe tener la misma estructura y formato que el conjunto de datos de entrada.
-
-
En el caso de problemas de visión artificial,
baseline
puede ser la posición S3 URI de una imagen que se utiliza para ocultar características (segmentos) de la imagen de entrada. El trabajo SageMaker de procesamiento Clarify carga la imagen de la máscara y cambia su tamaño a la misma resolución que la imagen de entrada. Si no se proporciona una línea base, el trabajo SageMaker de procesamiento Clarify genera una imagen de máscara de ruido blancocon la misma resolución que la imagen de entrada.
-
-
features_to_explain: (opcional) matriz de cadenas o índices de base cero de columnas de entidades para calcular valores. SHAP Si no
features_to_explain
se proporciona, los SHAP valores se calculan para todas las columnas de entidades. Estas columnas de características no pueden incluir la columna de etiquetas ni la columna de etiquetas predichas. El parámetrofeatures_to_explain
solo se admite para conjuntos de datos tabulares con columnas numéricas y categóricas. -
num_clusters: (opcional) el número de clústeres en los que se divide el conjunto de datos para calcular el conjunto de datos de referencia. Cada clúster se usa para calcular una instancia de referencia. Si no
baseline
se especifica, el trabajo de SageMaker procesamiento de Clarify intenta calcular el conjunto de datos de referencia dividiendo el conjunto de datos tabular en un número óptimo de clústeres entre1
y12
. El número de instancias de referencia afecta directamente al tiempo de ejecución del SHAP análisis. -
num_samples: (opcional) el número de muestras que se utilizarán en el algoritmo SHAP Kernel. Si no
num_samples
se proporciona, el trabajo de procesamiento de SageMaker Clarify elegirá el número por usted. La cantidad de muestras afecta directamente al tamaño del conjunto de datos sintético y al tiempo de ejecución del trabajo. -
seed: (opcional) un número entero que se utiliza para inicializar el generador de números pseudoaleatorios del SHAP explicador a fin de generar SHAP valores consistentes para el mismo trabajo. Si no se especifica la semilla, cada vez que se ejecute el mismo trabajo, el modelo puede generar valores ligeramente diferentes. SHAP
-
use_logit: (opcional) un valor booleano que indica que desea que la función logit se aplique a las predicciones del modelo. El valor predeterminado es
false
. Siuse_logit
es asítrue
, los SHAP valores se calculan utilizando los coeficientes de regresión logística, que pueden interpretarse como coeficientes logarítmicos de probabilidades. -
save_local_shap_values: (opcional) un valor booleano que indica que desea que los SHAP valores locales de cada registro del conjunto de datos se incluyan en el resultado del análisis. El valor predeterminado es
false
.Si el conjunto de datos principal está dividido en varios archivos o si está activado el procesamiento distribuido, especifique también una columna de identificación mediante el parámetro
joinsource_name_or_index
. La columna de identificación y los valores locales se guardan en el resultado del análisisSHAP. De esta forma, puede asignar cada registro a sus SHAP valores locales. -
agg_method: (opcional) el método utilizado para agregar SHAP los valores locales (los SHAP valores de cada instancia) de todas las instancias a los SHAP valores globales (los valores de todo el SHAP conjunto de datos). El valor predeterminado es
mean_abs
. Se pueden usar los siguientes métodos para agregar valores. SHAP-
mean_abs: la media de los SHAP valores locales absolutos de todas las instancias.
-
mean_sq: la media de los valores locales SHAP cuadrados de todas las instancias.
-
median: la mediana de los SHAP valores locales de todas las instancias.
-
-
text_config: obligatorio para la explicabilidad del procesamiento del lenguaje natural. Incluya esta configuración si desea tratar las columnas de texto como texto y se deben proporcionar explicaciones para cada unidad de texto. Para ver un ejemplo de una configuración de análisis para explicar el procesamiento del lenguaje natural, consulte Configuración del análisis para la explicabilidad del procesamiento de lenguaje natural
-
granularity: la unidad de granularidad para el análisis de las columnas de texto. Los valores válidos son
token
,sentence
oparagraph
. Cada unidad de texto se considera una característica y SHAP los valores locales se calculan para cada unidad. -
language: el idioma de las columnas de texto. Los valores válidos son
chinese
,danish
,dutch
,english
,french
,german
,greek
,italian
,japanese
,lithuanian
,multi-language
,norwegian bokmål
,polish
,portuguese
,romanian
,russian
,spanish
,afrikaans
,albanian
,arabic
,armenian
,basque
,bengali
,bulgarian
,catalan
,croatian
,czech
,estonian
,finnish
,gujarati
,hebrew
,hindi
,hungarian
,icelandic
,indonesian
,irish
,kannada
,kyrgyz
,latvian
,ligurian
,luxembourgish
,macedonian
,malayalam
,marathi
,nepali
,persian
,sanskrit
,serbian
,setswana
,sinhala
,slovak
,slovenian
,swedish
,tagalog
,tamil
,tatar
,telugu
,thai
,turkish
,ukrainian
,urdu
,vietnamese
,yoruba
. Ingresemulti-language
para obtener una combinación de varios idiomas. -
max_top_tokens: (opcional) el número máximo de fichas principales, en función de los valores globales. SHAP El valor predeterminado es
50
. Es posible que un token aparezca varias veces en el conjunto de datos. El trabajo SageMaker de procesamiento de Clarify suma los SHAP valores de cada token y, a continuación, selecciona los principales en función de sus valores globales. SHAP SHAPLos valores globales de los principales tokens seleccionados se incluyen en laglobal_top_shap_text
sección del archivo analysis.json. -
El SHAP valor local de la agregación.
-
-
image_config: necesario para la explicabilidad de la visión artificial. Incluya esta configuración si tiene un conjunto de datos de entrada compuesto por imágenes y desea analizarlas para determinar su explicabilidad en un problema de visión artificial.
-
model_type: el tipo de modelo. Los valores válidos son:
-
IMAGE_CLASSIFICATION
para un modelo de clasificación de imágenes. -
OBJECT_DETECTION
para un modelo de detección de objetos.
-
-
max_objects: solo se aplica cuando el tipo de modelo es
OBJECT_DETECTION
. El número máximo de objetos, ordenados por la puntuación de confianza, detectados por el modelo de visión artificial. Se filtran todos los objetos clasificados por debajo de max_objects según su puntuación máxima de confianza. El valor predeterminado es3
. -
context: solo se aplica cuando model_type es
OBJECT_DETECTION
. Indica si el área alrededor del cuadro delimitador del objeto detectado está enmascarada por la imagen de referencia o no. Los valores válidos son0
para enmascararlo todo o1
para no enmascarar nada. El valor predeterminado es 1. -
iou_threshold: solo se aplica cuando
model_type
esOBJECT_DETECTION
. La métrica mínima de intersección sobre union (IOU) para evaluar las predicciones en función de la detección original. Una IOU métrica alta corresponde a una gran superposición entre el cuadro de detección de la verdad pronosticada y el campo de detección de la verdad fundamental. El valor predeterminado es0.5
. -
num_segments: (opcional) un entero que determina el número aproximado de segmentos que se etiquetarán en la imagen de entrada. Cada segmento de la imagen se considera una característica y SHAP los valores locales se calculan para cada segmento. El valor predeterminado es
20
. -
segment_compactness: (opcional) un entero que determina la forma y el tamaño de los segmentos de la imagen generados por el método scikit-image slic
. El valor predeterminado es 5
.
-
-
-
pdp: incluya este método para calcular las gráficas de dependencia parcial (PDPs). Para ver un ejemplo de una configuración de análisis que se va a generarPDPs, consulte Calcule las gráficas de dependencia parcial () PDPs
-
features: obligatorio si no se solicita el método
shap
. Matriz de nombres o índices de características para calcular y trazar PDP gráficos. -
top_k_features: (opcional) especifica el número de entidades principales que se utilizan para generar los gráficos. PDP Si no
features
se proporciona, pero se solicita elshap
método, el trabajo de procesamiento de SageMaker Clarify elige las principales características en función de sus atribuciones. SHAP El valor predeterminado es10
. -
grid_resolution: el número de buckets en los que se va a dividir el rango de valores numéricos. Esto especifica la granularidad de la cuadrícula de las PDP gráficas.
-
-
asymmetric_shapley_value: incluya este método si desea calcular las métricas de explicabilidad para los modelos de previsión de series temporales. El trabajo de procesamiento Clarify admite el algoritmo de valores asimétricos de Shapley. SageMaker Los valores asimétricos de Shapley son una variante del valor de Shapley que descarta el axioma de simetría. Para obtener más información, consulte Valores asimétricos de Shapley
: incorporación del conocimiento causal a la explicabilidad independiente del modelo. Utilice estos valores para determinar cómo contribuyen las características al resultado de la previsión. Los valores asimétricos de Shapley tienen en cuenta las dependencias temporales de los datos de series temporales que los modelos de previsión toman como entrada. El algoritmo incluye los siguientes parámetros:
dirección: los tipos disponibles son
chronological
anti_chronological
, ybidirectional
. Se puede navegar por la estructura temporal en orden cronológico o anticronológico o en ambos. Las explicaciones cronológicas se crean agregando información de forma iterativa desde el primer paso de tiempo en adelante. Las explicaciones anticronológicas añaden información empezando por el último paso y retrocediendo. Este último orden puede ser más apropiado en presencia de un sesgo reciente, por ejemplo, para pronosticar los precios de las acciones.granularidad: la granularidad de la explicación que se utilizará. Las opciones de granularidad disponibles se muestran a continuación:
En cuanto al tiempo:
timewise
las explicaciones son económicas y solo proporcionan información sobre intervalos de tiempo específicos, por ejemplo, averiguar en qué medida la información del enésimo día del pasado contribuyó a la previsión del día m en el futuro. Las atribuciones resultantes no explican las covariables estáticas de forma individual ni diferencian entre series temporales objetivo y series temporales relacionadas.pormenorizado:
fine_grained
las explicaciones son computacionalmente más intensivas, pero proporcionan un desglose completo de todas las atribuciones de las variables de entrada. El método calcula las explicaciones aproximadas para reducir el tiempo de ejecución. Para obtener más información, consulte el siguiente parámetronum_samples
.nota
fine_grained
las explicaciones solo respaldanchronological
el orden.
num_samples: (opcional) este argumento es obligatorio para
fine_grained
las explicaciones. Cuanto mayor sea el número, más precisa será la aproximación. Este número debe escalarse con la dimensionalidad de las entidades de entrada. Una regla general es establecer esta variable en (1 + max (número de series temporales relacionadas, número de covariables estáticas) ^2 si el resultado no es demasiado grande.línea base: (opcional) la configuración de referencia para reemplazar out-of-coalition los valores de los conjuntos de datos correspondientes (también conocidos como datos de fondo). En el siguiente fragmento se muestra un ejemplo de una configuración de referencia:
{ "related_time_series": "zero", "static_covariates": {
<item_id_1>
: [0, 2],<item_id_2>
: [-1, 1] }, "target_time_series": "zero" }Para los datos temporales, como las series temporales objetivo o las series temporales relacionadas, los tipos de valores de referencia pueden ser uno de los siguientes valores:
zero
— Todos los out-of-coalition valores se sustituyen por 0.0.mean
— Todos out-of-coalition los valores se sustituyen por el promedio de una serie temporal.
En el caso de las covariables estáticas, solo se debe proporcionar una entrada de referencia cuando la solicitud del modelo tome valores de covariables estáticas, en cuyo caso este campo es obligatorio. La línea base debe proporcionarse para cada elemento en forma de lista. Por ejemplo, si tienes un conjunto de datos con dos covariables estáticas, tu configuración de referencia podría ser la siguiente:
"static_covariates": {
<item_id_1>
: [1, 1],<item_id_2>
: [0, 1] }En el ejemplo anterior,
<item_id_1>
y<item_id_2>
son los identificadores de los elementos del conjunto de datos.
-
report: (opcional) utilice este objeto para personalizar el informe de análisis. Este parámetro no se admite en los trabajos de explicación de series temporales. Hay tres copias del mismo informe como parte del resultado del análisis: informe, HTML informe e PDF informe de Jupyter Notebook. El objeto tiene los siguientes parámetros:
-
name: nombre de archivo de los archivos del informe. Por ejemplo, si
name
esMyReport
, los archivos del informe sonMyReport.ipynb
,MyReport.html
yMyReport.pdf
. El valor predeterminado esreport
. -
title: (opcional) cadena de título del informe. El valor predeterminado es
SageMaker Analysis Report
.
-
-
-
predictor: obligatorio si el análisis requiere predicciones del modelo. Por ejemplo, cuando se solicita el
post_training_bias
métodoshap
asymmetric_shapley_value
,pdp
, o, pero las etiquetas de previsión no se proporcionan como parte del conjunto de datos de entrada. Los siguientes son parámetros que se deben usar junto conpredictor
:-
model_name: el nombre del SageMaker modelo creado por. CreateModelAPI Si especifica
model_name
en lugar de endpoint_name, el trabajo de procesamiento de SageMaker Clarify crea un punto final efímero con el nombre del modelo, conocido como punto final oculto, y obtiene las predicciones del punto final. El trabajo elimina el punto de conexión de sombra una vez finalizados los cálculos. Si el modelo es multimodelo, se debe especificar el parámetro.target_model
Para obtener más información sobre los puntos finales multimodelo, consulte. Puntos de conexión multimodelo -
endpoint_name_prefix: (opcional) un prefijo de nombre personalizado para el punto de conexión de sombra. Aplicable si proporciona
model_name
en lugar deendpoint_name
. Por ejemplo, proporcioneendpoint_name_prefix
si desea restringir el acceso al punto de conexión por nombre de punto de conexión. El prefijo debe coincidir con el EndpointNamepatrón y su longitud máxima es.23
El valor predeterminado essm-clarify
. -
initial_instance_count: especifica el número de instancias del punto de conexión de sombra. Se requiere si se proporciona model_name en lugar de endpoint_name. El valor de
initial_instance_count
puede ser diferente al InstanceCountdel trabajo, pero recomendamos una proporción de 1:1. -
instance_type: especifica el tipo de instancia del punto de conexión de sombra. Se requiere si se proporciona
model_name
en lugar deendpoint_name
. Por ejemplo,instance_type
se puede configurar en “ml.m5.large”. En algunos casos, el valor especificado parainstance_type
puede ayudar a reducir el tiempo de inferencia del modelo. Por ejemplo, para funcionar de manera eficiente, los modelos de procesamiento de lenguaje natural y los modelos de visión artificial suelen requerir un tipo de instancia de unidad de procesamiento gráfico (GPU). -
endpoint_name: el nombre del SageMaker punto final creado por. CreateEndpointAPI Si se proporciona,
endpoint_name
tiene prioridad sobre el parámetromodel_name
. El uso de un punto de conexión existente reduce el tiempo de arranque del punto de conexión de sombra, pero también puede provocar un aumento significativo de la carga de ese punto de conexión. Además, algunos métodos de análisis (comoshap
ypdp
) generan conjuntos de datos sintéticos que se envían al punto de conexión. Esto puede provocar que las métricas del punto de conexión o los datos capturados se vean contaminados por datos sintéticos, lo que puede no reflejar con precisión el uso en el mundo real. Por estas razones, generalmente no se recomienda utilizar un punto final de producción existente para el análisis de Clarify. SageMaker -
target_model: el valor de cadena que se transfiere al TargetModel parámetro de. SageMaker InvokeEndpointAPI Necesario si el modelo (especificado mediante el parámetro model_name) o el punto de conexión (especificado mediante el parámetro endpoint_name) es multimodelo. Para obtener más información sobre los puntos finales multimodelo, consulte. Puntos de conexión multimodelo
-
custom_attributes: (opcional) cadena que permite proporcionar información adicional sobre una solicitud de inferencia que se envía al punto de conexión. El valor de la cadena se pasa al
CustomAttributes
parámetro de. SageMaker InvokeEndpointAPI -
content_type: formato de entrada del modelo que se utilizará para obtener las predicciones del punto de conexión. Si se proporciona, se pasa al
ContentType
parámetro de SageMaker InvokeEndpointAPI.-
Para facilitar la explicabilidad de la visión artificial, los valores válidos son
image/jpeg
,image/png
oapplication/x-npy
. Si no se proporcionacontent_type
, el valor predeterminado esimage/jpeg
. Para explicar la previsión de series temporales, el valor válido es.
application/json
-
Para otros tipos de explicabilidad, los valores válidos son
text/csv
,application/jsonlines,
yapplication/json
. Si es,content_type
se requiere un valor para.dataset_type
application/x-parquet
De no ser así,content_type
toma el valor predeterminado del parámetrodataset_type
.
-
-
accept_type: el formato de salida del modelo que se utilizará para obtener las predicciones del punto de conexión. El valor de
accept_type
se pasa alAccept
parámetro de SageMaker InvokeEndpointAPI.-
Para explicar la visión artificial, si
model_type
es "OBJECT_DETECTION", elaccept_type
valor predeterminado es.application/json
Para la explicabilidad de la previsión de series temporales, el valor válido es.
application/json
-
Para otros tipos de explicabilidad, los valores válidos son
text/csv
,application/jsonlines
yapplication/json
. Si no se proporciona un valor paraaccept_type
, el valor predeterminado deaccept_type
es el valor del parámetrocontent_type
.
-
-
content_template: cadena de plantilla que se utiliza para construir la entrada del modelo a partir de los registros del conjunto de datos. El parámetro
content_template
solo se usa y es obligatorio si el valor del parámetrocontent_type
esapplication/jsonlines
oapplication/json
.Si el parámetro
content_type
esapplication/jsonlines
, la plantilla solo debe tener un marcador de posición,$features
, que se sustituye por una lista de características en tiempo de ejecución. Por ejemplo, si la plantilla es"{\"myfeatures\":$features}"
, y si un registro tiene tres valores de entidad numéricos:2
y1
3
, entonces el registro se enviará al modelo como Línea. JSON{"myfeatures":[1,2,3]}
Cuando
content_type
esapplication/json
, la plantilla puede tener un marcador de posición$record
orecords
. Si el marcador de posición esrecord
, se sustituye un único registro por un registro al que se le haya aplicado la plantilla derecord_template
. En este caso, solo se enviará un registro al modelo cada vez. Si el marcador de posición es$records
, los registros se sustituyen por una lista de registros, cada uno con una plantilla proporcionada porrecord_template
. -
record_template: cadena de plantilla que se utiliza para construir cada registro del modelo a partir de las instancias del conjunto de datos. Solo se usa y se requiere cuando
content_type
esapplication/json
. La cadena de plantilla puede contener uno de los siguientes valores:-
Un parámetro
$features
marcador de posición que se sustituye por una matriz de valores de características. Un marcador de posición opcional adicional puede sustituir los nombres de los encabezados de las columnas de características en$feature_names
. Este marcador de posición opcional se sustituirá por una serie de nombres de características. -
Exactamente un marcador de posición
$features_kvp
que se sustituye por los pares clave-valor, el nombre de la característica y el valor de la característica. -
Una característica de la configuración
headers
. Por ejemplo, un nombre de característicaA
, anotado mediante la sintaxis del marcador de posición"${A}"
se sustituirá por el valor de la característica correspondiente paraA
.
El valor para
record_template
se usa concontent_template
para construir la entrada del modelo. A continuación, se muestra un ejemplo de configuración que muestra cómo construir una entrada de modelo mediante una plantilla de contenido y registro.En el siguiente ejemplo de código, los encabezados y las características se definen de la siguiente manera.
-
`headers`:["A", "B"]
-
`features`:[[0,1], [3,4]]
Un ejemplo de entrada del modelo sería el siguiente.
{ "instances": [[0, 1], [3, 4]], "feature_names": ["A", "B"] }
A continuación, se muestran el ejemplo
content_template
y los valores del parámetrorecord_template
para construir el ejemplo anterior de entrada del modelo.-
content_template: "{\"instances\": $records, \"feature_names\": $feature_names}"
-
record_template: "$features"
En el siguiente ejemplo de código, los encabezados y las características se definen de la siguiente manera.
[ { "A": 0, "B": 1 }, { "A": 3, "B": 4 }, ]
A continuación, se muestran el ejemplo
content_template
y los valores del parámetrorecord_template
para construir el ejemplo anterior de entrada del modelo.-
content_template: "$records"
-
record_template: "$features_kvp"
A continuación, se muestra un ejemplo de código alternativo para construir la entrada del modelo del ejemplo anterior.
-
content_template: "$records"
-
record_template: "{\"A\": \"${A}\", \"B\": \"${B}\"}"
En el siguiente ejemplo de código, los encabezados y las características se definen de la siguiente manera.
{ "A": 0, "B": 1 }
Los valores de los parámetros content_template y record_template de ejemplo que se va a construir están arriba: a continuación, la entrada del modelo del ejemplo anterior.
-
content_template: "$record"
-
record_template: "$features_kvp"
Para obtener más ejemplos, consulte Solicitudes de datos de series temporales en el punto final.
-
-
etiqueta: (opcional) cadena de índice o JMESPath expresión de enteros de base cero que se utiliza para extraer las etiquetas pronosticadas de la salida del modelo para el análisis de sesgo. Si el modelo es multiclase y el parámetro
label
extrae todas las etiquetas predichas de la salida del modelo, se aplica lo siguiente. Esta función no es compatible con las series temporales.-
El parámetro
probability
es necesario para obtener las probabilidades (o puntuaciones) correspondientes de la salida del modelo. -
Se elige la etiqueta predicha de la puntuación más alta.
El valor de
label
dependen del valor del parámetro accept_type de la siguiente manera.-
Si
accept_type
estext/csv
, entonceslabel
es el índice de cualquier etiqueta predicha en la salida del modelo. -
Si
accept_type
esapplication/jsonlines
oapplication/json
, entonceslabel
es una JMESPath expresión que se aplica a la salida del modelo para obtener las etiquetas pronosticadas.
-
-
label_headers: (opcional) una matriz de valores que la etiqueta puede incluir en el conjunto de datos. Si se solicita un análisis del sesgo, el parámetro
probability
también es necesario para obtener los valores de probabilidad (puntuaciones) correspondientes de la salida del modelo, y se elige la etiqueta predicha de la puntuación más alta. Si se solicita un análisis de explicabilidad, los encabezados de las etiquetas se utilizan para embellecer el informe de análisis. Se requiere un valor paralabel_headers
para la explicabilidad de la visión artificial. Por ejemplo, en el caso de un problema de clasificación multiclase, si la etiqueta tiene tres valores posibles,bird
,cat
ydog
, entonceslabel_headers
se debe establecer en["bird","cat","dog"]
. -
probabilidad: (opcional) un índice entero basado en cero o una cadena de JMESPath expresión que se utiliza para extraer probabilidades (puntuaciones) para el análisis de explicabilidad (pero no para la explicabilidad de las series temporales), o para elegir la etiqueta de predicción para el análisis de sesgo. El valor de
probability
dependen del valor del parámetroaccept_type
de la siguiente manera.-
Si
accept_type
estext/csv
,probability
es el índice de las probabilidades (puntuaciones) en la salida del modelo. Si no se proporcionaprobability
, toda la salida del modelo se toma como probabilidades (puntuaciones). -
Si
accept_type
se trata de JSON datos (unoapplication/jsonlines
u otroapplication/json
),probability
debe ser una JMESPath expresión que se utilice para extraer las probabilidades (puntuaciones) del resultado del modelo.
-
-
time_series_predictor_config: (opcional) Se usa solo para explicar series temporales. Se utiliza para indicar al procesador SageMaker Clarify cómo analizar correctamente los datos a partir de los datos transmitidos como entrada S3. URI
dataset_uri
previsión: JMESPath expresión que se utiliza para extraer el resultado de la previsión.
-
Archivos de configuración del análisis de ejemplo
Las siguientes secciones contienen ejemplos de archivos de configuración de análisis para datos en CSV formato, formato de JSON líneas y para la explicabilidad del procesamiento del lenguaje natural (NLP), la visión artificial (CV) y las series temporales (TS).
Los siguientes ejemplos muestran cómo configurar el análisis de sesgo y explicabilidad para un conjunto de datos tabular en formato. CSV En estos ejemplos, el conjunto de datos entrante tiene cuatro columnas de características y una columna de etiquetas binarias, Target
. El contenido del conjunto de datos es el siguiente. Un valor de etiqueta de 1
indica un resultado positivo. La entrada de procesamiento proporciona el conjunto de datos al SageMaker trabajo de Clarify. dataset
"Target","Age","Gender","Income","Occupation" 0,25,0,2850,2 1,36,0,6585,0 1,22,1,1759,1 0,48,0,3446,1 ...
En las siguientes secciones se muestra cómo calcular las métricas de sesgo, SHAP los valores y las gráficas de dependencia parcial (PDPs) antes y después del entrenamiento, que muestran la importancia de las características de un conjunto de datos en CSV formato.
Cálculo de todas las métricas de sesgo previas al entrenamiento
Este ejemplo de configuración muestra cómo medir si el conjunto de datos de muestra anterior está sesgado favorablemente hacia muestras con un valor de Gender
de 0
. La siguiente configuración de análisis indica al trabajo de procesamiento de SageMaker Clarify que calcule todas las métricas de sesgo previas al entrenamiento para el conjunto de datos.
{ "dataset_type": "text/csv", "label": "Target", "label_values_or_threshold": [1], "facet": [ { "name_or_index": "Gender", "value_or_threshold": [0] } ], "methods": { "pre_training_bias": { "methods": "all" } } }
Cálculo de todas las métricas de sesgo posteriores al entrenamiento
Puede calcular las métricas de sesgo previas al entrenamiento antes del entrenamiento. Sin embargo, debe tener un modelo entrenado para calcular las métricas de sesgo posteriores al entrenamiento. El siguiente ejemplo de salida proviene de un modelo de clasificación binaria que genera datos en CSV formato. En este ejemplo de salida, cada fila contiene dos columnas. La primera columna contiene la etiqueta predicha y la segunda columna contiene el valor de probabilidad de esa etiqueta.
0,0.028986845165491 1,0.825382471084594 ...
El siguiente ejemplo de configuración indica al trabajo de procesamiento SageMaker de Clarify que calcule todas las métricas de sesgo posibles utilizando el conjunto de datos y las predicciones de la salida del modelo. En el ejemplo, el modelo se implementa en un SageMaker punto finalyour_endpoint
.
nota
En el siguiente código de ejemplo, los parámetros content_type
y accept_type
no están configurados. Por lo tanto, utilizan automáticamente el valor del parámetro dataset_type, que es text/csv
.
{ "dataset_type": "
text/csv
", "label": "Target
", "label_values_or_threshold":[1]
, "facet": [ { "name_or_index": "Gender
", "value_or_threshold":[0]
} ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" } }, "predictor": { "endpoint_name": "your_endpoint
", "label":0
} }
Calcule los SHAP valores
El siguiente ejemplo de configuración de análisis indica al trabajo que calcule los SHAP valores designando la Target
columna como etiquetas y todas las demás columnas como características.
{ "dataset_type": "
text/csv
", "label": "Target
", "methods": { "shap": { "num_clusters":1
} }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
} }
En este ejemplo, se omite el SHAP baseline
parámetro y su valor es. num_clusters
1
Esto indica al procesador SageMaker Clarify que calcule una muestra de SHAP referencia. En este ejemplo, la probabilidad se establece en 1
. Esto indica al trabajo de procesamiento de SageMaker Clarify que extraiga la puntuación de probabilidad de la segunda columna del resultado del modelo (mediante una indexación basada en cero).
Calcule las gráficas de dependencia parcial () PDPs
El siguiente ejemplo muestra cómo ver la importancia de la Income
función en el informe de análisis mediantePDPs. El parámetro de informe indica al trabajo de procesamiento SageMaker de Clarify que genere un informe. Una vez finalizado el trabajo, el informe generado se guarda como report.pdf en la ubicación analysis_result
. El parámetro grid_resolution
divide el rango de valores de las características en 10
buckets. En conjunto, los parámetros especificados en el siguiente ejemplo indican al trabajo de procesamiento SageMaker de Clarify que genere un informe que contenga un PDP gráfico Income
con 10
segmentos en el eje x. El eje y mostrará el impacto marginal de Income
en las predicciones.
{ "dataset_type": "text/csv", "label": "Target", "methods": { "pdp": { "features": ["
Income
"], "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
}, }
Cálculo de las métricas de sesgo y de la importancia de las características
Puede combinar todos los métodos de los ejemplos de configuración anteriores en un único archivo de configuración de análisis y calcularlos todos en un solo trabajo. El siguiente ejemplo muestra una configuración de análisis con todos los pasos combinados.
En este ejemplo, el parámetro probability
se establece 1
para indicar que las probabilidades están contenidas en la segunda columna (mediante la indexación basada en cero). Sin embargo, dado que el análisis del sesgo necesita una etiqueta predicha, el parámetro probability_threshold
se establece en 0.5
para convertir la puntuación de probabilidad en una etiqueta binaria. En este ejemplo, el parámetro top_k_features
del método de los gráficos de dependencia parcial pdp
se establece en 2
. Esto indica al trabajo de procesamiento SageMaker de Clarify que calcule las gráficas de dependencia parcial (PDPs) para las principales 2
entidades con los valores globales más altos. SHAP
{ "dataset_type": "text/csv", "label": "
Target
", "probability_threshold":0.5
, "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" }, "shap": { "num_clusters":1
}, "pdp": { "top_k_features":2
, "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "probability":1
} }
En lugar de implementar el modelo en un punto final, puede proporcionar el nombre del SageMaker modelo al trabajo de procesamiento de SageMaker Clarify mediante el model_name
parámetro. En el siguiente ejemplo se muestra cómo especificar un modelo denominado your_model
. El trabajo SageMaker de procesamiento de Clarify creará un punto final oculto mediante la configuración.
{ ... "predictor": { "model_name": "
your_model
", "initial_instance_count":1
, "instance_type": "ml.m5.large
", "probability":1
} }
Los siguientes ejemplos muestran cómo configurar el análisis de sesgo y el análisis de explicabilidad para un conjunto de datos tabular en JSON formato Lines. En estos ejemplos, el conjunto de datos entrante tiene los mismos datos que en la sección anterior, pero están en el formato denso de SageMaker JSON líneas. Cada línea es un JSON objeto válido. La clave “Features” apunta a una matriz de valores de características, y la clave “Label” apunta a la etiqueta de verdad fundamental. La entrada de procesamiento del «conjunto de datos» proporciona el conjunto de datos al trabajo de SageMaker Clarify. Para obtener más información sobre JSON las líneas, consulteJSONLINESformato de solicitud.
{"Features":[25,0,2850,2],"Label":0} {"Features":[36,0,6585,0],"Label":1} {"Features":[22,1,1759,1],"Label":1} {"Features":[48,0,3446,1],"Label":0} ...
Las siguientes secciones muestran cómo calcular las métricas de sesgo, los SHAP valores y las gráficas de dependencia parcial (PDPs) antes y después del entrenamiento que muestran la importancia de las características para un conjunto de datos en formato JSON Lines.
Cálculo de las métricas de sesgo previas al entrenamiento
Especifique la etiqueta, las características, el formato y los métodos para medir las métricas de sesgo previas al entrenamiento con un valor Gender
de 0
. En el siguiente ejemplo, el parámetro headers
proporciona primero los nombres de las características. El nombre de la etiqueta se proporciona en último lugar. Por convención, el último encabezado es el encabezado de la etiqueta.
El features
parámetro se establece en la JMESPath expresión «Características» para que el trabajo de procesamiento de SageMaker Clarify pueda extraer la matriz de entidades de cada registro. El label
parámetro se establece en la JMESPath expresión «Etiqueta» para que el trabajo SageMaker de procesamiento de Clarify pueda extraer la etiqueta fundamental de cada registro. Utilice un nombre de faceta para especificar el atributo sensible, como se indica a continuación.
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" } } }
Cálculo de todas las métricas de sesgo
Debe tener un modelo entrenado para calcular las métricas de sesgo posteriores al entrenamiento. El siguiente ejemplo es de un modelo de clasificación binaria que genera datos de JSON Lines en el formato del ejemplo. Cada fila de la salida del modelo es un JSON objeto válido. La clave predicted_label
apunta a la etiqueta predicha y la clave probability
apunta al valor de probabilidad.
{"predicted_label":0,"probability":0.028986845165491} {"predicted_label":1,"probability":0.825382471084594} ...
Puede implementar el modelo en un SageMaker punto final denominadoyour_endpoint
. El siguiente ejemplo de configuración de análisis indica al trabajo de procesamiento SageMaker de Clarify que calcule todas las métricas de sesgo posibles tanto para el conjunto de datos como para el modelo. En el ejemplo, los parámetros content_type
y accept_type
no están definidos. Por lo tanto, utilizan automáticamente el valor del parámetro dataset_type, que es application/jsonlines
. El trabajo SageMaker de procesamiento de Clarify usa el content_template
parámetro para componer la entrada del modelo, reemplazando el $features
marcador de posición por una matriz de características.
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features
}", "label": "predicted_label
" } }
Calcule los valores SHAP
Como el SHAP análisis no necesita una etiqueta de verdad fundamental, se omite el label
parámetro. En este ejemplo, también se omite el parámetro headers
. Por lo tanto, el SageMaker trabajo de procesamiento de Clarify debe generar marcadores de posición utilizando nombres genéricos, como column_0
o column_1
para encabezados de entidades, y label0
para un encabezado de etiqueta. Puede especificar valores para headers
y para label
a fin de mejorar la legibilidad del resultado del análisis. Como el parámetro de probabilidad está establecido en JMESPath expresiónprobability
, el valor de probabilidad se extraerá de la salida del modelo. A continuación se muestra un ejemplo para calcular SHAP valores.
{ "dataset_type": "
application/jsonlines
", "features": "Features
", "methods": { "shap": { "num_clusters
": 1 } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
Calcule las gráficas de dependencia parcial () PDPs
El siguiente ejemplo muestra cómo ver la importancia de los «ingresos» enPDP. En este ejemplo, no se proporcionan los encabezados de las características. Por lo tanto, el parámetro features
del método pdp
debe utilizar un índice de base cero para hacer referencia a la ubicación de la columna de características. El parámetro grid_resolution
divide el rango de valores de las características en 10
buckets. En conjunto, los parámetros del ejemplo indican al trabajo de procesamiento SageMaker de Clarify que genere un informe que contenga un PDP gráfico Income
con 10
segmentos en el eje x. El eje y mostrará el impacto marginal de Income
en las predicciones.
{ "dataset_type": "
application/jsonlines
", "features": "Features
", "methods": { "pdp": { "features": [2
], "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
Cálculo de las métricas de sesgo y de la importancia de las características
Puede combinar todos los métodos anteriores en un único archivo de configuración de análisis y calcularlos todos en un solo trabajo. El siguiente ejemplo muestra una configuración de análisis con todos los pasos combinados. En el ejemplo, el parámetro probability
está definido. Dado que el análisis del sesgo necesita una etiqueta predicha, el parámetro probability_threshold
se establece en 0.5
para convertir la puntuación de probabilidad en una etiqueta binaria. En este ejemplo, el parámetro top_k_features
del método pdp
se establece en 2
. Esto indica al trabajo de procesamiento SageMaker de Clarify que calcule PDPs las 2
entidades principales con los valores globales más altos. SHAP
{ "dataset_type": "
application/jsonlines
", "headers": ["Age","Gender","Income","Occupation","Target"
], "label": "Label
", "features": "Features
", "probability_threshold":0.5
, "label_values_or_threshold": [1
], "facet": [ { "name_or_index": "Gender
", "value_or_threshold": [0
] } ], "methods": { "pre_training_bias": { "methods": "all
" }, "post_training_bias": { "methods": "all
" }, "shap": { "num_clusters":1
}, "pdp": { "top_k_features":2
, "grid_resolution":10
}, "report": { "name": "report
" } }, "predictor": { "endpoint_name": "your_endpoint
", "content_template": "{\"Features\":$features}
", "probability": "probability
" } }
Los siguientes ejemplos muestran cómo configurar el análisis de sesgo y explicabilidad para un conjunto de datos tabular en formato. JSON En estos ejemplos, el conjunto de datos entrante tiene los mismos datos que en la sección anterior, pero están en formato denso. SageMaker JSON Para obtener más información sobre JSON las líneas, consulteJSONLINESformato de solicitud.
Toda la solicitud de entrada es válida JSON cuando la estructura exterior es una lista y cada elemento son los datos de un registro. Dentro de cada registro, la clave Features
apunta a una matriz de valores de características, y la clave Label
apunta a la etiqueta de verdad fundamental. La entrada de dataset
procesamiento proporciona el conjunto de datos al trabajo de SageMaker Clarify.
[ {"Features":[25,0,2850,2],"Label":0}, {"Features":[36,0,6585,0],"Label":1}, {"Features":[22,1,1759,1],"Label":1}, {"Features":[48,0,3446,1],"Label":0}, ... ]
En las siguientes secciones, se muestra cómo calcular las métricas de sesgo, SHAP los valores y las gráficas de dependencia parcial (PDPs) antes y después del entrenamiento que muestran la importancia de las características de un conjunto de datos en formato JSON Lines.
Cálculo de las métricas de sesgo previas al entrenamiento
Especifique la etiqueta, las características, el formato y los métodos para medir las métricas de sesgo previas al entrenamiento con un valor Gender
de 0
. En el siguiente ejemplo, el parámetro headers
proporciona primero los nombres de las características. El nombre de la etiqueta se proporciona en último lugar. En el caso JSON de los conjuntos de datos, el último encabezado es el encabezado de la etiqueta.
El features
parámetro se establece en la JMESPath expresión que extrae una matriz o matriz 2D. Cada fila de esta matriz debe contener la lista de Features
para cada registro. El label
parámetro se establece en una JMESPath expresión que extrae una lista de etiquetas de verdad fundamental. Cada elemento de esta lista debe contener la etiqueta de un registro.
Utilice un nombre de faceta para especificar el atributo sensible, como se indica a continuación.
{ "dataset_type": "application/json", "headers": ["Age","Gender","Income","Occupation","Target"], "label": "[*].Label", "features": "[*].Features", "label_values_or_threshold": [1], "facet": [ { "name_or_index": "Gender", "value_or_threshold": [0] } ], "methods": { "pre_training_bias": { "methods": "all" } } }
Cálculo de todas las métricas de sesgo
Debe tener un modelo entrenado para calcular las métricas de sesgo posteriores al entrenamiento. El siguiente ejemplo de código proviene de un modelo de clasificación binaria que genera JSON datos en el formato del ejemplo. En el ejemplo, cada uno de los elementos en predictions
es el resultado de la predicción de un registro. El código de ejemplo contiene la clave predicted_label
, que apunta a la etiqueta predicha, y la clave probability
que apunta al valor de probabilidad.
{ "predictions": [ {"predicted_label":0,"probability":0.028986845165491}, {"predicted_label":1,"probability":0.825382471084594}, ... ] }
Puede implementar el modelo en un SageMaker punto final denominadoyour_endpoint
.
En el siguiente ejemplo, los parámetros content_type
y accept_type
no están configurados. Por lo tanto, content_type
y accept_type
utilizan automáticamente el valor del parámetro dataset_type
, que es application/json
. A continuación SageMaker , el trabajo de procesamiento de Clarify utiliza el content_template
parámetro para componer la entrada del modelo.
En el siguiente ejemplo, la entrada del modelo se compone a través de la sustitución del marcador de posición $records
por una matriz de registros. A continuación, el record_template
parámetro compone la JSON estructura de cada registro y reemplaza el $features
marcador de posición por la matriz de características de cada registro.
El siguiente ejemplo de configuración de análisis indica al trabajo de procesamiento de SageMaker Clarify que calcule todas las métricas de sesgo posibles tanto para el conjunto de datos como para el modelo.
{ "dataset_type": "application/json", "headers": ["Age","Gender","Income","Occupation","Target"], "label": "[*].Label", "features": "[*].Features", "label_values_or_threshold": [1], "facet": [ { "name_or_index": "Gender", "value_or_threshold": [0] } ], "methods": { "pre_training_bias": { "methods": "all" }, "post_training_bias": { "methods": "all" } }, "predictor": { "endpoint_name": "your_endpoint", "content_template": "$records", "record_template": "{\"Features\":$features}", "label": "predictions[*].predicted_label" } }
Calcule los valores SHAP
No es necesario especificar una etiqueta para el SHAP análisis. En el siguiente ejemplo, el parámetro headers
no está configurado. Por lo tanto, el trabajo SageMaker de procesamiento de Clarify generará marcadores de posición con nombres genéricos, como column_0
o column_1
para los encabezados de las funciones, y label0
para el encabezado de una etiqueta. Puede especificar valores para headers
y para label
a fin de mejorar la legibilidad del resultado del análisis.
En el siguiente ejemplo de configuración, el parámetro de probabilidad se establece en una JMESPath expresión que extrae las probabilidades de cada predicción para cada registro. El siguiente es un ejemplo para calcular SHAP valores.
{ "dataset_type": "application/json", "features": "[*].Features", "methods": { "shap": { "num_clusters": 1 } }, "predictor": { "endpoint_name": "your_endpoint", "content_template": "$records", "record_template": "{\"Features\":$features}", "probability": "predictions[*].probability" } }
Calcule las gráficas de dependencia parcial (PDPs)
El siguiente ejemplo muestra cómo ver la importancia de una característica enPDPs. En el ejemplo, no se proporcionan los encabezados de las características. Por lo tanto, el parámetro features
del método pdp
debe utilizar un índice de base cero para hacer referencia a la ubicación de la columna de características. El parámetro grid_resolution
divide el rango de valores de las características en 10
buckets.
En conjunto, los parámetros del siguiente ejemplo indican al trabajo de procesamiento SageMaker de Clarify que genere un informe que contenga un PDP gráfico Income
con 10
segmentos en el eje x. El eje y muestra el impacto marginal de Income
en las predicciones.
El siguiente ejemplo de configuración muestra cómo ver la importancia de Income
encendido. PDPs
{ "dataset_type": "application/json", "features": "[*].Features", "methods": { "pdp": { "features": [2], "grid_resolution": 10 }, "report": { "name": "report" } }, "predictor": { "endpoint_name": "your_endpoint", "content_template": "$records", "record_template": "{\"Features\":$features}", "probability": "predictions[*].probability" } }
Cálculo de las métricas de sesgo y de la importancia de las características
Puede combinar todos los métodos de configuración anteriores en un único archivo de configuración de análisis y calcularlos todos en un solo trabajo. El siguiente ejemplo muestra una configuración de análisis con todos los pasos combinados.
En el ejemplo, el parámetro probability
está definido. Como el análisis del sesgo necesita una etiqueta predicha, el parámetro probability_threshold
se establece en 0.5
para convertir la puntuación de probabilidad en una etiqueta binaria. En este ejemplo, el parámetro top_k_features
del método pdp
se establece en 2
. Esto indica al trabajo de SageMaker procesamiento de Clarify que calcule PDPs las 2
características principales con los SHAP valores globales más altos.
{ "dataset_type": "application/json", "headers": ["Age","Gender","Income","Occupation","Target"], "label": "[*].Label", "features": "[*].Features", "probability_threshold": 0.5, "label_values_or_threshold": [1], "facet": [ { "name_or_index": "Gender", "value_or_threshold": [0] } ], "methods": { "pre_training_bias": { "methods": "all" }, "post_training_bias": { "methods": "all" }, "shap": { "num_clusters": 1 }, "pdp": { "top_k_features": 2, "grid_resolution": 10 }, "report": { "name": "report" } }, "predictor": { "endpoint_name": "your_endpoint", "content_template": "$records", "record_template": "{\"Features\":$features}", "probability": "predictions[*].probability" } }
El siguiente ejemplo muestra un archivo de configuración de análisis para calcular la importancia de las funciones en el procesamiento del lenguaje natural (NLP). En este ejemplo, el conjunto de datos entrante es un conjunto de datos tabular en CSV formato tabular, con una columna de etiqueta binaria y dos columnas de entidades, como se indica a continuación. El parámetro de entrada de dataset
procesamiento proporciona el conjunto de datos al trabajo de SageMaker Clarify.
0,2,"They taste gross" 1,3,"Flavor needs work" 1,5,"Taste is awful" 0,1,"The worst" ...
En este ejemplo, se entrenó un modelo de clasificación binaria en el conjunto de datos anterior. El modelo acepta CSV datos y genera una puntuación única entre 0
y1
, de la siguiente manera.
0.491656005382537 0.569582343101501 ...
El modelo se utiliza para crear un SageMaker modelo denominado «your_model». La siguiente configuración de análisis muestra cómo ejecutar un análisis de explicabilidad simbólica utilizando el modelo y el conjunto de datos. El text_config
parámetro activa el análisis de NLP explicabilidad. El parámetro granularity
indica que el análisis debe analizar los tokens.
En inglés, cada token es una palabra. El siguiente ejemplo también muestra cómo proporcionar una instancia SHAP «de referencia» in situ utilizando una «valoración» media de 4. Se utiliza un símbolo de máscara especial «[MASK]» para reemplazar un símbolo (palabra) en «Comentarios». En este ejemplo también se utiliza un tipo de instancia de GPU punto final para acelerar la inferencia.
{ "dataset_type": "
text/csv
", "headers": ["Target","Rating","Comments"
] "label": "Target
", "methods": { "shap": { "text_config": { "granularity": "token
", "language": "english
" } "baseline": [[4,"[MASK]"
]], } }, "predictor": { "model_name": "your_nlp_model
", "initial_instance_count":1
, "instance_type": "ml.g4dn.xlarge
" } }
El siguiente ejemplo muestra un archivo de configuración de análisis que calcula la importancia de las características para la visión artificial. En este ejemplo, el conjunto de datos de entrada consta de JPEG imágenes. El parámetro de entrada de dataset
procesamiento proporciona el SageMaker conjunto de datos al trabajo de Clarify. El ejemplo muestra cómo configurar un análisis de explicabilidad mediante un modelo de clasificación de SageMaker imágenes. En el ejemplo, un modelo denominadoyour_cv_ic_model
, ha sido entrenado para clasificar los animales en las imágenes de entradaJPEG.
{ "dataset_type": "
application/x-image
", "methods": { "shap": { "image_config": { "model_type": "IMAGE_CLASSIFICATION
", "num_segments":20
, "segment_compactness":10
} }, "report": { "name": "report
" } }, "predictor": { "model_name": "your_cv_ic_model
", "initial_instance_count":1
, "instance_type": "ml.p2.xlarge
", "label_headers": ["bird","cat","dog"
] } }
Para obtener más información sobre la clasificación de imágenes, consulteClasificación de imágenes - MXNet.
En este ejemplo, un modelo de detección de SageMaker objetos your_cv_od_model
se basa en las mismas JPEG imágenes para identificar los animales que aparecen en ellas. En el siguiente ejemplo se muestra cómo configurar un análisis de explicabilidad para el modelo de detección de objetos.
{ "dataset_type": "
application/x-image
", "probability_threshold":0.5
, "methods": { "shap
": { "image_config": { "model_type": "OBJECT_DETECTION
", "max_objects":3
, "context":1.0
, "iou_threshold":0.5
, "num_segments":20
, "segment_compactness":10
} }, "report": { "name": "report
" } }, "predictor": { "model_name": "your_cv_od_model
", "initial_instance_count":1
, "instance_type": "ml.p2.xlarge
", "label_headers": ["bird","cat","dog"
] } }
El siguiente ejemplo muestra un archivo de configuración de análisis para calcular la importancia de las características en una serie temporal (TS). En este ejemplo, el conjunto de datos entrante es un conjunto de datos de series temporales en JSON formato con un conjunto de características covariables dinámicas y estáticas. El parámetro de entrada de procesamiento del conjunto de datos proporciona SageMaker el conjunto de datos al trabajo de Clarify. dataset_uri
[ { "item_id": "item1", "timestamp": "2019-09-11", "target_value": 47650.3, "dynamic_feature_1": 0.4576, "dynamic_feature_2": 0.2164, "dynamic_feature_3": 0.1906, "static_feature_1": 3, "static_feature_2": 4 }, { "item_id": "item1", "timestamp": "2019-09-12", "target_value": 47380.3, "dynamic_feature_1": 0.4839, "dynamic_feature_2": 0.2274, "dynamic_feature_3": 0.1889, "static_feature_1": 3, "static_feature_2": 4 }, { "item_id": "item2", "timestamp": "2020-04-23", "target_value": 35601.4, "dynamic_feature_1": 0.5264, "dynamic_feature_2": 0.3838, "dynamic_feature_3": 0.4604, "static_feature_1": 1, "static_feature_2": 2 }, ]
En las siguientes secciones, se explica cómo calcular las atribuciones de características para un modelo de pronóstico con el algoritmo de valores asimétricos de Shapley para un conjunto de datos. JSON
Calcule las explicaciones de los modelos de previsión de series temporales
El siguiente ejemplo de configuración de análisis muestra las opciones utilizadas por el trabajo para calcular las explicaciones de los modelos de previsión de series temporales.
{ 'dataset_type': 'application/json', 'dataset_uri': 'DATASET_URI', 'methods': { 'asymmetric_shapley_value': { 'baseline': { "related_time_series": "zero", "static_covariates": { "item1": [0, 0], "item2": [0, 0] }, "target_time_series": "zero" }, 'direction': 'chronological', 'granularity': 'fine_grained', 'num_samples': 10 }, 'report': {'name': 'report', 'title': 'Analysis Report'} }, 'predictor': { 'accept_type': 'application/json', 'content_template': '{"instances": $records}', 'endpoint_name': 'ENDPOINT_NAME', 'content_type': 'application/json', 'record_template': '{ "start": $start_time, "target": $target_time_series, "dynamic_feat": $related_time_series, "cat": $static_covariates }', 'time_series_predictor_config': {'forecast': 'predictions[*].mean[:2]'} }, 'time_series_data_config': { 'dataset_format': 'timestamp_records', 'item_id': '[].item_id', 'related_time_series': ['[].dynamic_feature_1', '[].dynamic_feature_2', '[].dynamic_feature_3'], 'static_covariates': ['[].static_feature_1', '[].static_feature_2'], 'target_time_series': '[].target_value', 'timestamp': '[].timestamp' } }
Configuración de explicabilidad de series temporales
asymmetric_shapley_value
En el ejemplo anterior se utilizan methods
para definir los argumentos de explicabilidad de las series temporales, como la línea base, la dirección, la granularidad y el número de muestras. Los valores de referencia se establecen para los tres tipos de datos: series temporales relacionadas, covariables estáticas y series temporales objetivo. Estos campos indican al procesador SageMaker Clarify que calcule las atribuciones de características de un elemento a la vez.
Configuración del predictor
Puede controlar completamente la estructura de carga útil que envía el procesador SageMaker Clarify mediante la sintaxis. JMESPath En el ejemplo anterior, la predictor
configuración indica a Clarify que agregue los registros'{"instances": $records}'
, donde cada registro se define con los argumentos dados record_template
en el ejemplo. Tenga en cuenta que$start_time
, $target_time_series
$related_time_series
, y $static_covariates
son símbolos internos que se utilizan para asignar los valores del conjunto de datos a los valores de las solicitudes de punto final.
Del mismo modo, el atributo forecast
in time_series_predictor_config
se utiliza para extraer la previsión del modelo a partir de la respuesta del punto final. Por ejemplo, la respuesta del lote de puntos finales podría ser la siguiente:
{ "predictions": [ {"mean": [13.4, 3.6, 1.0]}, {"mean": [23.0, 4.7, 3.0]}, {"mean": [3.4, 5.6, 2.0]} ] }
Supongamos que especifica la siguiente configuración de predictores de series temporales:
'time_series_predictor_config': {'forecast': 'predictions[*].mean[:2]'}
El valor de la previsión se analiza de la siguiente manera:
[ [13.4, 3.6], [23.0, 4.7], [3.4, 5.6] ]
Configuración de datos
Utilice el time_series_data_config
atributo para indicar al procesador SageMaker Clarify que analice los datos correctamente a partir de los datos transmitidos como entrada S3. URI dataset_uri