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).
- Vedere leinformazioni sullo spostamento di progetti di Machine Learning da ML Studio (versione classica) ad Azure Machine Learning.
- Altre informazioni sulle Azure Machine Learning.
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.
Per creare un modello di regressione quantile usando parametri fissi
Per creare un modello di regressione quantile usando uno sweep di 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).
Aggiungere il modulo Fast Forest Quantile Regression all'esperimento in Studio (versione classica).
Impostare l'opzione Crea modalità trainer su Parametro singolo.
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.
In Numero di foglia digitare il numero massimo di nodi del terminale che è possibile creare in qualsiasi albero.
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
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.
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.
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.
Per Quantile sample count (Numero di campioni quantili) digitare il numero di case da valutare durante la stima dei quantili.
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
.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.
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).
Connessione un set di dati di training, selezionare una colonna con etichetta singola e connettere Train Model (Train Model).
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.
Aggiungere il modulo Fast Forest Quantile Regression all'esperimento in Studio (versione classica).
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.
Per Numero massimo di foglia per albero, digitare il numero totale di alberi, o nodi terminali, da consentire in ogni albero.
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.
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.
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.
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.
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.
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.
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
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.
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).
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.
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.
Ricerca correlata
Per altre informazioni sulla regressione quantile, vedere questi libri e articoli:
Quantile Regression Forests. Nicolai Meinshausen
http://jmlr.org/papers/volume7/meinshausen06a/meinshausen06a.pdf
Random forests. Leo Breiman.
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. |