Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

XGBoost Versione 0.72

Modalità Focus
XGBoost Versione 0.72 - Amazon SageMaker AI

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

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

Importante

Lo XGBoost 0,72 è obsoleto da Amazon AI. SageMaker Puoi comunque utilizzare questa vecchia versione di XGBoost (come algoritmo integrato) estraendo l'URI dell'immagine, come mostrato nel seguente esempio di codice. Infatti XGBoost, l'URI dell'immagine che termina con :1 si riferisce alla vecchia versione.

SageMaker Python SDK v1
import boto3 from sagemaker.amazon.amazon_estimator import get_image_uri xgb_image_uri = get_image_uri(boto3.Session().region_name, "xgboost", repo_version="1")
SageMaker Python SDK v2
import boto3 from sagemaker import image_uris xgb_image_uri = image_uris.retrieve("xgboost", boto3.Session().region_name, "1")
import boto3 from sagemaker.amazon.amazon_estimator import get_image_uri xgb_image_uri = get_image_uri(boto3.Session().region_name, "xgboost", repo_version="1")

Se desideri utilizzare versioni più recenti, devi specificare esplicitamente i tag URI dell'immagine (vedi). Versioni supportate

Questa versione precedente dell' XGBoost algoritmo Amazon SageMaker AI si basa sulla versione 0.72. XGBoost(eXtreme Gradient Boosting) è un'implementazione open source popolare ed efficiente dell'algoritmo Gradient Boosted Trees. Gradient boosting è un algoritmo di apprendimento supervisionato che tenta di prevedere con precisione una variabile target combinando le stime di un insieme di modelli più semplici e deboli. XGBoost ha ottenuto risultati straordinari nelle competizioni di machine learning perché gestisce in modo affidabile una varietà di tipi di dati, relazioni e distribuzioni e grazie al gran numero di iperparametri che possono essere ottimizzati e ottimizzati per adattarsi meglio. Questa flessibilità rappresenta XGBoost una scelta valida per i problemi di regressione, classificazione (binaria e multiclasse) e classificazione.

I clienti devono valutare l'utilizzo della nuova versione di XGBoost algoritmo con Amazon SageMaker AI. Possono usarlo come algoritmo integrato nell' SageMaker intelligenza artificiale o come framework per eseguire script nei loro ambienti locali, come farebbero normalmente, ad esempio, con un framework di deep learning Tensorflow. La nuova implementazione ha un impatto minore sulla memoria, una migliore registrazione, una convalida degli iperparametri migliorata e un set esteso di parametri. L'implementazione precedente di XGBoost rimane disponibile per i clienti in caso di necessità di posticipare la migrazione alla nuova versione. Tuttavia, questa implementazione precedente rimarrà legata alla versione 0.72 di. XGBoost

Interfaccia di input/output per la versione 0.72 XGBoost

Il gradient boosting agisce sui dati tabulari, con le righe che rappresentano le osservazioni, una colonna che rappresenta la variabile o l'etichetta di destinazione e le colonne rimanenti che rappresentano le caratteristiche.

L'implementazione SageMaker AI XGBoost supporta i formati CSV e libsvm per l'addestramento e l'inferenza:

  • Per Training ContentType, gli input validi sono text/libsvm (impostazione predefinita) o text/csv.

  • Per Inference ContentType, gli input validi sono text/libsvm o (impostazione predefinita) text/csv.

Nota

Per l’addestramento CSV, l'algoritmo presume che la variabile di destinazione si trovi nella prima colonna e che CSV non disponga di un record di intestazione. Per l'inferenza CSV, l'algoritmo presuppone che l'input CSV non disponga della colonna di etichette.

Per l’addestramento libsvm, l'algoritmo presuppone che l'etichetta si trovi nella prima colonna. Le successive colonne contengono le coppie chiave-valore in base zero per le caratteristiche. Quindi, ogni riga ha il formato: <label> <index0>:<value0> <index1>:<value1> ... Le richieste di inferenza per libsvm possono o meno avere etichette nel formato libsvm.

Ciò differisce dagli altri algoritmi di SageMaker intelligenza artificiale, che utilizzano il formato di input di addestramento protobuf per mantenere una maggiore coerenza con i formati di dati standard. XGBoost

Per la modalità di input dell’addestramento CSV, la memoria totale disponibile per l'algoritmo (calcolo dell'istanza * memoria disponibile nel InstanceType) deve essere in grado di gestire il set di dati di addestramento. Per la modalità di input dell’addestramento libsvm non è richiesto, sebbene lo consigliamo.

SageMaker L'intelligenza artificiale XGBoost utilizza il modulo Python pickle per serialize/deserialize the model, which can be used for saving/loading il modello.

Per utilizzare un modello addestrato con l' SageMaker intelligenza artificiale XGBoost in open source XGBoost
  • Utilizza il seguente codice Python:

    import pickle as pkl import tarfile import xgboost t = tarfile.open('model.tar.gz', 'r:gz') t.extractall() model = pkl.load(open(model_file_path, 'rb')) # prediction with test data pred = model.predict(dtest)
Per differenziare l'importanza di punti dati contrassegnati utilizza Instance Weight Support
  • SageMaker L'intelligenza artificiale XGBoost consente ai clienti di differenziare l'importanza dei punti dati etichettati assegnando a ciascuna istanza un valore di peso. Per l'input text/libsvm, i clienti possono assegnare valori di peso alle istanze dati collegandoli dopo le etichette. Ad esempio label:weight idx_0:val_0 idx_1:val_1.... Per l'input text/csv, i clienti devono attivare il contrassegno csv_weights nei parametri e collegare i valori di peso nella colonna dopo le etichette. Ad esempio: label,weight,val_0,val_1,...).

EC2 Raccomandazione sull'istanza per la versione 0.72 XGBoost

SageMaker L'intelligenza artificiale XGBoost attualmente si allena solo utilizzando CPUs. Poiché si tratta di un algoritmo basato su memoria e non su calcolo, un'istanza di calcolo a scopo generico (ad esempio, M4) rappresenta una scelta migliore rispetto a un'istanza ottimizzata per il calcolo (ad esempio, C4). Inoltre, consigliamo di disporre di memoria sufficiente nelle istanze selezionate per conservare i dati di addestramento. Sebbene supporti l'uso dello spazio su disco per gestire dati che non entrano nella memoria principale (la out-of-core funzionalità disponibile con la modalità di input libsvm), la scrittura di file di cache su disco rallenta il tempo di elaborazione dell'algoritmo.

XGBoost Notebook di esempio della release 0.7.2

Per un taccuino di esempio che mostra come utilizzare l'ultima versione dell' SageMaker intelligenza artificiale XGBoost come algoritmo integrato per addestrare e ospitare un modello di regressione, consulta Regressione con algoritmo Amazon SageMaker AI. XGBoost Per utilizzare la versione 0.72 di XGBoost, devi modificare la versione del codice di esempio in 0.72. Per istruzioni su come creare e accedere alle istanze di notebook Jupyter da utilizzare per eseguire l'esempio in AI, consulta. SageMaker Istanze Amazon SageMaker Notebook Dopo aver creato un'istanza di notebook e averla aperta, seleziona la scheda Esempi di SageMaker AI per visualizzare un elenco di tutti gli esempi di IA. SageMaker L'argomento relativo alla modellazione di notebook che utilizzano XGBoost gli algoritmi si trova nella sezione Introduzione agli algoritmi di Amazon. Per aprire un notebook, fai clic sulla relativa scheda Use (Utilizza) e seleziona Create copy (Crea copia).

XGBoost Iperparametri della versione 0.72

La tabella seguente contiene gli iperparametri per l'algoritmo. 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' XGBoost algoritmo SageMaker AI è un'implementazione del pacchetto open source XGBoost . Attualmente SageMaker AI supporta la versione 0.72. Per maggiori dettagli sulla configurazione degli iperparametri per questa versione di XGBoost, vedi XGBoost Parametri.

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_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 flag è abilitato, XGBoost differenzia l'importanza delle istanze per l'input in formato csv prendendo come peso delle istanze la seconda colonna (la colonna dopo le etichette) nei dati di addestramento.

Opzionale

Valori validi: 0 o 1

Valore predefinito: 0

early_stopping_rounds

Il modello continua l’addestramento finché il punteggio della convalida non smette di migliorare. Gli errori di convalida devono diminuire almeno ogni early_stopping_rounds per continuare con l’addestramento. SageMaker L'hosting basato sull'intelligenza artificiale 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 di input validi, XGBoost consulta Parametri.

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

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

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, reg:softmax, multi:squarederror. Per un elenco completo degli input validi, fare riferimento a XGBoost Parametri.

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

silent

0 indica i messaggi di stampa in esecuzione, 1 indica la modalità silenziosa.

Valori validi: 0 o 1

Opzionale

Valore predefinito: 0

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. Impostandolo su 0,5 significa che la metà delle istanze di dati vengono raccolte XGBoost casualmente per far crescere gli alberi. In questo modo si evita l'overfitting.

Opzionale

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

Valore predefinito: 1

tree_method

L'algoritmo di costruzione degli alberi utilizzato in. XGBoost

Opzionale

Valori validi: uno tra auto, exact, approx o 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 XGBoost Parametri.

Opzionale

Valori validi: stringa separata da virgole.

Valore predefinito: grow_colmaker, prune

Ottimizza un modello della XGBoost release 0.7.2

L'ottimizzazione automatica dei modelli, nota anche come ottimizzazione degli iperparametri, trova la versione migliore di un modello eseguendo molti processi che testano un intervallo di iperparametri sul set di dati di addestramento e di convalida. Puoi scegliere tre tipi di iperparametri:

  • una funzione di apprendimento objective da ottimizzare durante l’addestramento dei modelli

  • un eval_metric da utilizzare per valutare le prestazioni del modello durante la convalida

  • un insieme di iperparametri e un intervallo di valori per ciascuno da utilizzare quando si ottimizza automaticamente il modello

Scegli il parametro di valutazione dal set di parametri di valutazione calcolate dall'algoritmo. L'ottimizzazione automatica del modello ricerca gli iperparametri scelti per trovare la combinazione di valori che restituisce il modello che ottimizza il parametro di valutazione.

Per ulteriori informazioni sull'ottimizzazione del modello, consulta Ottimizzazione automatica dei modelli con AI SageMaker .

Metriche calcolate dall'algoritmo della versione 0.72 XGBoost

L' XGBoost algoritmo basato sulla versione 0.72 calcola le seguenti nove metriche da utilizzare per la convalida del modello. Durante l'ottimizzazione del modello, scegli uno di questi parametri per valutare il modello. Per l'elenco completo dei eval_metric valori validi, consulta Learning Task Parameters XGBoost

Nome parametro Descrizione Direzione dell'ottimizzazione
validation:auc

Area sottesa alla curva.

Massimizza

validation:error

Percentuale di errori della classificazione binaria, calcolata come n. (casi con errori)/n. (tutti i casi).

Minimizza

validation:logloss

Probabilità log negativa.

Minimizza

validation:mae

Media degli errori assoluti.

Minimizza

validation:map

Media della precisione media.

Massimizza

validation:merror

Percentuale di errori della classificazione multiclasse, calcolata come n. (casi con errori)/n. (tutti i casi).

Minimizza

validation:mlogloss

Probabilità log negativa per la classificazione multiclasse.

Minimizza

validation:ndcg

Normalized Discounted Cumulative Gain.

Massimizza

validation:rmse

Radice dell'errore quadratico medio

Minimizza

Iperparametri della XGBoost versione 0.72 di Tunable

Ottimizza il XGBoost modello con i seguenti iperparametri. Gli iperparametri che hanno il maggiore effetto sull'ottimizzazione delle metriche di XGBoost valutazione sono:alpha,,min_child_weight, subsample e. eta num_round

Nome parametro Tipo parametro Intervalli consigliati
alpha

ContinuousParameterRanges

MinValue: 0,: 100 MaxValue

colsample_bylevel

ContinuousParameterRanges

MinValue: 0,1, MaxValue: 1

colsample_bytree

ContinuousParameterRanges

MinValue: 0,5, MaxValue: 1

eta

ContinuousParameterRanges

MinValue: 0,1, MaxValue 0,5

gamma

ContinuousParameterRanges

MinValue: 0, MaxValue: 5

lambda

ContinuousParameterRanges

MinValue: 0, MaxValue: 100

max_delta_step

IntegerParameterRanges

[0, 10]

max_depth

IntegerParameterRanges

[0, 10]

min_child_weight

ContinuousParameterRanges

MinValue: 0, MaxValue: 120

num_round

IntegerParameterRanges

[1, 4000]

subsample

ContinuousParameterRanges

MinValue: 0,5, MaxValue: 1

Argomento successivo:

Testo

Argomento precedente:

XGBoost Versione 0.90
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.