As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O monitor de SageMaker explicabilidade Amazon Clarify reutiliza um subconjunto dos parâmetros usados na configuração de análise do. Arquivos de configuração de análise Os parâmetros a seguir devem ser fornecidos em um arquivo JSON e o caminho deve ser fornecido no parâmetro ConfigUri
de ModelExplainabilityAppSpecification
.
-
"version"
: (Opcional) Versão do esquema do arquivo de configuração. Se não for fornecida, a versão compatível mais recente será usada. -
"headers"
: (Opcional) Uma lista de nomes de atributos no conjunto de dados. A análise de explicabilidade não exige rótulos. -
"methods"
: Uma lista de métodos e seus parâmetros para as análises e relatórios. Se alguma seção for omitida, ela não será computada.-
"shap"
: (Opcional) Seção sobre o cálculo do valor SHAP.-
"baseline"
: (Opcional) Uma lista de linhas (pelo menos uma) ou um URI de objeto do Amazon Simple Storage Service Amazon S3. Para ser usado como conjunto de dados de linha de base (também conhecido como conjunto de dados em segundo plano) no algoritmo SHAP do Kernel. O formato deve ser igual ao formato do conjunto de dados. Cada linha deve conter somente as colunas (ou valores) dos atributos. Antes de enviar cada linha para o modelo, omita qualquer coluna que deva ser excluída. -
"num_samples"
: Número de amostras a serem usadas no algoritmo SHAP do Kernel. Esse número determina o tamanho do conjunto de dados sintético gerado para calcular os valores SHAP. Se não for fornecido, um trabalho do SageMaker Clarify escolherá o valor com base em uma contagem de recursos. -
"agg_method"
: Método de agregação para valores globais de SHAP. Os valores válidos são os seguintes:-
"mean_abs"
: Média dos valores SHAP absolutos para todas as instâncias. -
"median"
: Média dos valores SHAP para todas as instâncias. -
"mean_sq"
: Média dos valores SHAP quadráticos para todas as instâncias.
-
-
"use_logit"
: (Opcional) Valor boleano para indicar se a função logit deve ser aplicada às predições de modelo. Se o"use_logit"
for
, então os valores SHAP têm unidades logarítmicas de probabilidades. O valor padrão étrue
false
. -
"save_local_shap_values"
: (Opcional) Valor boleano para indicar se os valores SHAP locais devem ser salvos no local de saída. Usetrue
para salvá-los. Usefalse
para não salvá-los. O padrão éfalse
.
-
-
-
"predictor"
: (Opcional para endpoint em tempo real, necessária para transformação de lotes) Seção sobre parâmetros do modelo, necessária se as seções"shap"
e"post_training_bias"
estiverem presentes.-
"model_name"
: Nome do modelo criado pelaCreateModel
API, com o modo de contêiner comoSingleModel
. -
"instance_type"
: Tipo de instância para o endpoint de sombra. -
"initial_instance_count"
: Contagem de instância para o endpoint de sombra. -
"content_type"
: (Opcional) O formato de entrada do modelo a ser usado para obter inferências com o endpoint de sombra. Os valores válidos são"text/csv"
para CSV,"application/jsonlines"
para linhas JSON,application/x-parquet
para Apache Parquet eapplication/x-image
para permitir a explicabilidade do Computer Vision. O valor padrão é o mesmo do formatodataset_type
. -
"accept_type"
: (Opcional) O formato de saída do modelo a ser usado para obter inferências com o endpoint de sombra. Os valores válidos são"text/csv"
para CSV,"application/jsonlines"
para linhas JSON. Se omitido, o SageMaker Clarify usa o tipo de dados de resposta dos dados capturados. -
"content_template"
: (Opcional) Uma string de modelo usada para construir a entrada do modelo a partir de instâncias do conjunto de dados. Usado apenas quando o"content_type"
for"application/jsonlines"
. O modelo deve ter apenas um espaço reservado,$features
, que é substituído pela lista de atributos em runtime. Por exemplo, em um dado"content_template":"{\"myfeatures\":$features}"
, se uma instância (sem rótulo) for1,2,3
, a entrada do modelo se tornará linhas JSON'{"myfeatures":[1,2,3]}'
. -
"label_headers"
: (Opcional) Uma lista de valores que o"label"
assumem no conjunto de dados. Associa as pontuações retornadas pelo endpoint do modelo ou pelo trabalho de transformação de lotes aos valores de rótulo correspondentes. Se for fornecido, o relatório de análise usará os cabeçalhos em vez de espaços reservados, como“label0”
.
-
Os outros parâmetros devem ser fornecidos em EndpointInput
(para endpoints em tempo real) ou BatchTransformInput
(para trabalhos de transformação de lotes) da API de ModelExplainabilityJobInput
.
-
FeaturesAttribute
: Esse parâmetro é obrigatório se o formato de dados de entrada do endpoint ou do trabalho em lotes for"application/jsonlines"
. Ele é JMESPath usado para localizar as colunas de recursos se o formato do conjunto de dados for JSON Lines. -
ProbabilityAttribute
— Índice ou JMESPath localização na saída do modelo para probabilidades. Se a saída do modelo for linhas JSON com uma lista de rótulos e probabilidades, por exemplo, o rótulo que corresponde à probabilidade máxima será selecionado para cálculos de desvio.
Exemplos de arquivos de configuração JSON para conjuntos de dados CSV e linhas JSON
Veja alguns exemplos dos arquivos JSON usados para configurar conjuntos de dados CSV e linhas JSON para monitorá-los quanto ao desvio de atribuição de atributos.
Conjuntos de dados de CSV
Considere um conjunto de dados que tenha três colunas de atributos numéricos, como no exemplo a seguir.
0.5814568701544718, 0.6651538910132964, 0.3138080342665499
0.6711642728531724, 0.7466687034026017, 0.1215477472819713
0.0453256543003371, 0.6377430803264152, 0.3558625219713576
0.4785191813363956, 0.0265841045263860, 0.0376935084990697
Suponha que a saída do modelo tenha duas colunas, onde a primeira é o rótulo previsto e a segunda é a probabilidade, como no exemplo a seguir.
1, 0.5385257417814224
O arquivo de exemplo de configuração JSON a seguir mostra como esse conjunto de dados CSV pode ser configurado.
{
"headers": [
"feature_1",
"feature_2",
"feature_3"
],
"methods": {
"shap": {
"baseline": [
[0.4441164946610942, 0.5190374448171748, 0.20722795300473712]
],
"num_samples": 100,
"agg_method": "mean_abs"
}
},
"predictor": {
"model_name": "my_model",
"instance_type": "ml.m5.xlarge",
"initial_instance_count": 1
}
}
O rótulo previsto é selecionado pelo parâmetro "ProbabilityAttribute"
. A numeração baseada em zero é usada, então 1 indica a segunda coluna da saída do modelo.
"EndpointInput": {
...
"ProbabilityAttribute": 1
...
}
Conjuntos de dados de linhas JSON
Considere um conjunto de dados que tenha quatro colunas de atributos e uma coluna de rótulo, em que o primeiro atributo e o rótulo sejam binários, como no exemplo a seguir.
{"features":[0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499], "label":0}
{"features":[1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713], "label":1}
{"features":[0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576], "label":1}
{"features":[1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697], "label":1}
A entrada do modelo é igual ao formato do conjunto de dados, e a saída do modelo são linhas JSON, como no exemplo a seguir.
{"predicted_label":1, "probability":0.5385257417814224}
No exemplo a seguir, o arquivo de configuração JSON mostra como esse conjunto de dados de linhas JSON pode ser configurado.
{
"headers": [
"feature_1",
"feature_2",
"feature_3"
],
"methods": {
"shap": {
"baseline": [
{"features":[0.4441164946610942, 0.5190374448171748, 0.20722795300473712]}
],
"num_samples": 100,
"agg_method": "mean_abs"
}
},
"predictor": {
"model_name": "my_model",
"instance_type": "ml.m5.xlarge",
"initial_instance_count": 1,
"content_template":"{\"features\":$features}"
}
}
Então, o valor do parâmetro "features"
em EndpointInput
(para endpoints em tempo real) ou BatchTransformInput
(para trabalhos de transformação de lotes) é usado para localizar os atributos no conjunto de dados, e o valor do parâmetro "probability"
seleciona o valor de probabilidade na saída do modelo.
"EndpointInput": {
...
"FeaturesAttribute": "features",
"ProbabilityAttribute": "probability",
...
}