Two-Class Boosted Decision Tree

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Crea un classificatore binario usando un algoritmo albero delle decisioni con boosting

Categoria: Machine Learning/Inizializza modello/classificazione

Nota

Si applica a: Machine Learning Studio (versione classica)

Nella finestra di progettazione sono disponibili moduli simili Azure Machine Learning trascinamento della selezione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Two-Class Boosted Decision Tree (Albero delle decisioni con boosting a due classi) in Machine Learning Studio (versione classica) per creare un modello di Machine Learning basato sull'algoritmo boosted decision trees.

Un albero delle decisioni con boost è un metodo di apprendimento di insieme in cui il secondo albero corregge gli errori del primo albero, il terzo albero corregge gli errori del primo e del secondo albero e così via. Le stime si basano sull'intero insieme di alberi che esegue la stima. Per altri dettagli tecnici, vedere la sezione Ricerca di questo articolo.

In genere, quando configurati correttamente, gli alberi delle decisioni con boosted sono i metodi più semplici con cui ottenere prestazioni ottimali in un'ampia gamma di attività di Machine Learning. Tuttavia, sono anche uno degli studenti più a elevato utilizzo di memoria e l'implementazione corrente contiene tutti gli elementi in memoria. Pertanto, un modello di albero delle decisioni con boosted potrebbe non essere in grado di elaborare i set di dati di dimensioni molto grandi che alcuni studenti lineari possono gestire.

Come configurare un Two-Class decisionale con boosted

Questo modulo crea un modello di classificazione senza training. Poiché la classificazione è un metodo di apprendimento supervisionato, per eseguire il training del modello è necessario un set di dati con tag che includa una colonna etichetta con un valore per tutte le righe.

È possibile eseguire il training di questo tipo di modello usando i moduli Train Model (Training modello ) o Tune Model Hyperparameters (Ottimizza iperparametre modello ).

  1. In Machine Learning Studio (versione classica) aggiungere il modulo Boosted Decision Tree all'esperimento.

  2. Specificare la modalità di training del modello impostando l'opzione Create trainer mode (Crea modalità di training ).

    • Parametro singolo: se si sa come si vuole configurare il modello, è possibile specificare un set specifico di valori come argomenti.

    • Intervallo di parametri: se non si è certi dei parametri migliori, è possibile trovare i parametri ottimali usando il modulo Tune Model Hyperparameters (Ottimizza iperparametre modello ). Si specifica un intervallo di valori e l'trainer scorre più combinazioni delle impostazioni per determinare la combinazione di valori che produce il risultato migliore.

  3. Per Numero massimo di foglia per albero, indicare il numero massimo di nodi terminali (foglia) che possono essere creati in qualsiasi albero.

    Aumentando questo valore, potenzialmente si aumentano le dimensioni dell'albero e si ottiene una maggiore precisione. Possono tuttavia verificarsi casi di overfitting e tempi di training più lunghi.

  4. Per Numero minimo di campioni per nodo foglia, indicare il numero di case necessari per creare qualsiasi nodo terminale (foglia) in un albero.

    Aumentando questo valore, aumenta la soglia per la creazione di nuove regole. Ad esempio, con un valore predefinito di 1, anche un singolo caso può determinare la creazione di una nuova regola. Se si aumenta il valore a 5, i dati di training devono contenere almeno 5 casi che soddisfano le stesse condizioni.

  5. Per Learning, digitare un numero compreso tra 0 e 1 che definisce le dimensioni del passaggio durante l'apprendimento.

    La velocità di apprendimento determina la velocità o la lentezza con cui l'apprendimento converge sulla soluzione ottimale. Se le dimensioni del passaggio sono troppo grandi, è possibile che venga sovrascritta la soluzione ottimale. Se le dimensioni del passaggio sono troppo piccole, il training richiede più tempo per convergere sulla soluzione migliore.

  6. In Number of trees constructed (Numero di alberi costruiti) indicare il numero totale di alberi delle decisioni da creare nell'insieme. Creando più alberi delle decisioni, è possibile ottenere una migliore copertura, ma saranno necessari tempi di training maggiori.

    Questo valore controlla anche il numero di alberi visualizzati durante la visualizzazione del modello con training. Se si vuole visualizzare o stampare un singolo albero, impostare il valore su 1. Tuttavia, quando si esegue questa operazione, viene generato un solo albero (l'albero con il set iniziale di parametri) e non vengono eseguite altre iterazioni.

  7. Per Valore di seed casuale, digitare facoltativamente un numero intero non negativo da usare come valore di seed casuale. La specifica di un valore di seeding garantisce la riproducibilità tra le esecuzioni con gli stessi dati e gli stessi parametri.

    Il valore di inizializzazione casuale è impostato per impostazione predefinita su 0, il che significa che il valore di inizializzazione iniziale viene ottenuto dall'orologio di sistema. Le esecuzioni successive che usano un valore di seed casuale possono avere risultati diversi.

  8. Selezionare l'opzione Consenti livelli di categoria sconosciuti per creare un gruppo per i valori sconosciuti nei set di training e convalida.

    Se si deseleziona questa opzione, il modello può accettare solo i valori contenuti nei dati di training.

    Se si consentono valori sconosciuti, il modello potrebbe essere meno preciso per i valori noti, ma probabilmente può fornire stime migliori per i nuovi valori (sconosciuti).

  9. Eseguire il training del modello.

    Nota

    Se si passa un intervallo di parametri a Train Model, viene utilizzato solo il primo valore nell'elenco di intervalli di parametri.

    Se si passa un singolo set di valori di parametro al modulo Tune Model Hyperparameters ,quando si prevede un intervallo di impostazioni per ogni parametro, i valori vengono ignorati e vengono utilizzati i valori predefiniti per lo learner.

    Se si seleziona l'opzione Intervallo di parametri e si immette un singolo valore per qualsiasi parametro, il singolo valore specificato viene usato durante l'intera transazione, anche se altri parametri cambiano in un intervallo di valori.

Risultati

Al termine del training:

  • Per visualizzare l'albero creato a ogni iterazione, fare clic con il pulsante destro del mouse sul modulo Train Model (Training modello) e scegliere Trained model (Modello con training ) per visualizzare. Se si usa Tune Model Hyperparameters (Ottimizza iperparamezzi modello), fare clic con il pulsante destro del mouse sul modulo e scegliere Trained best model (Modello migliore con training) per visualizzare il modello migliore.

    Fare clic su ogni albero per eseguire il drill-down nelle divisioni e visualizzare le regole per ogni nodo.

  • Per usare il modello per l'assegnazione dei punteggi, connetterlo a Score Model per stimare i valori per i nuovi esempi di input.

Esempio

Per esempi di come vengono usati gli alberi delle decisioni con boosted in Machine Learning, vedere l'Azure AI Gallery:

  • Marketing diretto: usa l'algoritmo Two-Class Boosted Decision Tree per stimare l'appetenza dei clienti.

  • Stima dei ritardi dei voli: questo esempio usa l'algoritmo Two-Class Boosted Decision Tree per determinare se è probabile che un volo sia in ritardo.

  • Rischio con carta di credito: questo esempio usa l'algoritmo Two-Class Boosted Decision Tree per stimare il rischio.

Note tecniche

Questa sezione contiene informazioni dettagliate sull'implementazione e domande frequenti.

Suggerimenti per l'uso

  • Per eseguire il training di un modello di albero delle decisioni con boosted, è necessario fornire più istanze di dati. Durante il processo di training viene generato un errore se il set di dati contiene un numero di righe troppo piccolo.

  • Se i dati hanno valori mancanti, è necessario aggiungere indicatori per le funzionalità.

  • In generale, gli alberi delle decisioni con boosting generano risultati migliori quando le funzioni sono in qualche modo correlate. Se le caratteristiche hanno un elevato livello di entropia (ovvero non sono correlate), condividono informazioni poco o nessuna informazione reciproca e l'ordinamento in un albero non produce un significato predittivo elevato. In caso contrario, è possibile provare un modello di foreste casuali.

    L'aumento delle prestazioni funziona bene anche quando sono disponibili molti più esempi rispetto alle funzionalità perché il modello è in grado di eseguire l'overfitting.

  • Non normalizzare il set di dati. Poiché il trattamento delle caratteristiche è un confronto semplice, non parametrico, minore di o maggiore di, la normalizzazione o qualsiasi forma di funzione di trasformazione non monotona potrebbe avere un effetto minore.

  • Le funzioni vengono discretizzate e sottoposte a binning prima del training, in modo che venga considerato solo un set relativamente ridotto di soglie, anche per le funzionalità continue.

Dettagli dell'implementazione

Per informazioni dettagliate sull'algoritmo dell'albero delle decisioni con boosting, vedere Greedy Function Approximation: A Gradient Boosting Machines (Approssimazione di funzioni greedy: macchine con boosting a gradienti).

L'algoritmo di albero delle decisioni con boosting Machine Learning usa il metodo di boosting seguente:

  1. Iniziare con un insieme vuoto di strumenti di apprendimento vulnerabili.

  2. Per ogni esempio di training, ottenere l'output dell'insieme corrente; Si tratta della somma degli output di tutti gli studenti deboli nell'insieme.

  3. Calcolare la sfumatura della funzione di perdita per ogni esempio.

    Ciò dipende dal fatto che l'attività sia un problema di classificazione binaria o un problema di regressione.

    • In un modello di classificazione binario, viene usata la perdita di log, in modo analogo alla regressione logistica.

    • In un modello di regressione, viene usata la perdita al quadrato e il gradiente è l'output corrente, meno la destinazione.

  4. Usare gli esempi per adattare uno strumento di apprendimento debole, usando la sfumatura appena definita come funzione di destinazione.

  5. Aggiungere lo strumento di apprendimento vulnerabile all'insieme con un livello di complessità indicato dalla velocità di apprendimento e, se lo si desidera, andare al passaggio 2.

    In questa implementazione, gli studenti deboli sono gli alberi di regressione dei meno quadrati, in base alle sfumature calcolate nel passaggio 3. Gli alberi sono soggetti alle seguenti restrizioni:

    • Viene eseguito il training fino a un numero massimo di foglie.

    • Ogni foglia ha un numero minimo di esempi per evitare l'overfitting.

    • Ogni nodo decisione è una singola funzione che viene confrontata con una soglia. Se tale funzione è minore o uguale alla soglia, si verifica l'interruzione di un percorso e se è superiore alla soglia, si verifica l'interruzione degli altri percorsi.

    • Ogni nodo foglia è un valore costante.

  6. L'algoritmo di creazione di alberi seleziona in modo greedily la funzionalità e la soglia per cui una divisione riduce al minimo la perdita quadratica rispetto alla sfumatura calcolata nel passaggio 3. La selezione della divisione è soggetta a un numero minimo di esempi di training per foglia.

    L'algoritmo si divide ripetutamente fino a quando non raggiunge il numero massimo di foglia o fino a quando non è disponibile alcuna suddivisione valida.

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Maximum number of leaves per tree >=1 Integer 20 Specifica il numero massimo di foglie consentito per ogni albero.
Minimum number of samples per leaf node >=1 Integer 10 Specifica il numero minimo di casi necessari per formare una foglia.
Velocità di apprendimento [double.Epsilon;1.0] Float 0,2 Specifica la velocità di apprendimento iniziale.
Total number of trees constructed >=1 Integer 100 Specifica il numero massimo di alberi che è possibile creare durante il training
Random number seed Qualsiasi Integer Digitare un valore per inizializzare il generatore di numeri casuali usato dal modello. Lasciare vuoto per impostazione predefinita.
Allow unknown categorical levels Qualsiasi Boolean True Se True, viene creato un ulteriore livello per ogni colonna categorica. Tutti i livelli del set di dati di test non disponibili nel training set verranno mappati a questo livello aggiuntivo.

Output

Nome Tipo Descrizione
Untrained model ILearner interface Modello di classificazione binaria senza training

Vedi anche

Classificazione
Boosted Decision Tree Regression (Regressione albero delle decisioni con boosting)
Elenco moduli A-Z