SageMaker Report interattivo del debugger per XGBoost - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

SageMaker Report interattivo del debugger per XGBoost

Ricevi report di addestramento generati automaticamente da Debugger. I report di Debugger forniscono informazioni dettagliate sui processi di addestramento e suggeriscono consigli per migliorare le prestazioni del modello.

Nota

È possibile scaricare i report di Debugger mentre il processo di addestramento è in fase di esecuzione o al termine del processo. Durante l’addestramento, Debugger aggiorna contemporaneamente il report in base allo stato di valutazione delle regole correnti. È possibile scaricare un report di Debugger completo solo dopo il completamento del processo di addestramento.

Importante

Nel report, i grafici e le raccomandazioni sono forniti a scopo informativo e non sono definitivi. Sei responsabile della tua valutazione indipendente delle informazioni.

SageMaker Report di formazione su Debugger XGBoost

Per i lavori di formazione SageMaker XGBoost, utilizza la CreateXgboostRapporto regola Debugger per ricevere un rapporto di formazione completo sui progressi e sui risultati della formazione. Seguendo questa guida, specifica la CreateXgboostRapporto regola durante la creazione di uno stimatore XGBoost, scarica il report utilizzando l' SageMaker SDK Amazon Python o la console Amazon S3 e ottieni informazioni dettagliate sui risultati della formazione.

Importante

Nel report, i grafici e le raccomandazioni sono forniti a scopo informativo e non sono definitivi. Sei responsabile della tua valutazione indipendente delle informazioni.

Costruisci un SageMaker XGBoost Estimator con la Debugger XGBoost Report Rule

La regola CreateXgboostRapporto raccoglie i seguenti tensori di output dal processo di addestramento:

  • hyperparameters – Salva durante la prima fase.

  • metrics – Salva perdita e precisione ogni 5 fasi.

  • feature_importance – Salva ogni 5 fasi.

  • predictions – Salva ogni 5 fasi.

  • labels – Salva ogni 5 fasi.

I tensori di output vengono salvati in un bucket S3 predefinito. Ad esempio, s3://sagemaker-<region>-<12digit_account_id>/<base-job-name>/debug-output/.

Quando costruisci uno SageMaker stimatore per un processo di formazione XGBoost, specifica la regola come mostrato nel seguente codice di esempio.

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)

Scarica il report di addestramento di Debugger XGBoost

Scarica il report di formazione di Debugger XGBoost mentre il processo di formazione è in esecuzione o al termine del processo utilizzando Amazon Python SageMaker SDK e (CLI). AWS Command Line Interface

Download using the SageMaker Python SDK and AWS CLI
  1. Controlla l'URI di base di output S3 predefinito del processo corrente.

    estimator.output_path
  2. Controlla il nome del lavoro corrente.

    estimator.latest_training_job.job_name
  3. Il report di Debugger XGBoost è archiviato in <default-s3-output-base-uri>/<training-job-name>/rule-output. Configura il percorso di output della regola come segue:

    rule_output_path = estimator.output_path + "/" + estimator.latest_training_job.job_name + "/rule-output"
  4. Per verificare se il report viene generato, elenca le directory e i file in modo ripetuto sotto l'opzione rule_output_path utilizzando aws s3 ls con l'opzione --recursive.

    ! aws s3 ls {rule_output_path} --recursive

    Questo dovrebbe restituire un elenco completo di file nelle cartelle generate automaticamente denominate CreateXgboostReport e ProfilerReport-1234567890. Il report di addestramento XGBoost viene archiviato in CreateXgboostReport, mentre il report di profilazione viene archiviato nella cartella ProfilerReport-1234567890. Per ulteriori informazioni sul report di profilazione generato in modo predefinito con il processo di addestramento XGBoost, consulta SageMaker Report di profilazione del debugger.

    Esempio di output delle regole.

    xgboost_report.html è un report di addestramento XGBoost generato automaticamente da Debugger. xgboost_report.ipynb è un notebook Jupyter che viene utilizzato per aggregare i risultati dell’addestramento nel report. È possibile scaricare tutti i file, sfogliare il file del report HTML e modificare il report utilizzando il notebook.

  5. Scarica i file in modo ripetuto utilizzando aws s3 cp. Il comando seguente salva tutti i file di output delle regole nella cartella ProfilerReport-1234567890 all'interno della directory del lavoro corrente.

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

    Se utilizzi un server notebook Jupyter, esegui l'operazione !pwd per verificare la directory di lavoro corrente.

  6. Sotto la directory /CreateXgboostReport, apri xgboost_report.html. Se lo utilizzi JupyterLab, scegli Trust HTML per visualizzare il report di formazione Debugger generato automaticamente.

    Esempio di output delle regole.
  7. Apri il file xgboost_report.ipynb per scoprire come viene generato il report. È possibile personalizzare ed estendere il report di addestramento utilizzando il file del notebook Jupyter.

Download using the Amazon S3 console
  1. Accedi AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  2. Cerca il bucket S3 di base. Ad esempio, se non hai specificato alcun nome di processo di base, il nome del bucket S3 di base deve avere il seguente formato: sagemaker-<region>-111122223333. Ricerca il bucket S3 di base nel campo Trova bucket per nome.

    Il campo Trova bucket per nome nella console Amazon S3.
  3. Nel bucket S3 di base, cerca il nome del processo di addestramento inserendo il prefisso del nome del processo in Trova oggetti per prefisso e quindi scegliendo il nome del processo di addestramento.

    Il campo Trova oggetti per prefisso nella console Amazon S3.
  4. Nel bucket S3 del processo di addestramento, scegli la sottocartella rule-output/. Devono essere presenti tre sottocartelle per i dati di addestramento raccolti da Debugger: debug-output/, profiler-output/ e rule-output/.

    Un esempio all’URI del bucket S3 di output della regola.
  5. Nella cartella rule-output/, scegli la cartella Report/. CreateXgboost La cartella contiene xbgoost_report.html (il report generato automaticamente in html) e xbgoost_report.ipynb (un notebook Jupyter con script utilizzati per generare il report).

  6. Scegli il file xbgoost_report.html, scegli Scarica azioni, quindi scegli Scarica.

    Un esempio dell'URI del bucket S3 di output della regola.
  7. Apri il file xbgoost_report.html scaricato in un browser Web.

Procedura dettagliata del report di addestramento di Debugger XGBoost

In questa sezione viene illustrato il report di addestramento di Debugger XGBoost. Il report viene aggregato automaticamente in base al regex del tensore di output, riconoscendo il tipo di processo di addestramento compreso tra classificazione binaria, classificazione multiclasse e regressione.

Importante

Nel report, grafici e raccomandazioni sono forniti a scopo informativo e non sono definitivi. Sei responsabile della valutazione indipendente delle informazioni contenute in questo documento.

Distribuzione di etichette vere del set di dati

Questo istogramma mostra la distribuzione delle classi etichettate (per la classificazione) o dei valori (per la regressione) nel set di dati originale. L'asimmetria nel tuo set di dati potrebbe contribuire a creare imprecisioni. Questa visualizzazione è disponibile per i seguenti tipi di modelli: classificazione binaria, multiclassificazione e regressione.

Un esempio di distribuzione di etichette reali del grafico del set di dati.

Perdita rispetto a Step Graph

Questo è una grafica a linee che mostra la progressione della perdita dei dati di addestramento e dei dati di convalida durante le fasi di addestramento. La perdita è ciò che hai definito nella tua funzione obiettivo, ad esempio l'errore quadratico medio. Da questo grafico è possibile valutare se il modello è sovradimensionato o inadeguato. In questa sezione vengono inoltre forniti approfondimenti che è possibile usare per determinare come risolvere i problemi di sovra-adattamento e inadeguatezza. Questa visualizzazione è disponibile per i seguenti tipi di modelli: classificazione binaria, multiclassificazione e regressione.

Un esempio di grafico tra perdite e fasi.

Importanza della caratteristica

Sono disponibili tre diversi tipi di visualizzazioni dell'importanza delle funzionalità: Peso, Guadagno e Copertura. Forniamo definizioni dettagliate per ciascuno dei tre elementi del report. Le visualizzazioni sull'importanza delle funzionalità ti aiutano a capire quali funzionalità del tuo set di dati di addestramento hanno contribuito alle previsioni. Le visualizzazioni dell'importanza delle funzionalità sono disponibili per i seguenti tipi di modelli: classificazione binaria, multiclassificazione e regressione.

Un esempio di grafico dell'importanza della funzionalità.

Matrice di confusione

Questa visualizzazione è applicabile solo ai modelli binari e di classificazione multiclasse. La precisione da sola potrebbe non essere sufficiente per valutare le prestazioni del modello. Per alcuni casi d'uso, come l'assistenza sanitaria e il rilevamento delle frodi, è importante conoscere anche il tasso di falsi positivi e quello di falsi negativi. Una matrice di confusione fornisce le dimensioni aggiuntive per valutare le prestazioni del tuo modello.

Un esempio di matrice di confusione.

Valutazione della Matrice di confusione

Questa sezione fornisce ulteriori informazioni sulle metriche micro, macro e ponderate relative alla precisione, al richiamo e al punteggio F1 del modello.

Valutazione della matrice di confusione.

Tasso di precisione di ogni elemento diagonale rispetto all'iterazione

Questa visualizzazione è applicabile solo alla classificazione binaria e ai modelli di classificazione multiclasse. Questo è un grafico a linee che riporta i valori diagonali nella matrice di confusione durante le fasi di addestramento per ogni classe. Questo grafico mostra come la precisione di ogni classe progredisce durante le fasi dell’addestramento. Da questo grafico è possibile identificare le classi con prestazioni insoddisfacenti.

Un esempio di tasso di precisione di ogni elemento diagonale sul grafico di iterazione.

Curva caratteristica operativa del ricevitore

Questa visualizzazione è applicabile solo ai modelli di classificazione binaria. La curva delle Caratteristiche operative del ricevitore viene comunemente utilizzata per valutare le prestazioni del modello di classificazione binaria. L'asse y della curva è la Percentuale di veri positivi (TPF, True Positive Rate) e l'asse x è la percentuale di falsi positivi (FPR, False Positive Rate). Il grafico mostra anche il valore per l’area sotto la curva (AUC). Più alto è il valore AUC, più predittivo è il classificatore. Puoi anche utilizzare la curva ROC per comprendere il compromesso tra TPR e FPR e identificare la soglia di classificazione ottimale per il tuo caso d'uso. La soglia di classificazione può essere regolata per ottimizzare il comportamento del modello in modo da ridurre maggiormente l'uno o l'altro tipo di errore (FP/FN).

Un esempio: un grafico della curva caratteristica di funzionamento del ricevitore.

Distribuzione dei residui nell'ultima fase salvata

Questa visualizzazione è un grafico a colonne che mostra le distribuzioni residue nell'ultima fase acquisita da Debugger. In questa visualizzazione, è possibile verificare se la distribuzione residua è vicina alla distribuzione normale centrata sullo zero. Se i residui sono disallineati, le tue caratteristiche potrebbero non essere sufficienti per prevedere le etichette.

Un esempio di una distribuzione dei residui nell'ultimo grafico a fasi salvato.

Errore di convalida assoluto per Label Bin durante l'iterazione

Questa visualizzazione è applicabile solo per i modelli di regressione. I valori target effettivi vengono suddivisi in 10 intervalli. Questa visualizzazione mostra come progrediscono gli errori di convalida per ogni intervallo durante le fasi di addestramento nei grafici a linea. L'errore di convalida assoluto è il valore assoluto della differenza tra previsione ed effettiva durante la convalida. È possibile identificare gli intervalli con prestazioni insoddisfacenti da questa visualizzazione.

Un esempio: un errore di convalida assoluto per container di etichette su un grafico di iterazione.