Foresta delle decisioni a due classi

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 modello di classificazione a due classi usando l'algoritmo di foresta delle decisioni

Categoria: Machine Learning/Inizializza modello/classificazione

Nota

Si applica a: Machine Learning Studio (versione classica)

Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Foresta decisionale a due classi in Machine Learning Studio (versione classica) per creare un modello di Machine Learning basato sull'algoritmo delle foreste decisionali.

Le foreste decisionali sono modelli di ensemble con supervisione rapida. Questo modulo è una buona scelta se si vuole stimare un obiettivo con un massimo di due risultati. Se non si è certi di come configurare un modello di albero delle decisioni per ottenere risultati ottimali, è consigliabile usare il modulo Ottimizzare gli iperparamermi del modello per eseguire il training e il test di più modelli. l'ottimizzazione scorre più possibilità e trova la soluzione ottimale per l'utente.

Informazioni sulle foreste decisionali

Questo algoritmo di foresta decisionale è un metodo di apprendimento di insieme destinato alle attività di classificazione. I metodi di ensemble si basano sul principio generale che, anziché basarsi su un singolo modello, è possibile ottenere risultati migliori e un modello più generalizzato creando più modelli correlati e combinandoli in qualche modo. In genere, i modelli di insieme offrono una copertura e un'accuratezza migliori rispetto a singoli alberi delle decisioni.

Esistono molti modi per creare singoli modelli e combinarli in un insieme. Questa particolare implementazione di una foresta decisionale funziona creando più alberi delle decisioni e quindi votando sulla classe di output più diffusa. Il voto è uno dei metodi più noti per la generazione di risultati in un modello di insieme.

  • Vengono creati molti singoli alberi di classificazione, usando l'intero set di dati, ma punti di partenza diversi (in genere casuali). Ciò differisce dall'approccio della foresta casuale, in cui i singoli alberi delle decisioni potrebbero usare solo una parte casuale dei dati o delle funzionalità.
  • Ogni albero nell'albero della foresta decisionale restituisce un istogramma di frequenza non normalizzato di etichette.
  • Il processo di aggregazione somma questi istogrammi e normalizza il risultato per ottenere le "probabilità" per ogni etichetta.
  • Gli alberi con attendibilità stimata elevata avranno un peso maggiore nella decisione finale dell'insieme.

Gli alberi delle decisioni in generale presentano molti vantaggi per le attività di classificazione:

  • Possono acquisire limiti decisionali non lineari.
  • È possibile eseguire il training e la stima su un numero elevato di dati, in quanto sono efficienti nel calcolo e nell'utilizzo della memoria.
  • La selezione delle funzionalità è integrata nei processi di training e classificazione.
  • Gli alberi possono contenere dati rumorosi e molte funzionalità.
  • Si tratta di modelli non parametrici, ovvero possono gestire i dati con distribuzioni diverse.

Tuttavia, gli alberi delle decisioni semplici possono essere overfit sui dati e sono meno generalizzabili rispetto agli insiemi di strutture ad albero.

Per altre informazioni, vedere Foreste decisionali o gli altri documenti elencati nella sezione Note tecniche.

Come configurare la foresta Two-Class decisionale

  1. Aggiungere il modulo Two-Class Decision Forest all'esperimento in Machine Learning Studio (versione classica) e aprire il riquadro Proprietà del modulo.

    È possibile trovare il modulo in Machine Learning. Espandere Inizializza e quindi Classificazione.

  2. Per Il metodo di ricampionamento scegliere il metodo usato per creare i singoli alberi. È possibile scegliere tra Bagging o Replicate.

    • Bagging: Bagging è anche detto aggregazione bootstrap. In questo metodo ogni albero viene aumentato in base a un nuovo campione, creato tramite il campionamento casuale del set di dati originale con sostituzione fino a quando non si dispone di un set di dati delle dimensioni dell'originale.

      Gli output dei modelli vengono combinati tramite voto, che è una forma di aggregazione. Ogni albero in una foresta decisionale di classificazione restituisce un istogramma di frequenza non normalizzato di etichette. L'aggregazione è sommare questi istogrammi e normalizzare per ottenere le "probabilità" per ogni etichetta. In questo modo, gli alberi con una stima elevata avranno un peso maggiore nella decisione finale dell'insieme.

      Per altre informazioni, vedere la voce Wikipedia per l'aggregazione bootstrap.

    • Replica: nella replica ogni albero viene addestrato esattamente sugli stessi dati di input. La determinazione del predicato di divisione usato per ogni nodo dell'albero rimane casuale e gli alberi saranno diversi.

      Per altre informazioni sul processo di training con l'opzione Replica , vedere i documenti elencati nella sezione Note tecniche.

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

    • Singolo parametro: 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 specificando più valori e usando il modulo Tune Model Hyperparameters per trovare la configurazione ottimale. Il trainer scorre più combinazioni delle impostazioni fornite e determina la combinazione di valori che produce il modello migliore.

  4. In Numero di alberi delle decisioni digitare il numero massimo di alberi delle decisioni che è possibile creare nell'insieme. Creando più alberi delle decisioni, è possibile ottenere una copertura migliore, ma il tempo di training aumenta.

    Nota

    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, è possibile impostare il valore su 1. Tuttavia, è possibile produrre un solo albero (l'albero con il set iniziale di parametri) e non vengono eseguite altre iterazioni.

  5. In Profondità massima degli alberi delle decisioni digitare un numero per limitare la profondità massima di qualsiasi albero delle decisioni. L'aumento della profondità dell'albero potrebbe aumentare la precisione, con il rischio però di overfitting e di aumento dei tempi di training.

  6. In Numero di divisioni casuali per nodo digitare il numero di divisioni da usare durante la compilazione di ogni nodo dell'albero. Una divisione indica che le funzionalità in ogni livello dell'albero (nodo) vengono suddivise in modo casuale.

  7. Per Numero minimo di campioni per nodo foglia, indicare il numero minimo 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.

  8. Selezionare l'opzione Consenti valori sconosciuti per le funzionalità categoriche per creare un gruppo per i valori sconosciuti nei set di training o di convalida. Il modello potrebbe essere meno preciso per i valori noti, ma può fornire stime migliori per i nuovi valori (sconosciuti).

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

  9. Collegare un set di dati con etichetta e uno dei moduli di training:

    Nota

    Se si passa un intervallo di parametri a Train Model, viene usato 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 prevede un intervallo di impostazioni per ogni parametro, ignora i valori e usa i valori predefiniti per lo learner.

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

Risultati

Al termine del training:

  • Per visualizzare l'albero creato in ogni iterazione, fare clic con il pulsante destro del mouse sul modulo Train Model (Train Model) e scegliere Trained model (Modello con training ) da visualizzare. Se si usano gli iperparametratori Tune Model (Ottimizza iperparamezzi modello), fare clic con il pulsante destro del mouse sul modulo e scegliere Trained Best Model (Modello con training ottimale) per visualizzare il modello migliore.

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

  • Per salvare uno snapshot del modello, fare clic con il pulsante destro del mouse sull'output del modello con training e scegliere Salva modello. Il modello salvato non viene aggiornato nelle esecuzioni successive dell'esperimento.

  • Per usare il modello per l'assegnazione dei punteggi, aggiungere il modulo Score Model (Punteggio modello ) a un esperimento.

Esempio

Per esempi di come vengono usate le foreste decisionali in Machine Learning, vedere gli esperimenti di esempio nel Azure AI Gallery:

Note tecniche

Questa sezione contiene informazioni aggiuntive sull'implementazione, ricerche e domande frequenti.

Suggerimenti per l'uso

Se i dati sono limitati o se si vuole ridurre al minimo il tempo impiegato per il training del modello, provare queste impostazioni:

Set di training limitato

Se il training set include un numero limitato di istanze:

  • Creare la foresta delle decisioni usando un numero elevato di alberi delle decisioni, ad esempio più di 20.
  • Usare l'opzione Bagging per ripetere il campionamento.
  • Specificare un numero elevato di divisioni casuali per ogni nodo, ad esempio più di 1.000.

Tempo di training limitato

Se il training set contiene un numero elevato di istanze e il tempo di training è limitato:

  • Creare la foresta delle decisioni usando un numero minore di alberi delle decisioni, ad esempio da 5 a 10.
  • Usare l'opzione Replicate per ripetere il campionamento.
  • Specificare un numero inferiore di divisioni casuali per ogni nodo, ad esempio meno di 100.

Dettagli dell'implementazione

Questo articolo di Microsoft Research fornisce informazioni utili sui metodi di insieme che usano gli alberi delle decisioni. Da stump a alberi a foreste.

Per altre informazioni sul processo di training con l'opzione Replicate, vedere Decision Forests for Visione artificiale and Medical Image Analysis. Haisi e J. Shotton. Springer 2013.

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Resampling method Qualsiasi ResamplingMethod Bagging Scegliere un metodo di ripetizione del campionamento
Number of decision trees >=1 Integer 8 Specificare il numero di alberi delle decisioni da creare nell'insieme
Maximum depth of the decision trees >=1 Integer 32 Specifica la profondità massima degli alberi delle decisioni che possono essere creati
Number of random splits per node >=1 Integer 128 Specifica il numero di divisioni generate per ogni nodo, da cui viene selezionata la divisione ottimale
Minimum number of samples per leaf node >=1 Integer 1 Specifica il numero minimo di esempi di training necessari per generare un nodo foglia
Allow unknown values for categorical features Qualsiasi Boolean True Indica se i valori sconosciuti delle funzioni categoriche esistenti possono essere mappati a una nuova funzione aggiuntiva

Output

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

Vedi anche

Classificazione
Decision Forest Regression (Regressione foresta delle decisioni)
Foresta delle decisioni multiclasse
Elenco moduli A-Z