Ir para conteúdo principal Pular para conteúdo complementar

Gerando conjuntos de dados SHAP durante previsões

Conjuntos de dados da importância de SHAP podem ser gerados quando você executa uma previsão. Você pode usar os cálculos SHAP nesses conjuntos de dados para entender quais recursos são os contribuintes mais importantes para os valores previstos.

Os conjuntos de dados SHAP contêm os cálculos SHAP em nível de linha para os recursos usados para treinar o modelo. Esses valores representam o quanto cada recurso contribui para o valor previsto do alvo, dados todos os outros recursos daquela linha.

Por exemplo, a importância do SHAP pode nos dizer se um recurso torna um cliente mais ou menos propenso a se desligar e quão fortemente isso influencia esse resultado.

Depois de executar sua previsão e gerar os conjuntos de dados, você pode carregar os valores SHAP em um aplicativo Qlik Sense e visualizá-los junto com os valores previstos. Para obter mais detalhes, consulte Visualizando valores SHAP em aplicativos Qlik Sense e Usando valores SHAP em aplicativos do mundo real

Este tópico de ajuda concentra-se na geração de conjuntos de dados SHAP durante previsões por implementações de ML. Para obter informações sobre os gráficos de importância de SHAP mostrados durante o treinamento experimental, consulte Entendendo a importância de SHAP no treinamento de experimento.

Opções disponíveis para gerar conjuntos de dados SHAP

Ao configurar uma previsão, você pode optar por gerar conjuntos de dados SHAP em dois formatos diferentes. Ambas as opções fornecem as mesmas informações, mas são estruturadas de maneiras diferentes.

SHAP

Este é um conjunto de dados no qual os valores SHAP são separados em uma coluna para cada recurso. Esta opção não está disponível para modelos de classificação multiclasse.

Coordenar SHAP

Este é um conjunto de dados no qual todos os valores SHAP são estruturados para estarem contidos em apenas duas colunas: uma coluna de 'recurso' e uma coluna de 'valor'. Esta opção está disponível para todos os tipos de modelo.

Os conjuntos de dados de modelos multiclasse funcionam de maneira um pouco diferente em comparação aos conjuntos de dados de modelos binários. Para cada registro a ser previsto, uma nova linha é criada com o valor SHAP para cada classe possível disponível para previsão pelo modelo. No conjunto de dados, uma coluna adicional também é criada para identificar a classe que o valor de SHAP representa.

Ao carregar previsões e valores SHAP em um aplicativo Qlik Sense e criar um modelo de dados, conjuntos de dados SHAP coordenados podem ser mais fáceis de trabalhar do que conjuntos de dados SHAP.

Exemplos

As tabelas a seguir contêm amostras de conjuntos de dados SHAP e coordenadas SHAP, que foram gerados a partir de um modelo de regressão treinado em cinco recursos. As amostras contêm valores de SHAP para dois registros do conjunto de dados de aplicação (correspondentes a dois IDs de conta).

Esses exemplos destacam a diferença entre como os dados são estruturados.

SHAP dataset sample
AccountID AdditionalFeatureSpend_SHAP Churned_SHAP CurrentPeriodUsage_SHAP HasRenewed_SHAP NumberOfPenalties_SHAP
aa16889 1.76830971241 -0.58154511451721 -1.106874704361 -0.36080026626587 3.6597540378571
aa33396 0.80359643697739 -0.64805734157562 0.076582334935665 0.38967734575272 -0.31007811427116
Coordinate SHAP dataset sample
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend1.76830971241
aa16889Churned-0.58154511451721
aa16889CurrentPeriodUsage-1.106874704361
aa16889HasRenewed-0.36080026626587
aa16889NumberOfPenalties3.6597540378571
aa33396AdditionalFeatureSpend0.80359643697739
aa33396Churned-0.64805734157562
aa33396CurrentPeriodUsage0.076582334935665
aa33396HasRenewed0.38967734575272
aa33396NumberOfPenalties-0.31007811427116

Interpretando valores de previsão SHAP

Ao contrário dos valores no gráfico Importância de SHAP mostrado durante o treinamento experimental, os conjuntos de dados SHAP contêm cálculos SHAP em nível de linha que possuem direcionalidade. Em outras palavras, não são valores absolutos, mas podem ser positivos ou negativos. Ao visualizar os valores em um aplicativo, você pode optar por agregá-los como valores absolutos, dependendo do seu caso de uso.

O valor de SHAP de um registro deve ser analisado em relação ao valor previsto correspondente para esse registro. Dependendo do tipo de modelo (classificação binária, classificação multiclasse ou regressão), a direcionalidade dos valores de SHAP deve ser interpretada de forma ligeiramente diferente.

Modelos de classificação

Com modelos de classificação binária, grandes valores positivos de SHAP indicam maior influência em relação a um dos dois resultados possíveis, e valores altamente negativos indicam maior influência em relação ao outro resultado. Ao usar os dados em um aplicativo, a direcionalidade dos valores de SHAP pode não permitir a análise necessária. Para resolver isso, você pode inverter a direção dos valores de SHAP (por exemplo, multiplicar a coluna inteira por -1). Para obter mais informações sobre a verificação de direção SHAP, consulte Preparações.

Um conjunto de dados SHAP de um modelo multiclasse é estruturado de maneira diferente. Para cada registro a ser previsto, ele inclui uma linha separada para cada classe possível, juntamente com um valor de SHAP correspondente para essa classe. A classe é especificada em uma coluna 'Predicted_class'.

Em seu conjunto de dados SHAP de coordenadas, interprete os valores SHAP das previsões do modelo multiclasse da seguinte maneira:

  • Um valor SHAP positivo alto indica que o recurso está tendo maior influência para que o resultado seja o 'Predicted_class' especificado.

  • Um valor SHAP negativo alto indica que o recurso está tendo maior influência para que o resultado não seja o 'Predicted_class' especificado.

Exemplo

O exemplo a seguir demonstra a diferença na estrutura do conjunto de dados entre a saída do modelo de classificação binária e multiclasse.

Digamos que começamos com um conjunto de dados de aplicação que contém uma linha por ID de conta. Cada recurso no qual o modelo é treinado é representado como uma coluna separada.

Um único registro de ID de conta ficaria assim:

Single record from a dataset on which predictions will be generated
AccountIDAdditionalFeatureSpendBaseFeeCurrentPeriodUsageHasRenewedNumberOfPenalties
aa1688918 33.52210.1yes4

Se treinarmos um modelo de classificação binária para prever o resultado de um campo Churned, haverá dois resultados possíveis: ‘sim’ ou ‘não’. Com base no registro de ID de conta única acima, o conjunto de dados SHAP de coordenadas para este registro seria assim:

Sample from coordinate SHAP dataset for binary classification model prediction
AccountIDautoml_featureSHAP_value
aa16889AdditionalFeatureSpend-0.049129267835076
aa16889BaseFee-1.5363064624041
aa16889CurrentPeriodUsage0.10787960191299
aa16889HasRenewed1.2441783315923
aa16889NumberOfPenalties2.3803616183224

Na tabela acima, os valores de SHAP para um único ID de conta são exibidos e divididos por recurso. Uma nova linha é criada para cada recurso e cada recurso recebe um valor de SHAP. A direção e magnitude destes valores de SHAP devem ser avaliadas em relação aos dois resultados possíveis. Idealmente, quanto maior o valor de SHAP, maior será a influência que o recurso terá no resultado com uma interpretação positiva (neste caso, 'sim'). Se esta representação for invertida, você poderá inverter a direção dos valores de SHAP (multiplicá-los por -1) para tornar a análise mais facilmente interpretável.

Para comparação, digamos que treinamos um modelo de classificação multiclasse para prever um campo PlanType categórico (com quatro resultados possíveis - 'Blue Plan', 'Green Plan', 'Purple Plan' e 'Red Plan'). Com base no registro de ID de conta único na primeira tabela, o conjunto de dados SHAP de coordenadas para este registro seria assim:

Sample from coordinate SHAP dataset for multiclass classification model prediction
AccountIDautoml_featurePredicted_classSHAP_value
aa16889AdditionalFeatureSpendBlue Plan0.004155414339679
aa16889AdditionalFeatureSpendGreen Plan0.0066376343942741
aa16889AdditionalFeatureSpendPurple Plan-0.014411468558894
aa16889AdditionalFeatureSpendRed Plan0.003618419824941
aa16889BaseFeeBlue Plan0.089301017079318
aa16889BaseFeeGreen Plan0.28876498452748
aa16889BaseFeePurple Plan0.055689421438434
aa16889BaseFeeRed Plan-0.43375542304524
aa16889CurrentPeriodUsageBlue Plan-0.0040098954629816
aa16889CurrentPeriodUsageGreen Plan-0.27902537442842
aa16889CurrentPeriodUsagePurple Plan-0.21871561841248
aa16889CurrentPeriodUsageRed Plan0.50175088830388
aa16889HasRenewedBlue Plan-0.011878031228962
aa16889HasRenewedGreen Plan0.036835618725654
aa16889HasRenewedPurple Plan0.13798314881109
aa16889HasRenewedRed Plan-0.16294073630778
aa16889NumberOfPenaltiesBlue Plan0.20519095034486
aa16889NumberOfPenaltiesGreen Plan0.0015682625647107
aa16889NumberOfPenaltiesPurple Plan-0.084355421853302
aa16889NumberOfPenaltiesRed Plan-0.12240379105627

Na tabela acima, um único ID de conta é representado com 20 linhas separadas: uma linha para cada recurso, com uma linha para o valor SHAP correspondente a cada resultado possível no destino. A coluna Predicted_class representa o resultado possível (classe) a ser previsto, não necessariamente o resultado previsto real exibido no conjunto de dados de previsão. Em última análise, a classe com o valor de SHAP mais alto torna-se o valor previsto para o registro.

Os valores SHAP nesta tabela são medidas da influência que o recurso especificado (automl_feature) está tendo no resultado, possivelmente sendo a classe especificada (Predicted_class). Um valor positivo grande indica que o recurso está influenciando fortemente o resultado previsto para ser a classe especificada, enquanto um valor negativo grande indica que o recurso está influenciando fortemente o resultado previsto para não ser a classe especificada.

Modelos de regressão

Em um conjunto de dados SHAP gerado a partir de um modelo de regressão, a direção dos valores de SHAP é mais simples de interpretar.

  • Um valor de SHAP positivo corresponde a um aumento no valor previsto para a linha.

  • Um valor SHAP negativo corresponde a uma diminuição no valor previsto para a linha.

Cálculo dos valores SHAP

Os valores SHAP são calculados para uma variedade de algoritmos. A SHAP importance é calculada usando dois métodos distintos.

  • SHAP em árvore: Um método rápido e exato para estimar valores SHAP para modelos de árvores

  • SHAP linear: Um método para calcular valores SHAP para modelos lineares

Algoritmos disponíveis por tipos de modelo e método de cálculo SHAP
AlgoritmoTipos de modelo compatíveisMétodo de cálculo SHAP
Classificação por floresta aleatória Classificação binária, classificação multiclasseSHAP em árvore
Classificação XGBoostClassificação binária, classificação multiclasseSHAP em árvore
Classificação do LightGBMClassificação binária, classificação multiclasseSHAP em árvore
Classificação CatboostClassificação binária, classificação multiclasseSHAP em árvore
Regressão logísticaClassificação binária, classificação multiclasseSHAP linear
Regressão lassoClassificação binária, classificação multiclasseSHAP linear
Regressão de rede elásticaClassificação binária, classificação multiclasseSHAP linear
Gaussiano Naive BayesClassificação binária, classificação multiclasseSHAP não calculado
Regressão CatboostRegressãoSHAP em árvore
Regressão do LightGBMRegressãoSHAP em árvore
Regressão linearRegressãoSHAP linear
Regressão por floresta aleatóriaRegressãoSHAP em árvore
Regressão SGDRegressãoSHAP linear
Regressão XGBoostRegressãoSHAP em árvore

Saiba mais

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!