Condividi tramite


Riferimento tecnico per l'algoritmo di regressione logistica di Microsoft

L'algoritmo Microsoft Logistic Regression è una variante dell'algoritmo Microsoft Neural Network, in cui il parametro HIDDEN_NODE_RATIO è impostato su 0. Questa impostazione creerà un modello di rete neurale che non contiene un livello nascosto e che pertanto equivale alla regressione logistica.

Implementazione dell'algoritmo Microsoft Logistic Regression

Si supponga che la colonna stimabile contenga solo due stati, ma si vuole comunque eseguire un'analisi di regressione, correlando le colonne di input alla probabilità che la colonna stimabile conterrà uno stato specifico. Il diagramma seguente illustra i risultati che si otterranno se si assegnano 1 e 0 agli stati della colonna stimabile, calcolare la probabilità che la colonna conterrà uno stato specifico ed eseguire una regressione lineare su una variabile di input.

Dati mal modellati usando la regressione lineare

L'asse x contiene i valori di una colonna di input. L'asse y contiene le probabilità che la colonna stimabile sia uno stato o l'altro. Il problema è che la regressione lineare non vincola la colonna a essere compresa tra 0 e 1, anche se questi sono i valori massimi e minimi della colonna. Un modo per risolvere questo problema consiste nell'eseguire la regressione logistica. Anziché creare una linea retta, l'analisi della regressione logistica crea una curva a forma di "S" che contiene vincoli massimi e minimi. Ad esempio, il diagramma seguente illustra i risultati che si otterranno se si esegue una regressione logistica rispetto agli stessi dati usati per l'esempio precedente.

Dati modellati usando la regressione logistica

Si noti che la curva non supera mai 1 o inferiore a 0. È possibile usare la regressione logistica per descrivere quali colonne di input sono importanti per determinare lo stato della colonna stimabile.

Selezione funzionalità

La selezione delle funzionalità viene utilizzata automaticamente da tutti gli algoritmi di data mining di Analysis Services per migliorare l'analisi e ridurre il carico di elaborazione. Il metodo usato per la selezione delle funzionalità in un modello di regressione logistica dipende dal tipo di dati dell'attributo. Poiché la regressione logistica si basa sull'algoritmo Microsoft Neural Network, usa un subset dei metodi di selezione delle funzionalità applicabili alle reti neurali. Per altre informazioni, vedere Selezione delle funzionalità (data mining).

Inserimento dei punteggi

L'assegnazione dei punteggi nel contesto di un modello di rete neurale o di regressione logistica significa il processo di conversione dei valori presenti nei dati in un set di valori che usano la stessa scala e pertanto possono essere confrontati tra loro. Si supponga, ad esempio, che gli input per Income siano compresi tra 0 e 100.000, mentre gli input per [Number of Children] sono compresi tra 0 e 5. Questo processo di conversione consente di assegnare punteggi o confrontare l'importanza di ogni input indipendentemente dalla differenza nei valori.

Per ogni stato visualizzato nel set di training, il modello genera un input. Per gli input discreti o discretizzati, viene creato un input aggiuntivo per rappresentare lo stato Mancante, se lo stato mancante viene visualizzato almeno una volta nel set di training. Per gli input continui, vengono creati al massimo due nodi di input: uno per i valori mancanti, se presenti nei dati di addestramento, e un input per tutti i valori esistenti o non nulli. Ogni input viene ridimensionato in un formato numerico usando il metodo di normalizzazione z-score( x - μ)/StdDev.

Durante la normalizzazione del punteggio z, la media (μ) e la deviazione standard vengono calcolate sull'intero set di addestramento.

Valori continui

Il valore è presente: (X - μ)/σ // X è il valore effettivo codificato)

Il valore è assente: - μ/σ // mu negativo diviso per sigma)

Valori discreti

μ = p - (probabilità precedente di uno stato)

StdDev = sqrt(p(1-p))

Il valore è presente: (1 - μ)/σ// (Uno meno mu) diviso per sigma)

Il valore è assente: (- μ)/σ// mu negativo diviso per sigma)

Informazioni sui coefficienti di regressione logistica

Esistono diversi metodi nella letteratura statistica per l'esecuzione della regressione logistica, ma una parte importante di tutti i metodi sta valutando l'adattamento del modello. Sono state proposte diverse statistiche di adattamento, tra cui i rapporti di chance e gli schemi di covariate. Una discussione su come misurare l'adattamento di un modello esula dall'ambito di questo argomento; Tuttavia, è possibile recuperare il valore dei coefficienti nel modello e usarli per progettare misure personalizzate di adattamento.

Annotazioni

I coefficienti creati come parte di un modello di regressione logistica non rappresentano i rapporti di probabilità e non devono essere interpretati come tali.

I coefficienti per ogni nodo nel grafico del modello rappresentano una somma ponderata degli input a tale nodo. In un modello di regressione logistica il livello nascosto è vuoto; pertanto, esiste un solo set di coefficienti, che viene archiviato nei nodi di output. È possibile recuperare i valori dei coefficienti usando la query seguente:

SELECT FLATTENED [NODE_UNIQUE NAME],
(SELECT ATTRIBUTE_NAME< ATTRIBUTE_VALUE
FROM NODE_DISTRIBUTION) AS t
FROM <model name>.CONTENT
WHERE NODE_TYPE = 23

Per ogni valore di output, questa query restituisce i coefficienti e un ID che punta al nodo di input correlato. Restituisce anche una riga contenente il valore dell'output e l'intercetta. Ogni input X ha un proprio coefficiente (Ci), ma la tabella nidificata contiene anche un coefficiente "libero" (Co), calcolato in base alla formula seguente:

F(X) = X1*C1 + X2*C2 + ... +Xn*Cn + X0

Attivazione: exp(F(X)) / (1 + exp(F(X)) )

Per altre informazioni, vedere Esempi di query del modello di regressione logistica.

Personalizzazione dell'algoritmo di regressione logistica

L'algoritmo di regressione logistica Microsoft supporta diversi parametri che influiscono sul comportamento, sulle prestazioni e sull'accuratezza del modello di data mining risultante. È anche possibile modificare il comportamento del modello impostando flag di modellazione sulle colonne usate come input.

Impostazione dei parametri dell'algoritmo

La tabella seguente descrive i parametri che possono essere usati con l'algoritmo Microsoft Logistic Regression.

HOLDOUT_PERCENTAGE Specifica la percentuale di casi all'interno dei dati di addestramento usati per calcolare l'errore di validazione. HOLDOUT_PERCENTAGE viene utilizzato come parte dei criteri di arresto durante il training del modello di data mining.

Il valore predefinito è 30.

HOLDOUT_SEED Specifica un numero da usare per eseguire il seeding del generatore pseudo-casuale quando si determinano in modo casuale i dati di controllo. Se HOLDOUT_SEED è impostato su 0, l'algoritmo genera il valore di inizializzazione in base al nome del modello di data mining, per garantire che il contenuto del modello rimanga invariato durante la rielaborazione.

Il valore predefinito è 0.

MAXIMUM_INPUT_ATTRIBUTES Definisce il numero di attributi di input che l'algoritmo può gestire prima di richiamare la selezione delle funzionalità. Impostare questo valore su 0 per disattivare la selezione delle funzionalità.

Il valore predefinito è 255.

MAXIMUM_OUTPUT_ATTRIBUTES Definisce il numero di attributi di output che l'algoritmo può gestire prima di richiamare la selezione delle funzionalità. Impostare questo valore su 0 per disattivare la selezione delle funzionalità.

Il valore predefinito è 255.

MAXIMUM_STATES Specifica il numero massimo di stati dell'attributo supportati dall'algoritmo. Se il numero di stati di un attributo è maggiore del numero massimo di stati, l'algoritmo usa gli stati più diffusi dell'attributo e ignora gli stati rimanenti.

L'impostazione predefinita è 100.

SAMPLE_SIZE Specifica il numero di casi da usare per addestrare il modello. Il provider di algoritmi utilizza questo numero o la percentuale del totale dei casi non inclusi nella percentuale di holdout, come specificato dal parametro HOLDOUT_PERCENTAGE, a seconda di quale valore è minore.

In altre parole, se HOLDOUT_PERCENTAGE è impostato su 30, l'algoritmo userà il valore di questo parametro o un valore uguale al 70% del numero totale di case, a qualsiasi valore minore.

Il valore predefinito è 10000.

Bandiere di modellazione

I flag di modellazione seguenti sono supportati per l'uso con l'algoritmo Microsoft Logistic Regression.

NOT NULL Indica che la colonna non può contenere un valore Null. Se Analysis Services rileva un valore Null durante il training del modello, verrà generato un errore.

Si applica alle colonne della struttura di mining.

MODEL_EXISTENCE_ONLY Indica che la colonna verrà considerata come con due stati possibili: Missing e Existing. Un valore Null è un valore mancante.

Si applica alla colonna del modello di mining.

Requisiti

Un modello di regressione logistica deve contenere una colonna chiave, colonne di input e almeno una colonna stimabile.

Colonne di input e prevedibili

L'algoritmo Microsoft Logistic Regression supporta i tipi di contenuto di colonna di input specifici, i tipi di contenuto delle colonne stimabili e i flag di modellazione elencati nella tabella seguente. Per altre informazioni sui tipi di contenuto usati in un modello di data mining, vedere Tipi di contenuto (data mining).

colonna Tipi di contenuto
Attributo di input Continua, Discreta, Discretizzata, Chiave, Tabella
Attributo prevedibile Continuo, Discreto, Discretizzato

Vedere anche

Algoritmo di Regressione Logistica MicrosoftEsempi di query sul modello di regressione lineareContenuto del modello di mining per modelli di regressione logistica (Servizi di analisi - Data mining)Algoritmo di Rete Neurale Microsoft