Regressione logistica 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).
- 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 logistica a due classi
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 Regressione logistica a due classi in Machine Learning Studio (versione classica) per creare un modello di regressione logistica che può essere usato per stimare due (e solo due) risultati.
La regressione logistica è una tecnica statistica nota usata per la modellazione di molti tipi di problemi. Questo algoritmo è un metodo di apprendimento con supervisione ; Pertanto, è necessario fornire un set di dati che contiene già i risultati per eseguire il training del modello.
Altre informazioni sulla regressione logistica
La regressione logistica è un metodo noto nelle statistiche usato per stimare la probabilità di un risultato ed è particolarmente diffuso per le attività di classificazione. L'algoritmo stima la probabilità di occorrenza di un evento adattando i dati a una funzione logistica. Per dettagli relativi all'implementazione, vedere la sezione Note tecniche.
In questo modulo l'algoritmo di classificazione è ottimizzato per variabili di tipo dichotomous o binarie. Se è necessario classificare più risultati, usare il modulo Regressione logistica multiclasse .
Come configurare la Two-Class logistica
Per eseguire il training di questo modello, è necessario fornire un set di dati contenente un'etichetta o una colonna di classe. Poiché questo modulo è destinato a problemi a due classi, l'etichetta o la colonna della classe deve contenere esattamente due valori.
Ad esempio, la colonna etichetta potrebbe essere [Votata] con i possibili valori "Sì" o "No". In caso contrario, potrebbe essere [Rischio di credito], con i possibili valori "High" o "Low".
Aggiungere il modulo Di regressione logistica a due classi all'esperimento in Studio (versione classica).
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 e determina la combinazione di valori che produce il modello migliore.
Per Tolleranza di ottimizzazione specificare un valore soglia da usare durante l'ottimizzazione del modello. Se il miglioramento tra le iterazioni scende al di sotto della soglia specificata, l'algoritmo viene considerato convergente in una soluzione e il training si arresta.
Per Peso di regolarizzazione L1 e Peso di regolarizzazione L2, digitare un valore da usare per i parametri di regolarizzazione L1 e L2. È consigliabile usare per entrambi un valore diverso da zero.
La regolarizzazione è un metodo per impedire l'overfitting penalizzando i modelli con valori di coefficiente estremi. La regolarizzazione funziona aggiungendo la penalità associata ai valori del coefficiente all'errore dell'ipotesi. Di conseguenza, un modello accurato con valori di coefficiente estremi verrebbe penalizzato di più, ma un modello meno accurato con valori più conservativi verrebbe penalizzato meno.
Le regolarizzazioni di tipo L1 e L2 hanno effetti e usi differenti.
La regolarizzazione L1 può essere applicata a modelli di tipo sparse, caratteristica utile quando si lavora con dati a elevata dimensionalità.
La regolarizzazione L2, al contrario, è preferibile per i dati non di tipo sparse.
Questo algoritmo supporta una combinazione lineare di valori di regolarizzazione L1 e L2, che è,
x = L1
y = L2
se e ,ax + by = c
definisce l'intervallo lineare dei termini di regolarizzazione.Nota
Per altre informazioni sulla regolarizzazione di L1 e L2, L'articolo seguente illustra in che modo la regolarizzazione L1 e L2 sono diverse e come influiscono sull'adattamento del modello, con esempi di codice per i modelli di regressione logistica e rete neurale: L1 e L2 Regularization for Machine Learning
Sono state ideate diverse combinazioni lineari di termini L1 e L2 per i modelli di regressione logistica, ad esempio la regolarizzazione della rete elastica. È consigliabile fare riferimento a queste combinazioni per definire una combinazione lineare efficace nel modello.
Per Dimensioni memoria per L-BFGS, specificare la quantità di memoria da usare per l'ottimizzazione L-BFGS .
L-BFGS è l'acronimo di "limited memory Broyden-Fletcher-Goldfarb-Shanno". Si tratta di un algoritmo di ottimizzazione usato di frequente per la stima dei parametri. Questo parametro indica il numero di posizioni e gradienti precedenti da archiviare per il calcolo del passaggio successivo.
Questo parametro di ottimizzazione limita la quantità di memoria usata per il calcolo del passaggio e della direzione successivi. Quando si specifica una quantità di memoria inferiore, il training è più veloce ma meno accurato.
Per Valore di valore di valore di tipo Numero casuale digitare un valore intero. La definizione di un valore di seed è importante se si vuole che i risultati siano riproducibili in più esecuzioni dello stesso esperimento.
Selezionare l'opzione Consenti livelli di categoria sconosciuti per creare un livello "sconosciuto" aggiuntivo in ogni colonna di categoria. In questo caso, tutti i valori (livelli) nel set di dati di test non disponibili nel set di dati di training vengono mappati a questo livello "sconosciuto".
Aggiungere un set di dati con tag all'esperimento e connettere uno dei moduli di training.
Se si imposta Crea modalità di training su Parametro singolo, usare il modulo Train Model (Train Model ).
Se si imposta Crea modalità trainer su Intervallo parametri, usare il modulo Tune Model Hyperparameters (Ottimizza iperparamezionari modello).
Nota
Se si passa un intervallo di parametri a Train Model, verrà 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 strumento di apprendimento.
Se si seleziona l'opzione Intervallo parametri e si immette un singolo valore per qualsiasi parametro, il singolo valore specificato verrà usato in tutta la sweep, anche se altri parametri cambiano in un intervallo di valori.
Eseguire l'esperimento.
Risultati
Al termine del training:
Per visualizzare un riepilogo dei parametri del modello, insieme ai pesi delle funzionalità appresi dal training, fare clic con il pulsante destro del mouse sull'output di Train Model (Train Model) o Tune Model Hyperparameters (Ottimizza iperparamezzi modello) e selezionare Visualize (Visualizza).
Per eseguire stime sui nuovi dati, usare il modello con training e i nuovi dati come input per il modulo Punteggio modello .
Per eseguire la convalida incrociata su un set di dati con etichetta, connettere i dati e il modello senza training al modello con convalida incrociata.
Esempio
Per esempi di come viene usato questo algoritmo di apprendimento, vedere l'Azure AI Gallery:
Rilevamento intrusioni di rete: usa la regressione logistica binaria per determinare se un caso rappresenta un'intrusione.
Convalida incrociata per il classificatore binario: illustra l'uso della regressione logistica in un flusso di lavoro sperimentale tipico, inclusa la valutazione del modello.
Note tecniche
Questa sezione contiene informazioni dettagliate sull'implementazione, suggerimenti e risposte alle domande frequenti.
Suggerimenti per l'uso
La regressione logistica richiede variabili numeriche. Pertanto, quando si usano colonne categoriche come variabile, Machine Learning converte internamente i valori in una matrice di indicatori.
Per date e ore, viene usata una rappresentazione numerica. Per altre informazioni sui valori di data/ora, vedere Struttura DateTime (.NET Framework) - Note. Se si desidera gestire date e ore in modo diverso, è consigliabile creare una colonna derivata.
Dettagli dell'implementazione
La regressione logistica presuppone una distribuzione logistica dei dati, in cui la probabilità che un esempio appartenga alla classe 1 è la formula:
p(x;β0,…, βD-1)
Dove:
x
è un vettore tridimensionale contenente i valori di tutte le funzionalità dell'istanza.p
è la funzione di distribuzione logistica.β{0},..., β {D-1}
sono i parametri sconosciuti della distribuzione logistica.
L'algoritmo tenta di trovare i valori ottimali per β{0},..., β {D-1}
massimizzando la probabilità di log dei parametri dati gli input. L'ottimizzazione viene eseguita usando un metodo comune per la stima dei parametri, denominato Limited Memory BFGS.
Ricerca
Per altre informazioni sull'implementazione di questo algoritmo, vedere Scalable Training of L-1 Regularized Log-Linear Models(Training scalabile dei modelli Log-Linear regolarizzati L-1), di Andrew e Gao.
Parametri del modulo
Nome | Intervallo | Type | Predefinito | Descrizione |
---|---|---|---|---|
Optimization tolerance | >=double.Epsilon | Float | 0.0000001 | Specificare un valore di tolleranza per l'ottimizzatore L-BFGS |
L1 regularization weight | >=0.0 | Float | 1.0 | Specificare il peso della regolarizzazione di tipo L1 |
Peso di regolarizzazione L2 | >=0.0 | Float | 1.0 | Specificare il peso di regolarizzazione L2 |
Memory size for L-BFGS | >=1 | Integer | 20 | Specificare la quantità di memoria (in MB) da usare per l'ottimizzatore L-BFGS |
Random number seed | Qualsiasi | Integer | Digitare un valore per l'inizializzazione del generatore di numeri casuali usato dal modello. Lasciare vuoto per impostazione predefinita. | |
Allow unknown categorical levels | Qualsiasi | 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 training set verranno mappati a questo livello aggiuntivo. |
Output
Nome | Tipo | Descrizione |
---|---|---|
Untrained model | ILearner interface | Modello di classificazione senza training |