Regressione quantile della foresta rapida

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 regressione quantile

Categoria: Machine Learning/Inizializza modello/regressione

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 Fast Forest Quantile Regression in Machine Learning Studio (versione classica) per creare un modello di regressione in grado di stimare i valori per un numero specificato di quantili.

La regressione quantile è utile per conoscere meglio la distribuzione dei valori stimati, invece di ottenere un solo valore medio dalla stima. Questo metodo ha molte applicazioni, tra cui:

  • Stima dei prezzi

  • Stima delle prestazioni degli studenti o applicazione di percentili di crescita per valutare lo sviluppo dei bambini

  • Individuazione di relazioni predittive nei casi in cui esista solo una relazione debole tra le variabili

Questo algoritmo di regressione è un metodo di apprendimento con supervisione, ovvero richiede un set di dati con tag che include una colonna etichetta. Poiché si tratta di un algoritmo di regressione, la colonna etichetta deve contenere solo valori numerici.

Altre informazioni sulla regressione quantile

Esistono molti tipi diversi di regressione. Nel suo significato più semplice la regressione è l'adattamento di un modello a una destinazione espressa come vettore numerico. Gli statistici hanno tuttavia sviluppato metodi di regressione sempre più avanzati.

La definizione più semplice di quantile è un valore che divide un set di dati in gruppi di dimensioni uguali. Di conseguenza, i valori quantili contrassegnano i limiti tra i gruppi. Statisticamente, i quantili sono valori presi a intervalli regolari dall'inverso della funzione di distribuzione cumulativa (CDF) di una variabile casuale.

Mentre i modelli di regressione lineare tentano di stimare il valore di una variabile numerica usando una singola stima, la media, talvolta è necessario stimare l'intervallo o l'intera distribuzione della variabile di destinazione. A questo scopo sono state sviluppate tecniche come la regressione bayesiana e la regressione quantile.

La regressione quantile consente di comprendere la distribuzione del valore previsto. I modelli di regressione quantile ad albero, come quello usato in questo modulo, hanno l'ulteriore vantaggio di poter essere usati per stimare le distribuzioni non parametriche.

Per conoscere altri dettagli sull'implementazione e sulle risorse, vedere la sezione Note tecniche.

Come configurare la regressione Fast_Forest quantile

È possibile configurare le proprietà del modello di regressione usando questo modulo e quindi eseguire il training usando uno dei moduli di training.

I passaggi di configurazione variano notevolmente a seconda che si fornica un set fisso di parametri o si configura uno sweep dei parametri.

Creare un modello di regressione quantile usando parametri fissi

Supponendo di sapere come si vuole configurare il modello, è possibile fornire un set specifico di valori come argomenti. Quando si esegue il training del modello, usare Train Model (Train Model).

  1. Aggiungere il modulo Fast Forest Quantile Regression all'esperimento in Studio (versione classica).

  2. Impostare l'opzione Crea modalità trainer su Parametro singolo.

  3. In Numero di alberi digitare il numero massimo di alberi che è possibile creare nell'insieme. La creazione di più alberi in genere garantisce una maggior precisione, ma anche tempi di training più lunghi.

  4. In Numero di foglia digitare il numero massimo di nodi del terminale che è possibile creare in qualsiasi albero.

  5. Per Numero minimo di istanze di training necessarie per formare una foglia, specificare il numero minimo di esempi 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 case che soddisfano le stesse condizioni

  6. Per Frazione bagging specificare un numero compreso tra 0 e 1 che rappresenta la frazione di campioni da usare per la compilazione di ogni gruppo di quantili. I campioni vengono scelti in modo casuale, con sostituzione.

  7. Per Frazione funzionalità digitare un numero compreso tra 0 e 1 che indica la frazione delle caratteristiche totali da usare per la compilazione di un albero specifico. Le funzionalità vengono sempre scelte casualmente.

  8. Per Frazione di divisione digitare un numero compreso tra 0 e 1 che rappresenta la frazione di funzionalità da usare in ogni divisione dell'albero. Le funzionalità usate vengono sempre scelte casualmente.

  9. Per Quantile sample count (Numero di campioni quantili) digitare il numero di case da valutare durante la stima dei quantili.

  10. Per Quantili da stimare, digitare un elenco delimitato da virgole dei quantili per cui si vuole che il modello eseezioni il training e la creazione di stime.

    Ad esempio, se si vuole compilare un modello che stima i quartili, digitare 0.25, 0.5, 0.75.

  11. Facoltativamente, digitare un valore per Valore di valore casuale per il valore di seed del generatore di numeri casuali usato dal modello. L'impostazione predefinita è 0, che indica che viene scelto un valore di inizializzazione casuale.

    È necessario specificare un valore se è necessario riprodurre i risultati in esecuzioni successive sugli stessi dati.

  12. Selezionare l'opzione Consenti livelli di categoria sconosciuti per creare un gruppo per valori sconosciuti.

    Se viene deselezionata, il modello può accettare solo i valori contenuti nei dati di training.

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

  13. Connessione un set di dati di training, selezionare una colonna con etichetta singola e connettere Train Model (Train Model).

  14. Eseguire l'esperimento.

Usare uno sweep di parametri per creare un modello di regressione quantile

Se non si è certi dei parametri ottimali per il modello, è possibile configurare uno sweep dei parametri e specificare un intervallo di valori come argomenti. Quando si esegue il training del modello, usare il modulo Ottimizzare gli iperparamermi del modello.

  1. Aggiungere il modulo Fast Forest Quantile Regression all'esperimento in Studio (versione classica).

  2. Impostare l'opzione Crea modalità trainer su Intervallo parametri.

    Se non si è certi dei parametri migliori, è consigliabile eseguire uno sweep dei parametri. Specificando più valori e usando il modulo Tune Model Hyperparameters per eseguire il training del modello, è possibile trovare il set ottimale di parametri per i dati.

    Dopo aver scelto uno sweep di parametri, per ogni proprietà per cui è possibile eseguire iltunable, è possibile impostare un singolo valore o più valori. Ad esempio, è possibile decidere di correggere il numero di alberi, ma modificare in modo casuale altri valori che controllano la modalità di generazione di ogni albero.

    • Se si digita un singolo valore, tale valore viene usato in tutte le iterazioni dello sweep, anche se cambiano altri valori.

    • Digitare un elenco delimitato da virgole di valori discreti da usare. Questi valori vengono usati in combinazione con altre proprietà.

    • Usare Generatore di intervalli per definire un intervallo di valori continui.

    Durante il processo di training, il modulo Tune Model Hyperparameters scorre varie combinazioni dei valori per creare il modello migliore.

  3. Per Numero massimo di foglia per albero, digitare il numero totale di alberi, o nodi terminali, da consentire in ogni albero.

  4. In Numero di alberi costruiti digitare il numero di iterazioni da eseguire durante la costruzione dell'insieme. Creando più alberi, è possibile ottenere una copertura migliore, a scapito di un maggiore tempo di training.

  5. Per Numero minimo di campioni per nodo foglia, indicare il numero di case necessari per creare un nodo foglia.

    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.

  6. In Intervallo per frazione bagging digitare la frazione di campioni da usare per la compilazione di ogni gruppo di quantili. I campioni vengono scelti in modo casuale, con sostituzione.

    Ogni frazione deve essere un numero compreso tra 0 e 1. Separare più frazioni usando virgole.

  7. In Intervallo per frazione di funzionalità digitare la frazione delle caratteristiche totali da usare per la compilazione di ogni gruppo di quantili. Le funzionalità vengono scelte in modo casuale.

    Ogni frazione deve essere un numero compreso tra 0 e 1. separare più frazioni usando virgole.

  8. In Intervallo per frazione di divisione specificare alcune frazioni di caratteristiche da usare in ogni gruppo di quantili. Le funzionalità effettive usate vengono scelte in modo casuale.

    Ogni frazione deve essere un numero compreso tra 0 e 1. separare più frazioni usando virgole.

  9. In Conteggio dei campioni usato per stimare i quantili, indicare quanti campioni devono essere valutati durante la stima dei quantili. Se si digita un numero maggiore del numero di esempi disponibili, vengono usati tutti gli esempi.

  10. In Valori quantili obbligatori digitare un elenco delimitato da virgole dei quantili su cui si vuole eseguire il training del modello. Ad esempio, se si vuole creare un modello che stima i quartili, digitare '0,25, 0,5, 0,75

  11. In Valore di serie numero casuale digitare un valore per eseguire il seeded del generatore di numeri casuali usato dal modello. L'uso di un valore di inizializzazione è utile per riprodurre le esecuzioni duplicate.

    L'impostazione predefinita è 0, che indica che viene scelto un valore di inizializzazione casuale.

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

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

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

  13. Connessione set di dati di training, selezionare la colonna etichetta e connettere il modulo Ottimizzare gli iperparamermi del modello.

    Nota

    Non usare Il training del modello. Se si configura un intervallo di parametri ma si usa il training con Train Model, viene utilizzato solo il primo valore nell'elenco di intervalli di parametri.

  14. Eseguire l'esperimento.

Risultati

Al termine del training:

  • Per visualizzare gli iperparamezzi finali del modello ottimizzato, fare clic con il pulsante destro del mouse sull'output di Ottimizza iperparamezzi modello e scegliere Visualizza.

Esempio

Per esempi su come usare questo modulo, vedere l'Azure AI Gallery:

  • Regressione quantile: illustra come compilare e interpretare un modello di regressione quantile usando il set di dati del prezzo automatico.

Note tecniche

Questa sezione contiene informazioni dettagliate sull'implementazione, suggerimenti e risposte alle domande frequenti.

Dettagli dell'implementazione

Il modulo Fast Forest Quantile Regression Machine Learning è un'implementazione della regressione quantile della foresta casuale tramite alberi delle decisioni. Le foreste casuali possono essere utili per evitare l'overfitting che può verificarsi con gli alberi delle decisioni. Un albero delle decisioni è un diagramma di flusso ad albero binario, dove a ogni nodo interno, si decide a quale dei due nodi figlio passare, in base al valore di una delle funzionalità dell'input.

In ogni nodo foglia, viene restituito un valore. Nei nodi interni la decisione si basa sul test ''x≤v', dove x è il valore della funzionalità nell'esempio di input e v è uno dei valori possibili di questa funzionalità. Le funzioni che possono essere generate da un albero di regressione sono tutte le funzioni costanti a tratti.

In una foresta casuale viene creato un insieme di alberi usando bagging per selezionare un subset di campioni casuali e funzionalità dei dati di training e quindi adattare un albero delle decisioni a ogni subset di dati. Diversamente dall'algoritmo di foresta casuale, che calcola la media dell'output di tutti gli alberi, Fast Forest Quantile Regression mantiene tutte le etichette stimate negli alberi specificati dal parametro Quantile sample count e restituisce la distribuzione. L'utente può quindi visualizzare i valori quantili per l'istanza specificata.

Per altre informazioni sulla regressione quantile, vedere questi libri e articoli:

Parametri del modulo

Nome Tipo Intervallo Facoltativo Descrizione Predefinito
Create trainer mode CreateLearnerMode List:SingleParameter|ParameterRange Necessario Parametro singolo Opzioni di creazione dello strumento di apprendimento avanzato
Numero di alberi Integer mode:SingleParameter 100 Specificare il numero di alberi da costruire
Numero di foglie Integer mode:SingleParameter 20 Specificare il numero massimo di foglie per ogni albero. Il numero predefinito è 20
Minimum number of training instances required to form a leaf Integer mode:SingleParameter 10 Indica il numero minimo di istanze di training necessari per formare una foglia
Bagging fraction Float mode:SingleParameter 0,7 Specifica la frazione di dati del training da usare per ogni albero
Feature fraction Float mode:SingleParameter 0,7 Specifica la frazione di funzionalità (scelte in modo casuale) da usare per ogni albero
Split fraction Float mode:SingleParameter 0,7 Specifica la frazione di funzionalità (scelte in modo casuale) da usare per ogni divisione
Quantile sample count Integer Max: 2147483647 mode:SingleParameter 100 Specifica il numero di istanze usate in ogni nodo per stimare i quantili
Quantiles to be estimated string mode:SingleParameter "0,25;0,5;0,75" Specifica il quantile da stimare
Random number seed Integer Facoltativo Specifica un valore di inizializzazione per il generatore di numeri casuali usato dal modello. Lasciare vuoto per impostazione predefinita.
Allow unknown categorical levels Boolean Necessario true Se true, crea un livello aggiuntivo per ogni colonna categorica. I livelli del set di dati di test non disponibili nel set di dati di training verranno mappati a questo livello aggiuntivo.
Maximum number of leaves per tree ParameterRangeSettings [16;128] mode:ParameterRange 16; 32; 64 Specificare l'intervallo per il numero massimo di foglie consentito per ogni albero
Total number of trees constructed ParameterRangeSettings [1;256] mode:ParameterRange 16; 32; 64 Specificare l'intervallo per il numero massimo di alberi che è possibile creare durante il training
Minimum number of samples per leaf node ParameterRangeSettings [1;10] mode:ParameterRange 1; 5; 10 Specifica l'intervallo per il numero minimo di casi necessari per formare una foglia
Intervallo per la frazione di bagging ParameterRangeSettings [0.25;1.0] mode:ParameterRange 0.25; 0.5; 0.75 Specifica l'intervallo per la frazione di dati del training da usare per ogni albero
Intervallo per la frazione di funzionalità ParameterRangeSettings [0.25;1.0] mode:ParameterRange 0.25; 0.5; 0.75 Specifica l'intervallo per la frazione di funzionalità (scelte in modo casuale) da usare per ogni albero
Intervallo per la frazione di divisione ParameterRangeSettings [0.25;1.0] mode:ParameterRange 0.25; 0.5; 0.75 Specifica l'intervallo per la frazione di funzionalità (scelte in modo casuale) da usare per ogni divisione
Conteggio di esempio usato per stimare i quantili Integer mode:ParameterRange 100 Conteggio di esempio usato per stimare i quantili
Valori quantile obbligatori string mode:ParameterRange "0,25;0,5;0,75" Valore quantile obbligatorio usato durante lo sweep del parametro

Output

Nome Tipo Descrizione
Untrained model ILearner interface Modello di regressione quantile senza training che può essere connesso ai moduli Train Generic Model o Cross Validate Model.

Vedi anche

Regressione