Condividi tramite


Componente Albero delle decisioni con boosting a due classi

Questo articolo descrive un componente nella finestra di progettazione di Azure Machine Learning.

Usare questo componente per creare un modello di Machine Learning basato sull'algoritmo boosted decision trees.

Un albero delle decisioni con boosting è un metodo di apprendimento completo 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 eseguono la stima.

In genere, quando sono configurati correttamente, gli alberi delle decisioni con boosting 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 a elevato utilizzo di memoria e l'implementazione corrente contiene tutto in memoria. Pertanto, un modello di albero delle decisioni con boosting potrebbe non essere in grado di elaborare i set di dati di grandi dimensioni che alcuni studenti lineari possono gestire.

Questo componente è basato sull'algoritmo LightGBM.

Modalità di configurazione

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

È possibile eseguire il training di questo tipo di modello usando Train Model .You can train this type of model using Train Model.

  1. In Azure Machine Learning aggiungere il componente Boosted Decision Tree alla pipeline.

  2. Specificare la modalità di training del modello impostando l'opzione Crea modalità di training.

    • Singolo parametro: se si sa come 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 componente Ottimizza iperparametri del modello. È possibile fornire un intervallo di valori e il formatore esegue l'iterazione su più combinazioni delle impostazioni per determinare la combinazione di valori che producono il risultato migliore.

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

    Aumentando questo valore, è possibile aumentare le dimensioni dell'albero e ottenere una maggiore precisione, a rischio di overfitting e tempo di training più lungo.

  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, si aumenta la soglia per la creazione di nuove regole. Ad esempio, con il valore predefinito 1, anche un singolo caso può causare la creazione di una nuova regola. Se si aumenta il valore a 5, i dati di training devono contenere almeno cinque case che soddisfano le stesse condizioni.

  5. Per Frequenza di apprendimento 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 superare la soluzione ottimale. Se le dimensioni del passaggio sono troppo piccole, il training richiede più tempo per convergere sulla soluzione migliore.

  6. Per Numero di alberi costruiti, indicare il numero totale di alberi delle decisioni da creare nell'insieme. Creando più alberi delle decisioni, è possibile ottenere una copertura migliore, ma il tempo di training aumenterà.

    Se si imposta il valore su 1, viene generato un solo albero (l'albero con il set iniziale di parametri) e non vengono eseguite altre iterazioni.

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

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

  8. Eseguire il training del modello:

    • Se si imposta Create trainer mode (Crea modalità trainer) su Single Parameter (Parametro singolo), connettere un set di dati con tag e il componente Train Model (Train Model ).

    • Se si imposta La modalità di training su Intervallo di parametri, connettere un set di dati con tag ed eseguire il training del modello usando Ottimizzazione degli iperparametri del modello.

    Nota

    Se si passa un intervallo di parametri a Train Model, viene usato solo il valore predefinito nell'elenco dei singoli parametri.

    Se si passa un singolo set di valori di parametro al componente Tune Model Hyperparameters , quando prevede un intervallo di impostazioni per ogni parametro, ignora i valori e usa i valori predefiniti per lo strumento di apprendimento.

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

Risultati

Al termine del training:

  • Per salvare uno snapshot del modello sottoposto a training, selezionare la scheda Output nel pannello destro del componente Train model (Esegui training modello). Selezionare l'icona Registra set di dati per salvare il modello come componente riutilizzabile.

  • Per usare il modello per l'assegnazione dei punteggi, aggiungere il componente Score Model a una pipeline.

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.