SageMaker Relatório interativo do depurador para XGBoost - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

SageMaker Relatório interativo do depurador para XGBoost

Receba relatórios de treinamento gerados automaticamente pelo Debugger. Os relatórios do Debugger fornecem informações sobre seus trabalhos de treinamento e sugerem recomendações para melhorar o desempenho do seu modelo.

nota

Você pode baixar os relatórios do Debugger enquanto seu trabalho de treinamento está em execução ou após a conclusão do trabalho. Durante o treinamento, o Debugger atualiza simultaneamente o relatório, refletindo o status de avaliação das regras atuais. Você só pode baixar um relatório completo do Debugger após a conclusão do trabalho de treinamento.

Importante

No relatório, os gráficos e as recomendações são fornecidos para fins informativos e não são definitivos. Você é responsável por fazer sua própria avaliação independente das informações.

SageMaker Relatório de treinamento do Debugger XGBoost

Para trabalhos de treinamento do SageMaker XGBoost, use a CreateXgboostReport regra Debugger para receber um relatório de treinamento abrangente sobre o progresso e os resultados do treinamento. Seguindo este guia, especifique a CreateXgboostReport regra ao criar um estimador XGBoost, baixe o relatório usando o Amazon Python SageMaker SDK ou o console Amazon S3 e obtenha informações sobre os resultados do treinamento.

Importante

No relatório, os gráficos e as recomendações são fornecidos para fins informativos e não são definitivos. Você é responsável por fazer sua própria avaliação independente das informações.

Construa um estimador SageMaker XGBoost com a regra de relatório do Debugger XGBoost

A regra CreateXgboostReport coleta os seguintes tensores de saída do seu trabalho de treinamento:

  • hyperparameters— Salva na primeira etapa.

  • metrics— Economiza perdas e precisão a cada 5 etapas.

  • feature_importance— Salva a cada 5 etapas.

  • predictions— Salva a cada 5 etapas.

  • labels— Salva a cada 5 etapas.

Os tensores de saída são salvos em um bucket S3 padrão. Por exemplo, s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/debug-output/.

Ao criar um SageMaker estimador para um trabalho de treinamento do XGBoost, especifique a regra conforme mostrado no código de exemplo a seguir.

Using the SageMaker generic estimator
import boto3 import sagemaker from sagemaker.estimator import Estimator from sagemaker import image_uris from sagemaker.debugger import Rule, rule_configs rules=[ Rule.sagemaker(rule_configs.create_xgboost_report()) ] region = boto3.Session().region_name xgboost_container=sagemaker.image_uris.retrieve("xgboost", region, "1.2-1") estimator=Estimator( role=sagemaker.get_execution_role() image_uri=xgboost_container, base_job_name="debugger-xgboost-report-demo", instance_count=1, instance_type="ml.m5.2xlarge", # Add the Debugger XGBoost report rule rules=rules ) estimator.fit(wait=False)

Baixar Relatório de treinamento do Debugger XGBoost

Baixe o relatório de treinamento do Debugger XGBoost enquanto seu trabalho de treinamento está em execução ou após a conclusão do trabalho usando o SDK e (CLI) do Amazon Python SageMaker . AWS Command Line Interface

Download using the SageMaker Python SDK and AWS CLI
  1. Verifique o URI base de saída S3 padrão do trabalho atual.

    estimator.output_path
  2. Verifique o nome do trabalho atual.

    estimator.latest_training_job.job_name
  3. O relatório do Debugger XGBoost é armazenado em. <default-s3-output-base-uri>/<training-job-name>/rule-output Configure o caminho de saída da regra da seguinte forma:

    rule_output_path = estimator.output_path + "/" + estimator.latest_training_job.job_name + "/rule-output"
  4. Para verificar se o relatório foi gerado, liste os diretórios e arquivos recursivamente em rule_output_path usando aws s3 ls com a opção --recursive.

    ! aws s3 ls {rule_output_path} --recursive

    Isso deve retornar uma lista completa de arquivos em pastas geradas automaticamente denominadas CreateXgboostReport e ProfilerReport-1234567890. O relatório de treinamento do XGBoost é armazenado em CreateXgboostReport e o relatório de criação de perfil é armazenado na pasta ProfilerReport-1234567890. Para saber mais sobre o relatório de criação de perfil gerado por padrão com o trabalho de treinamento do XGBoost, consulte SageMaker Relatório de criação de perfil do depurador.

    Veja abaixo um exemplo de saída de regra.

    O xgboost_report.html é um relatório de treinamento do XGBoost gerado automaticamente pelo Debugger. O xgboost_report.ipynb é um bloco de anotações Jupyter usado para agregar resultados de treinamento ao relatório. Você pode baixar todos os arquivos, navegar pelo arquivo de relatório HTML e modificar o relatório usando o bloco de anotações.

  5. Baixe os arquivos recursivamente usando aws s3 cp. O comando a seguir salva todos os arquivos de saída da regra na pasta ProfilerReport-1234567890 sob o diretório de trabalho atual.

    ! aws s3 cp {rule_output_path} ./ --recursive
    dica

    Se você estiver usando um servidor do bloco de anotações Jupyter, execute !pwd para verificar o diretório de trabalho atual.

  6. Abaixo do diretório/CreateXgboostReport, abra xgboost_report.html. Se você estiver usando JupyterLab, escolha Trust HTML para ver o relatório de treinamento do Debugger gerado automaticamente.

    Veja abaixo um exemplo de saída de regra.
  7. Abra o arquivo xgboost_report.ipynb para explorar como o relatório é gerado. Você pode personalizar e estender o relatório de treinamento usando o arquivo do bloco de anotações Jupyter.

Download using the Amazon S3 console
  1. Faça login no AWS Management Console e abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Procure o bucket base do S3. Por exemplo, se você não especificou o nome de trabalho básico, o nome básico do bucket do S3 deve estar no seguinte formato:sagemaker-<region>-111122223333. Procure o bucket S3 básico por meio do campo Localizar bucket pelo nome.

    O campo Localizar bucket pelo nome no console do Amazon S3.
  3. No bucket básico do S3, procure o nome do trabalho de treinamento inserindo o prefixo do nome do trabalho em Localizar objetos por prefixo e, em seguida, escolhendo o nome do trabalho de treinamento.

    O campo Localizar objetos por prefixo no console do Amazon S3.
  4. No bucket S3 do trabalho de treinamento, escolha a subpasta rule-output/. Deve haver três subpastas para os dados de treinamento coletados pelo Debugger: debug-output/, profiler-output/ e rule-output/.

    Veja abaixo um exemplo de saída de regra para o URI do bucket do S3.
  5. Na pasta rule-output/, escolha a pasta Report/. CreateXgboost A pasta contém xbgoost_report.html (o relatório gerado automaticamente em html) e xbgoost_report.ipynb (um bloco de anotações Jupyter com scripts usados para gerar o relatório).

  6. Escolha o arquivo xbgoost_report.html, escolha Ações de download e, em seguida, escolha Baixar.

    Veja abaixo um exemplo de saída de regra para o URI do bucket do S3.
  7. Abra o arquivo xbgoost_report.html baixado em um navegador da web.

Passo a passo do relatório de treinamento do Debugger XGBoost

Esta seção orienta você no relatório de treinamento do Debugger XGBoost. O relatório é agregado automaticamente, dependendo da expressão regular do tensor de saída, reconhecendo que tipo de seu trabalho de treinamento está entre classificação binária, classificação multiclasse e regressão.

Importante

No relatório, os gráficos e as recomendações são fornecidos para fins informativos e não são definitivos. Você é responsável por fazer sua própria avaliação independente das informações.

Distribuição de rótulos verdadeiros do conjunto de dados

Esse histograma mostra a distribuição de classes rotuladas (para classificação) ou valores (para regressão) em seu conjunto de dados original. A distorção em seu conjunto de dados pode contribuir para imprecisões. Essa visualização está disponível para os seguintes tipos de modelo: classificação binária, multiclassificação e regressão.

Um exemplo de distribuição de rótulos verdadeiros do gráfico do conjunto de dados.

Gráfico de perda versus etapas

Este é um gráfico de linhas que mostra a progressão da perda nos dados de treinamento e nos dados de validação ao longo das etapas do treinamento. A perda é o que você definiu em sua função objetivo, como erro quadrático médio. Você pode avaliar se o ajuste do modelo está excessivo ou insuficiente a partir desse gráfico. Esta seção também fornece informações que você pode usar para determinar como resolver os problemas de ajuste excessivo e insuficiente. Essa visualização está disponível para os seguintes tipos de modelo: classificação binária, multiclassificação e regressão.

Um exemplo de gráfico de perda versus etapa.

importância do atributo

Há três tipos diferentes de visualizações de importância de atributos fornecidos: peso, ganho e cobertura. Fornecemos definições detalhadas para cada um dos três no relatório. As visualizações de importância do atributo ajudam você a aprender quais atributos em seu conjunto de dados de treinamento contribuíram para as previsões. As visualizações da importância do atributo estão disponívei para os seguintes tipos de modelo: classificação binária, multiclassificação e regressão.

Um exemplo de gráfico de importância de um atributo.

Matriz de confusão

Essa visualização é aplicável somente aos modelos de classificação binária e multiclasse. A precisão por si só pode não ser suficiente para avaliar o desempenho do modelo. Para alguns casos de uso, como saúde e detecção de fraudes, também é importante conhecer a taxa de falsos positivos e a taxa de falsos negativos. Uma matriz de confusão fornece as dimensões adicionais para avaliar o desempenho do seu modelo.

Um exemplo de matriz de confusão.

Avaliação da matriz de confusão

Esta seção fornece mais informações sobre as métricas micro, macro e ponderadas sobre precisão, recall e pontuação F1 para seu modelo.

Avaliação da matriz de confusão.

Taxa de precisão de cada elemento diagonal durante a iteração

Essa visualização é aplicável somente aos modelos de classificação binária e classificação multiclasse. Este é um gráfico de linhas que traça os valores diagonais na matriz de confusão ao longo das etapas de treinamento de cada classe. Este gráfico mostra como a precisão de cada classe progride ao longo das etapas do treinamento. Você pode identificar as classes com baixo desempenho nesse gráfico.

Um exemplo de taxa de precisão de cada elemento diagonal durante no gráfico de iteração.

Curva característica de operação do receptor

Essa visualização é aplicável somente aos modelos de classificação binária. A curva característica de operação do receptor é comumente usada para avaliar o desempenho do modelo de classificação binária. O eixo y da curva é a taxa de positivos verdadeiros (TPF) e o eixo x é a taxa de falsos positivos (FPR). O gráfico também exibe o valor da área sob a curva (AUC). Quanto maior o valor da AUC, mais previsível é o seu classificador. Você também pode usar a curva ROC para entender a compensação entre TPR e FPR e identificar o limite de classificação ideal para seu caso de uso. O limite de classificação pode ser ajustado para ajustar o comportamento do modelo para reduzir mais de um ou outro tipo de erro (FP/FN).

Um exemplo de gráfico de curva característica de operação do receptor.

Distribuição de resíduos na última etapa salva

Essa visualização é um gráfico de colunas que mostra as distribuições residuais na última etapa que o Debugger captura. Nessa visualização, você pode verificar se a distribuição residual está próxima da distribuição normal centralizada em zero. Se os resíduos estiverem distorcidos, seus atributos podem não ser suficientes para prever os rótulos.

Um exemplo de distribuição de resíduos no último gráfico de etapa salvo.

Erro absoluto de validação por compartimento de etiquetas durante a iteração

Essa visualização é aplicável somente para modelos de regressão. Os valores-alvo reais são divididos em 10 intervalos. Essa visualização mostra como os erros de validação progridem em cada intervalo ao longo das etapas de treinamento nos gráficos de linha. O erro absoluto de validação é o valor absoluto da diferença entre a previsão e o real durante a validação. Você pode identificar os intervalos de baixo desempenho nessa visualização.

Um exemplo de erro absoluto de validação por compartimento de rótulos no gráfico de iteração.