Iperparametri 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à.

Iperparametri XGBoost

La tabella seguente contiene il sottoinsieme di iperparametri richiesti o più comunemente utilizzati per l'algoritmo Amazon SageMaker XGBoost. Si tratta di parametri che vengono impostati dagli utenti per agevolare la stima dei parametri del modello dai dati. Gli iperparametri richiesti che devono essere impostati sono elencati prima, in ordine alfabetico. Gli iperparametri facoltativi che possono essere impostati sono elencato dopo, sempre in ordine alfabetico. L'algoritmo SageMaker XGBoost è un'implementazione del pacchetto DMLC XGBoost open source. Per ulteriori informazioni sul set completo di iperparametri che possono essere configurati per questa versione di XGBoost, consulta Parametri XGBoost.

Nome parametro Descrizione
num_class

Numero di classi.

Obbligatorio se objective è impostato su multi:softmax o multi:softprob.

Valori validi: numero intero.

num_round

Numero di arrotondamenti per eseguire l’addestramento.

Campo obbligatorio

Valori validi: numero intero.

alpha

Termine di regolarizzazione L1 sui pesi. Aumentando questo valore, i modelli diventano più restrittivi.

Opzionale

Valori validi: Float.

Valore predefinito: 0

base_score

Punteggio previsto iniziale di tutte le istanze, bias globale.

Opzionale

Valori validi: Float.

Valore predefinito: 0.5

booster

Booster da utilizzare. I valori gbtree e dart utilizzano un modello basato su alberi, mentre gblinear utilizza una funzione lineare.

Opzionale

Valori validi: stringa. Uno tra "gbtree", "gblinear" o "dart".

Valore predefinito: "gbtree"

colsample_bylevel

Rapporto di sottocampionamento delle colonne per ogni suddivisione, in ogni livello.

Opzionale

Valori validi: Float. Intervallo: [0,1].

Valore predefinito: 1

colsample_bynode

Rapporto di sottocampionamento di colonne da ogni nodo.

Opzionale

Valori validi: Float. Intervallo: [0,1].

Valore predefinito: 1

colsample_bytree

Rapporto di sottocampionamento delle colonne durante la creazione di ogni albero.

Opzionale

Valori validi: Float. Intervallo: [0,1].

Valore predefinito: 1

csv_weights

Quando questo contrassegno è abilitato, XGBoost differenzia l'importanza delle istanze per l'input CSV prendendo in considerazione i contenuti della seconda colonna (la colonna dopo le etichette) dei dati di addestramento come pesi delle istanze.

Opzionale

Valori validi: 0 o 1

Valore predefinito: 0

deterministic_histogram

Quando questo contrassegno è abilitato, XGBoost crea l'istogramma sulla GPU in modo deterministico. Utilizzato solo se tree_method è impostato su gpu_hist.

Per un elenco completo degli input validi, consulta Parametri XGBoost.

Opzionale

Valori validi: stringa. Intervallo: "true" o "false"

Valore predefinito: "true"

early_stopping_rounds

Il modello continua l’addestramento finché il punteggio della convalida non smette di migliorare. L'errore di convalida deve diminuire almeno ogni volta per continuare l'allenamento. early_stopping_rounds SageMakerl'hosting utilizza il miglior modello di inferenza.

Opzionale

Valori validi: numero intero.

Valore predefinito: -

eta

Riduzione delle dimensioni della fase utilizzata negli aggiornamenti per evitare l'overfitting. Dopo ogni fase di boosting, puoi ottenere direttamente i pesi delle nuove caratteristiche. Il parametro eta riduce effettivamente i pesi delle caratteristiche per rendere il processo di boosting più restrittivo.

Opzionale

Valori validi: Float. Intervallo: [0,1].

Valore predefinito: 0.3

eval_metric

Parametri di valutazione per i dati di convalida. Un parametro predefinito viene assegnato in base all'obiettivo:

  • rmse: per la regressione

  • error: per la classificazione

  • map: per l'ordinamento

Per un elenco degli input validi, consulta Parametri XGBoost Learning Task.

Opzionale

Valori validi: stringa.

Valore predefinito: in base all'obiettivo.

gamma

Riduzione della perdita minima richiesta per creare un'ulteriore partizione su un nodo foglia dell'albero. Maggiore è il valore e più restrittivo sarà l'algoritmo.

Opzionale

Valori validi: Float. Intervallo: [0,∞).

Valore predefinito: 0

grow_policy

Controlla il modo in cui i nuovi nodi vengono aggiunti all'albero. Attualmente supportato solo se tree_method è impostato su hist.

Opzionale

Valori validi: stringa. "depthwise" o "lossguide".

Valore predefinito: "depthwise"

interaction_constraints

Specifica i gruppi di variabili che possono interagire.

Opzionale

Valori validi: elenco annidato di numeri interi. Ogni numero intero rappresenta una funzionalità e ogni elenco annidato contiene funzionalità che possono interagire, ad esempio [[1,2], [3,4,5]].

Valore predefinito: nessuno

lambda

Termine di regolarizzazione L2 sui pesi. Aumentando questo valore, i modelli diventano più restrittivi.

Opzionale

Valori validi: Float.

Valore predefinito: 1

lambda_bias

Termine di regolarizzazione L2 su bias.

Opzionale

Valori validi: Float. Intervallo: [0.0, 1.0].

Valore predefinito: 0

max_bin

Numero massimo di container discreti per le funzioni continue del bucket. Utilizzato solo se tree_method è impostato su hist.

Opzionale

Valori validi: numero intero.

Valore predefinito: 256

max_delta_step

Fase delta massima consentita per ogni stima del peso dell'albero. L'utilizzo di un numero intero positivo rende l'aggiornamento maggiormente restrittivo. La scelta migliore è di utilizzarlo nella regressione logistica. Impostare su 1-10 per aiutare a controllare l'aggiornamento.

Opzionale

Valori validi: numero intero. Intervallo: [0,∞).

Valore predefinito: 0

max_depth

Profondità massima di un albero. Aumentando questo valore, il modello diviene più complesso e aumentano le probabilità di overfitting. 0 indica che non ci sono limiti. Un limite è richiesto se grow_policy=depth-wise.

Opzionale

Valori validi: numero intero. Intervallo: [0,∞)

Valore predefinito: 6

max_leaves

Numero massimo di nodi da aggiungere. Rilevante solo se grow_policy è impostato su lossguide.

Opzionale

Valori validi: numero intero.

Valore predefinito: 0

min_child_weight

Somma minima del peso delle istanze (hessiano) necessaria in un figlio. Se la fase di partizione dell'albero restituisce un nodo foglia in cui la somma del peso delle istanze è inferiore a min_child_weight, il processo di creazione interrompe l'ulteriore partizionamento. Nei modelli di regressione lineare, ciò corrisponde semplicemente a un numero minimo di istanze necessario in ogni nodo. Maggiore è il valore dell'algoritmo e più restrittivo sarà.

Opzionale

Valori validi: Float. Intervallo: [0,∞).

Valore predefinito: 1

monotone_constraints

Specifica i vincoli di monotonicità su qualsiasi funzionalità.

Opzionale

Valori validi: tupla di numeri interi. Numeri interi validi: -1 (vincolo decrescente), 0 (nessun vincolo), 1 (vincolo crescente).

Ad esempio, (0, 1): nessun vincolo sul primo predittore e un vincolo crescente sul secondo. (-1, 1): vincolo decrescente sul primo predittore e vincolo crescente sul secondo.

Valore predefinito: (0, 0)

normalize_type

Tipo di algoritmo di normalizzazione.

Opzionale

Valori validi: tree o forest.

Valore predefinito: tree

nthread

Numero di thread paralleli utilizzati per eseguire xgboost.

Opzionale

Valori validi: numero intero.

Valore predefinito: numero massimo di thread.

objective

Specifica le attività di apprendimento e l'obiettivo di apprendimento corrispondente. Esempi: reg:logistic, multi:softmax, reg:squarederror. Per un elenco completo degli input validi, consulta Parametri XGBoost Learning Task.

Opzionale

Valori validi: stringa

Valore predefinito: "reg:squarederror"

one_drop

Quando questo contrassegno è abilitato, durante il dropout almeno un albero viene rilasciato.

Opzionale

Valori validi: 0 o 1

Valore predefinito: 0

process_type

Tipo di processo di boosting da eseguire.

Opzionale

Valori validi: stringa. "default" o "update".

Valore predefinito: "default"

rate_drop

La velocità di dropout che specifica la frazione di alberi precedenti da rilasciare durante il dropout.

Opzionale

Valori validi: Float. Intervallo: [0.0, 1.0].

Valore predefinito: 0.0

refresh_leaf

Questo è un parametro del plugin di aggiornamento. Se è impostato su true (1), vengono aggiornate le foglie dell'albero e le statistiche dei nodi dell'albero. Se è impostato su false(0), vengono aggiornate solo le statistiche dei nodi dell'albero.

Opzionale

Valori validi: 0/1

Valore predefinito: 1

sample_type

Tipo di algoritmo di campionamento.

Opzionale

Valori validi: uniform o weighted.

Valore predefinito: uniform

scale_pos_weight

Controlla il bilanciamento dei pesi positivi e negativi. Utile per le classi non bilanciate. Valore tipico da considerare: sum(negative cases) / sum(positive cases).

Opzionale

Valori validi: float.

Valore predefinito: 1

seed

Seed per il numero casuale.

Opzionale

Valori validi: numero intero

Valore predefinito: 0

single_precision_histogram

Quando questo contrassegno è abilitato, XGBoost utilizza la precisione singola per creare istogrammi anziché quella doppia. Utilizzato solo se tree_method è impostato su hist ogpu_hist.

Per un elenco completo degli input validi, consulta Parametri XGBoost.

Opzionale

Valori validi: stringa. Intervallo: "true" o "false"

Valore predefinito: "false"

sketch_eps

Utilizzato solo per l'algoritmo greedy approssimativo. Questo si traduce in O (1/ sketch_eps) numero di container. Rispetto alla selezione diretta del numero di container, questo valore viene fornito con la garanzia teorica con precisione di sketch.

Opzionale

Valori validi: Float. Intervallo: [0, 1].

Valore predefinito: 0.03

skip_drop

Probabilità di ignorare la procedura di dropout durante un'iterazione di boosting.

Opzionale

Valori validi: Float. Intervallo: [0.0, 1.0].

Valore predefinito: 0.0

subsample

Rapporto di sottocampionamento dell'istanza di addestramento. Un'impostazione 0,5 significa che XGBoost raccoglie casualmente metà delle istanze di dati per aumentare gli alberi. In questo modo si evita l'overfitting.

Opzionale

Valori validi: Float. Intervallo: [0,1].

Valore predefinito: 1

tree_method

Algoritmo di creazione degli alberi utilizzato in XGBoost.

Opzionale

Valori validi: uno tra auto, exact, approx, hist o gpu_hist.

Valore predefinito: auto

tweedie_variance_power

Controlla la varianza della distribuzione Tweedie.

Opzionale

Valori validi: Float. Intervallo: (1, 2).

Valore predefinito: 1.5

updater

Stringa separata da virgole che definisce la sequenza di strumenti di aggiornamento degli alberi da eseguire. Questo fornisce un approccio modulare per creare e modificare gli alberi.

Per un elenco completo degli input validi, consulta Parametri XGBoost.

Opzionale

Valori validi: stringa separata da virgole.

Valore predefinito: grow_colmaker, prune

use_dask_gpu_training

Imposta use_dask_gpu_training su "true" se desideri eseguire un addestramento distribuito sulla GPU con Dask. L’addestramento della GPU con Dask è supportata solo per le versioni 1.5-1 e successive. Non impostare questo valore su "true" per le versioni precedenti alla 1.5-1. Per ulteriori informazioni, consulta Addestramento distribuito della GPU.

Opzionale

Valori validi: stringa. Intervallo: "true" o "false"

Valore predefinito: "false"

verbosity

Verbosità dei messaggi di stampa.

Valori validi: 0 (silenzioso), 1 (avviso), 2 (informazioni), 3 (debug).

Opzionale

Valore predefinito: 1