Regressione di Poisson
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 che presuppone che i dati presentino una distribuzione di Poisson
Categoria: Machine Learning/Inizializza modello/Regressione
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 Poisson Regression in Machine Learning Studio (versione classica) per creare un modello di regressione di Poisson.
La regressione di Poisson è destinata all'uso nei modelli di regressione usati per stimare i valori numerici, in genere i conteggi. Pertanto, è consigliabile usare questo modulo per creare il modello di regressione solo se i valori che si sta tentando di stimare si adattano alle condizioni seguenti:
La variabile di risposta ha una distribuzione poisson.
I conteggi non possono essere negativi. Il metodo avrà esito negativo se si tenta di usarlo con etichette negative.
Una distribuzione di Poisson è una distribuzione discreta. Pertanto, non è significativo usare questo metodo con numeri non interi.
Suggerimento
Se la destinazione non è un conteggio, la regressione di Poisson probabilmente non è un metodo appropriato. Provare uno degli altri moduli in questa categoria. Per informazioni sulla scelta di un metodo di regressione, vedere la scheda di riferimento Machine Learning'algoritmo.
Dopo aver configurato il metodo di regressione, è necessario eseguire il training del modello usando un set di dati contenente esempi del valore da stimare. Sarà quindi possibile usare il modello con training per ottenere stime.
Altre informazioni sulla regressione di Poisson
La regressione di Poisson è un tipo speciale di analisi di regressione, usato in genere per modelli di conteggi. Ad esempio, la regressione di Poisson risulta utile nei seguenti casi:
Modellazione del numero di raffreddori associati ai viaggi in aereo
Stima del numero di chiamate al servizio di emergenza durante un evento
Proiettare il numero di richieste dei clienti successive a una promozione
Creazione di tabelle di contingenza
Poiché la variabile di risposta ha una distribuzione di Poisson, il modello fa ipotesi diverse sui dati e sulla relativa distribuzione di probabilità rispetto, ad esempio, alla regressione dei meno quadrati. Pertanto, i modelli di Poisson devono essere interpretati in modo diverso rispetto ad altri modelli di regressione.
Come configurare la regressione di Poisson
Aggiungere il modulo Poisson Regression all'esperimento in Studio (versione classica).
È possibile trovare questo modulo in Machine Learning - Inizializza nella categoria Regressione.
Aggiungere un set di dati che contiene i dati di training del tipo corretto.
È consigliabile usare Normalize Data (Normalizza dati ) per normalizzare il set di dati di input prima di usarlo per eseguire il training del regressore.
Nel riquadro Proprietà del modulo Poisson Regression specificare come si vuole eseguire il training del modello impostando l'opzione Create trainer mode (Crea modalità di training ).
Parametro singolo: se si sa come si vuole configurare il modello, specificare un set specifico di valori come argomenti.
Intervallo di parametri. Se non si è certi dei parametri migliori, eseguire uno sweep di parametri usando il modulo Tune Model Hyperparameters (Ottimizza iperparamezzi modello ). L'trainer scorre più valori specificati per trovare la configurazione ottimale.
Tolleranza di ottimizzazione: digitare un valore che definisce l'intervallo di tolleranza durante l'ottimizzazione. Minore il valore, più lento e più preciso sarà l'adattamento.
L1 regularization weight ( Peso regolarizzazione L1) e L2 regularization weight (Peso regolarizzazione L2): digitare i valori da usare per la regolarizzazione L1 e L2. Regularization aggiunge vincoli all'algoritmo relativi ad aspetti del modello indipendenti dai dati di training e viene usata anche per evitare l'overfitting.
La regolarizzazione di tipo L1 è utile se l'obiettivo consiste nell'ottenere un modello il più possibile sparse.
La regolarizzazione di tipo L1 viene eseguita mediante la sottrazione del peso L1 del vettore di peso dall'espressione di perdita che lo strumento di apprendimento sta cercando di ridurre al minimo. La norma L1 costituisce una buona approssimazione alla norma L0, che corrisponde al numero di coordinate diverse da zero.
La regolarizzazione di tipo L2 impedisce a qualsiasi coordinata singola del vettore di peso di raggiungere una dimensione troppo elevata e risulta quindi utile se l'obiettivo consiste nell'ottenere un modello con pesi complessivi ridotti.
In questo modulo è possibile applicare una combinazione di regolarizzazioni di tipo L1 e L2. Combinando la regolarizzazione L1 e L2, è possibile imporre una penalità sulla grandezza dei valori dei parametri. Lo strumento di apprendimento tenta di ridurre al minimo la penalità, cercando di raggiungere un compromesso con la riduzione al minimo della perdita.
Per una buona discussione sulla regolarizzazione L1 e L2, vedere Regolarizzazione L1 e L2 per Machine Learning.
Dimensioni della memoria per L-BFGS: specificare la quantità di memoria da riservare per l'adattamento e l'ottimizzazione del modello.
L-BFGS è un metodo specifico per l'ottimizzazione, basato sull'algoritmo Broyden-Fletcher-Goldfarb-Kbno (BFGS). Il metodo usa una quantità limitata di memoria (L) per calcolare la direzione del passaggio successivo.
Modificando questo parametro, è possibile influire sul numero di posizioni e sfumature precedenti archiviate per il calcolo del passaggio successivo.
Connessione il set di dati di training e il modello senza training a uno dei moduli di training:
Se si imposta Create trainer mode (Modalità di training ) su Single Parameter (Parametro singolo), usare il modulo Train Model (Training modello).
Se si imposta Create trainer mode (Crea modalità di trainer ) su Parameter Range (Intervallo parametri), usare il modulo Tune Model Hyperparameters (Ottimizza iperparametre modello ).
Avviso
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, vengono ignorati i valori 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.
Eseguire l'esperimento per eseguire il training del modello.
Esempio
Per esempi di come viene usata la regressione di Poisson in Machine Learning, vedere l'Azure AI Gallery.
Esempio 6: Training, test, valutazione per la regressione: importazione automatica del set di dati: questo esperimento confronta i risultati di due algoritmi: La regressione di Poisson e la regressione della foresta delle decisioni.
Manutenzione preventiva: procedura dettagliata estesa che usa la regressione di Poisson per valutare la gravità degli errori stimati da un modello di foresta delle decisioni.
Note tecniche
La regressione di Poisson viene usata per modellare i dati di conteggio, presupponendo che l'etichetta abbia una distribuzione di Poisson. Ad esempio, è possibile usarlo per stimare il numero di chiamate a un centro di assistenza clienti in un determinato giorno.
Per questo algoritmo si presuppone che una funzione sconosciuta, nota come Y, abbia una distribuzione di Poisson. La distribuzione di Poisson è definita come segue:
Data l'istanza x = (x0, ..., xd-1), per ogni k=0,1, ..., il modulo calcola la probabilità che il valore dell'istanza sia k.
Dato il set di esempi di training, l'algoritmo tenta di trovare i valori ottimali per θ0, ...,θD-1 provando a massimizzare la probabilità logare dei parametri. La probabilità dei parametri θ0, ...,θD-1 è la probabilità che i dati di training sono stati campionati da una distribuzione con questi parametri.
La probabilità di logabilità può essere visualizzata come logp(y = yi)
La funzione di stima restituisce il valore previsto della distribuzione di Poisson con parametri, in particolare: fw,b(x) = E[Y|x] = ewTx+b.
Per altre informazioni, vedere la voce relativa alla regressione di Poisson in Wikipedia.
Parametri del modulo
Nome | Intervallo | Type | Predefinito | Descrizione |
---|---|---|---|---|
Optimization tolerance | >=double.Epsilon | Float | 0.0000001 | Specifica un valore di tolleranza per la convergenza dell'ottimizzazione. Minore il valore, più lento e più preciso sarà l'adattamento. |
L1 regularization weight | >=0.0 | Float | 1,0 | Specificare il peso della regolarizzazione di tipo L1. Usare un valore diverso da zero per evitare l'overfitting del modello. |
Peso regolarizzazione L2 | >=0.0 | Float | 1,0 | Specificare il peso di regolarizzazione L2. Usare un valore diverso da zero per evitare l'overfitting del modello. |
Memory size for L-BFGS | >=1 | Integer | 20 | Indica la quantità di memoria (in MB) da usare per l'ottimizzatore L-BFGS. Una quantità minore di memoria permette di ottenere un training più veloce ma meno preciso. |
Random number seed | any | Integer | Digitare un valore per l'inizializzazione del generatore di numeri casuali usato dal modello. Lasciare vuoto per impostazione predefinita. | |
Allow unknown categorical levels | any | Boolean | true | Indica se è necessario creare un livello aggiuntivo per ogni colonna categorica. Tutti i livelli del set di dati di test non disponibili nel set di dati di training verranno mappati a questo livello aggiuntivo. |
Output
Nome | Tipo | Descrizione |
---|---|---|
Untrained model | ILearner interface | Modello di regressione senza training |