SageMaker Informe interactivo de Debugger para XGBoost - Amazon SageMaker

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

SageMaker Informe interactivo de Debugger para XGBoost

Reciba informes de entrenamiento generados automáticamente por el depurador. Los informes del depurador proporcionan información sobre sus trabajos de entrenamiento y sugieren recomendaciones para mejorar el rendimiento de su modelo.

nota

Puede descargar los informes de un depurador mientras se esté realizando su trabajo de entrenamiento o una vez finalizado el trabajo. Durante el entrenamiento, el depurador actualiza simultáneamente el informe para reflejar el estado de evaluación de las reglas actuales. Puede descargar un informe completo del depurador solo después de que se haya completado el trabajo de entrenamiento.

importante

En el informe, los gráficos y las recomendaciones se proporcionan con fines informativos y no son definitivos. Es responsabilidad suya realizar su propia evaluación independiente de la información.

SageMaker Informe de formación sobre Debugger XGBoost

Para los trabajos de formación de SageMaker XGBoost, utilice la CreateXgboostInforme regla del depurador para recibir un informe de formación completo con el progreso y los resultados del entrenamiento. Siguiendo esta guía, especifique la CreateXgboostInforme regla al crear un estimador XGBoost, descargue el informe mediante el SDK de Amazon SageMaker Python o la consola Amazon S3 y obtenga información sobre los resultados de la formación.

importante

En el informe, los gráficos y las recomendaciones se proporcionan con fines informativos y no son definitivos. Es responsabilidad suya realizar su propia evaluación independiente de la información.

Cree un estimador SageMaker XGBoost con la regla Debugger XGBoost Report

La regla CreateXgboostInforme recopila los siguientes tensores de salida de su trabajo de entrenamiento:

  • hyperparameters: se guarda en el primer paso.

  • metrics: ahorra pérdidas y precisión cada 5 pasos.

  • feature_importance: se guarda cada 5 pasos.

  • predictions: se guarda cada 5 pasos.

  • labels: se guarda cada 5 pasos.

Los tensores de salida se guardan en un bucket S3 predeterminado. Por ejemplo, s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/debug-output/.

Cuando cree un SageMaker estimador para un trabajo de entrenamiento con XGBoost, especifique la regla como se muestra en el siguiente código de ejemplo.

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)

Descargue el informe de creación del depurador XGBoost

Descargue el informe de formación de Debugger XGBoost mientras se esté ejecutando el trabajo de formación o una vez finalizado el trabajo con el SDK y ( AWS Command Line Interface CLI) de Amazon SageMaker Python.

Download using the SageMaker Python SDK and AWS CLI
  1. Compruebe el URI base de salida de S3 predeterminado del trabajo actual.

    estimator.output_path
  2. Compruebe el nombre del trabajo actual.

    estimator.latest_training_job.job_name
  3. El informe XGBoost del depurador se guarda en <default-s3-output-base-uri>/<training-job-name>/rule-output. Configure la ruta de salida de reglas de la siguiente manera:

    rule_output_path = estimator.output_path + "/" + estimator.latest_training_job.job_name + "/rule-output"
  4. Para comprobar si el informe se ha generado correctamente, enumere los directorios y archivos de forma recursiva en rule_output_path utilizando aws s3 ls con la opción --recursive.

    ! aws s3 ls {rule_output_path} --recursive

    Esto debería devolver una lista completa de los archivos de las carpetas generadas automáticamente con el nombre CreateXgboostReport y ProfilerReport-1234567890. El informe de entrenamiento de XGBoost se guarda en CreateXgboostReport y el informe de creación de perfiles se guarda en la carpeta ProfilerReport-1234567890. Para obtener más información sobre el informe de creación de perfiles generado de forma predeterminada con el trabajo de entrenamiento de XGBoost, consulte SageMaker Informe de creación de perfiles de Debugger.

    Ejemplo de salida de reglas.

    El xgboost_report.html es un informe de entrenamiento de XGBoost generado automáticamente por el depurador. El xgboost_report.ipynb es un cuaderno de Jupyter que se utiliza para agregar los resultados del entrenamiento al informe. Puede descargar todos los archivos, examinar el archivo de informe HTML y modificar el informe con el cuaderno.

  5. Descargue los archivos de forma recursiva utilizando aws s3 cp. El siguiente comando guarda todos los archivos de salida de las reglas en la carpeta ProfilerReport-1234567890 del directorio de trabajo actual.

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

    Si utiliza un servidor del cuaderno de Jupyter, ejecute !pwd para comprobar el directorio de trabajo actual.

  6. En el directorio /CreateXgboostReport, abra xgboost_report.html. Si lo está utilizando JupyterLab, elija Confiar en HTML para ver el informe de formación de Debugger generado automáticamente.

    Ejemplo de salida de reglas.
  7. Abra el archivo xgboost_report.ipynb para ver cómo se genera el informe. Puede personalizar y ampliar el informe de entrenamiento mediante el archivo de cuaderno de Jupyter.

Download using the Amazon S3 console
  1. Inicie sesión en la consola de Amazon S3 AWS Management Console y ábrala en https://console.aws.amazon.com/s3/.

  2. Busque el bucket base de S3. Por ejemplo, si no ha especificado ningún nombre de trabajo base, el nombre del bucket base de S3 debe tener el siguiente formato:sagemaker-<region>-111122223333. Busque el bucket base de S3 en el campo Buscar bucket por nombre.

    El campo Buscar bucket por nombre en la consola de Amazon S3.
  3. En el bucket base de S3, busque el nombre del trabajo de entrenamiento. Para ello, introduzca el prefijo del nombre del trabajo en Buscar objetos por prefijo y, a continuación, seleccione el nombre del trabajo de entrenamiento.

    Se muestra el campo Buscar objetos por prefijo en la consola de Amazon S3.
  4. En el compartimento S3 del trabajo de entrenamiento, seleccione la subcarpeta rule-output/. Debe haber tres subcarpetas para los datos de entrenamiento recopilados por el depurador: debug-output/, profiler-output/ y rule-output/.

    Ejemplo del URI del bucket de S3 de salida de reglas.
  5. En la carpeta rule-output/, elija la carpeta Report/. CreateXgboost La carpeta contiene xbgoost_report.html (el informe generado automáticamente en html) y xbgoost_report.ipynb (un cuaderno de Jupyter con scripts que se utilizan para generar el informe).

  6. Seleccione el archivo xbgoost_report.html, seleccione Acciones de descarga y, por último, seleccione Descargar.

    Ejemplo del URI del bucket de S3 de salida de reglas.
  7. Abra el archivo xbgoost_report.html descargado en un navegador web.

Guía del informe de entrenamiento de XGBoost del depurador

Esta sección le guía a través del informe de entrenamiento de XGBoost del depurador. El informe se agrega automáticamente según la expresión regular del tensor de salida, reconociendo qué tipo de trabajo de entrenamiento se encuentra entre clasificación binaria, clasificación multiclase y regresión.

importante

En el informe, los gráficos y las recomendaciones se proporcionan con fines informativos y no son definitivos. Es responsabilidad suya realizar su propia evaluación independiente de la información.

Distribución de las etiquetas true del conjunto de datos

Este histograma muestra la distribución de las clases etiquetadas (para la clasificación) o los valores (para la regresión) en el conjunto de datos original. La asimetría del conjunto de datos podría provocar imprecisiones. Esta visualización está disponible para los siguientes tipos de modelos: clasificación binaria, multiclasificación y regresión.

Un ejemplo de una distribución de etiquetas verdaderas del gráfico del conjunto de datos.

Gráfico de pérdidas versus de pasos

Se trata de un gráfico de líneas que muestra la progresión de la pérdida en los datos de entrenamiento y los datos de validación a lo largo de los pasos del entrenamiento. La pérdida es lo que definió en su función objetivo, como el error cuadrático medio. Puede evaluar si el modelo está sobreajustado o insuficientemente ajustado a partir de esta gráfica. Esta sección también proporciona información que puede utilizar para determinar cómo resolver los problemas de sobreajuste y subajuste. Esta visualización está disponible para los siguientes tipos de modelos: clasificación binaria, multiclasificación y regresión.

Ejemplo de un gráfico de pérdidas versus de pasos.

Importancia de las características

Se proporcionan tres tipos diferentes de visualizaciones de la importancia de las características: peso, ganancia y cobertura. Proporcionamos definiciones detalladas para cada uno de los tres en el informe. Las visualizaciones sobre la importancia de las funciones le ayudan a saber qué características de su conjunto de datos de entrenamiento contribuyeron a las predicciones. Las visualizaciones de importancia de las características están disponibles para los siguientes tipos de modelos: clasificación binaria, multiclasificación y regresión.

Ejemplo de gráfico de importancia de características.

Matriz de confusión

Esta visualización solo es aplicable a los modelos de clasificación binarios y multiclase. La precisión por sí sola puede no ser suficiente para evaluar el rendimiento de los modelos. Para algunos casos de uso, como la atención médica y la detección de fraudes, también es importante conocer la tasa de falsos positivos y la tasa de falsos negativos. Una matriz de confusión le proporciona las dimensiones adicionales para evaluar el rendimiento de su modelo.

Ejemplo de matriz de confusión.

Evaluación de la matriz de confusión

Esta sección le proporciona más información sobre las métricas microscópicas, macroeconómicas y ponderadas de precisión, recuperación y puntuación F1 de su modelo.

Evaluación de la matriz de confusión.

Tasa de precisión de cada elemento diagonal a lo largo de la iteración

Esta visualización solo se aplica a los modelos de clasificación binaria y multiclase. Se trata de un gráfico de líneas que traza los valores diagonales de la matriz de confusión a lo largo de los pasos de entrenamiento de cada clase. Este gráfico muestra cómo progresa la precisión de cada clase a lo largo de los pasos del entrenamiento. Puede identificar las clases con un rendimiento inferior a partir de este gráfico.

Ejemplo de la tasa de precisión de cada elemento de la diagonal en un gráfico de iteración.

Curva característica de funcionamiento del receptor

Esta visualización solo es aplicable a los modelos de clasificación binaria. La curva de características operativas del receptor se utiliza habitualmente para evaluar el rendimiento del modelo de clasificación binaria. El eje y de la curva es True Positive Rate (TPF) o tasa de positivos verdaderos y el eje x es False Positive Rate (FPR) o tasa de positivos falsos. El gráfico también muestra el valor del Area Under the Curve (AUC) o área bajo la curva. Cuanto más alto sea el valor de AUC, más predictivo será su clasificador. También puede utilizar la curva ROC para comprender la compensación entre el TPR y el FPR e identificar el umbral de clasificación óptimo para su caso de uso. El umbral de clasificación se puede ajustar para adecuar el comportamiento del modelo y reducir más de uno u otro tipo de error (FP/FN).

Un ejemplo es un gráfico de curvas características de funcionamiento del receptor.

Distribución de los residuos en el último paso guardado

Esta visualización es un gráfico de columnas que muestra las distribuciones residuales del último paso que el depurador capta. En esta visualización, puede comprobar si la distribución residual está cerca de la distribución normal centrada en cero. Si los residuos están sesgados, es posible que sus características no sean suficientes para predecir las etiquetas.

Un ejemplo de una distribución de los residuos en el último gráfico de pasos guardado.

Error absoluto de validación por contenedor de etiquetas durante la iteración

Esta visualización solo se aplica a los modelos de regresión. Los valores objetivo reales se dividen en 10 intervalos. Esta visualización muestra cómo progresan los errores de validación en cada intervalo a lo largo de los pasos de entrenamiento en gráficos de líneas. El error de validación absoluto es el valor absoluto de la diferencia entre la predicción y lo real durante la validación. Puede identificar los intervalos de bajo rendimiento a partir de esta visualización.

Un ejemplo es un error de validación absoluto por contenedor de etiquetas en un gráfico de iteración.