Riferimento tecnico per l'algoritmo Microsoft Logistic Regression
L'algoritmo Microsoft Logistic Regression è una variazione 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 è equivalente alla regressione logistica.
Implementazione dell'algoritmo Microsoft Logistic Regression
Si supponga che la colonna stimabile contenga solo due stati e che tuttavia si intenda eseguire comunque un'analisi di regressione, stabilendo una relazione tra le colonne di input e la probabilità che la colonna stimabile includa uno stato specifico. Nel diagramma seguente sono illustrati i risultati che si otterranno se si assegnano i valori 1 e 0 agli stati della colonna stimabile, si calcola la probabilità che la colonna contenga uno stato specifico e si esegue una regressione lineare in base a una variabile di input.
L'asse x contiene i valori di una colonna di input. L'asse y contiene le probabilità che la colonna stimabile includa solo uno stato o l'altro. In questo caso, il problema è che la regressione lineare non vincola la colonna a valori compresi tra 0 e 1, anche se questi sono rispettivamente il valore minimo e massimo della colonna. Uno dei modi per risolvere tale problema consiste nell'esecuzione della regressione logistica. Anziché creare una linea retta, l'analisi di regressione logistica crea una curva a forma di "S" che contiene i vincoli minimi e massimi. Ad esempio, nel diagramma seguente sono illustrati i risultati che si otterranno se si esegue una regressione logistica in base agli stessi dati utilizzati nell'esempio precedente.
Si noti che la curva non si sposta mai su valori maggiori di 1 o minori di 0. È possibile utilizzare la regressione logistica per descrivere le colonne di input significative ai fini della determinazione dello stato della colonna stimabile.
Selezione funzionalità
Tutti gli algoritmi di data mining di Analysis Services utilizzano automaticamente la funzionalità di selezione degli attributi per migliorare l'analisi e ridurre il carico di elaborazione. Il metodo utilizzato per la funzionalità di selezione degli attributi in un modello di regressione logistica dipende dal tipo di dati dell'attributo. Poiché è basata sull'algoritmo Microsoft Neural Network, la regressione logistica utilizza un subset dei metodi relativi alla funzionalità di selezione degli attributi che si applicano alle reti neurali. Per ulteriori informazioni, vedere Caratteristica di selezione degli attributi nel data mining.
Valutazione degli input
Calcolare il punteggio nel contesto di un modello di rete neurale o di un modello di regressione logistica significa convertire i valori presenti nei dati in un set di valori che utilizzano la stessa scala e possono pertanto essere confrontati tra loro. Si supponga ad esempio che l'intervallo degli input per Income sia compreso tra 0 e 100.000 mentre quello degli input per [Number of Children] sia compreso tra 0 e 5. Questo processo di conversione consente di calcolare il punteggio della priorità di ciascun input, o di confrontarla, indipendentemente dalla differenza dei 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 Missing, se tale stato è visualizzato almeno una volta nel set di training. Per gli input continui vengono creati al massimo due nodi di input: uno per i valori Missing, se presenti nei dati di training, e uno per tutti i valori esistenti o non Null. Ogni input viene ridimensionato in base a un formato numerico mediante il metodo di normalizzazione del punteggio z, (x – μ)/StdDev.
Durante la normalizzazione del punteggio z, si ottengono la media (μ) e la deviazione standard sul set di training completo.
Valori continui
Valore presente: (X – μ)/σ // X is the actual value being encoded)
Valore assente: - μ/σ // negative mu divided by sigma)
Valori discreti
μ = p – (the prior probability of a state)
StdDev = sqrt(p(1-p))
Valore presente: (1 – μ)/σ// (One minus mu) divided by sigma)
Valore assente: (– μ)/σ// negative mu divided by sigma)
Informazioni sui coefficienti di regressione logistica
Sono disponibili vari metodi nella letteratura statistica per l'esecuzione della regressione logistica, tuttavia un aspetto importante comune a tutti i metodi è la valutazione dell'adattamento del modello. Sono state proposte statistiche con vari livelli di adattamento, tra cui i rapporti di disparità e i criteri covariati. Una descrizione dettagliata delle modalità di misurazione dell'adattamento di un modello esula dall'ambito del presente argomento, tuttavia è possibile recuperare il valore dei coefficienti nel modello e utilizzarli per progettare misure di adattamento personalizzate.
Nota
I coefficienti creati come parte di un modello di regressione logistica non rappresentano rapporti di disparità e non devono essere interpretati come tali.
I coefficienti per ogni nodo nel grafico del modello rappresentano una somma ponderata dei rispettivi input. In un modello di regressione logistica il livello nascosto è vuoto, pertanto è presente un solo set di coefficienti, archiviato nei nodi di output. È possibile recuperare i valori dei coefficienti utilizzando 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 nuovamente al nodo di input correlato. Restituisce anche una riga che contiene il valore dell'output e l'intercetta. Ogni input X dispone di un proprio coefficiente (Ci), ma la tabella nidificata contiene anche un coefficiente (Co) "libero" calcolato sulla base della formula seguente:
F(X) = X1*C1 + X2*C2 + … +Xn*Cn + X0
Activation: exp(F(X)) / (1 + exp(F(X)) )
Per ulteriori informazioni, vedere Esecuzione di query su un modello Logistic Regression (Analysis Services - Data mining).
Personalizzazione dell'algoritmo Logistic Regression
L'algoritmo Microsoft Logistic Regression supporta vari parametri che influiscono sul comportamento, sulle prestazioni e sull'accuratezza del modello di data mining risultante. È inoltre possibile modificare il comportamento del modello impostando flag di modellazione nelle colonne utilizzate come input.
Impostazione dei parametri dell'algoritmo
Nella tabella seguente sono descritti i parametri che possono essere utilizzati con l'algoritmo Microsoft Logistic Regression.
HOLDOUT_PERCENTAGE
Specifica la percentuale di case all'interno dei dati di training utilizzata per calcolare l'errore dei dati di controllo. 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 utilizzare come valore di inizializzazione per il generatore pseudocasuale durante la determinazione casuale dei 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 è in grado di gestire prima di richiamare la funzionalità di selezione degli attributi. Impostare questo valore su 0 per disattivare la funzionalità di selezione degli attributi.Il valore predefinito è 255.
MAXIMUM_OUTPUT_ATTRIBUTES
Definisce il numero di attributi di output che l'algoritmo è in grado di gestire prima di richiamare la funzionalità di selezione degli attributi. Impostare questo valore su 0 per disattivare la funzionalità di selezione degli attributi.Il valore predefinito è 255.
MAXIMUM_STATES
Specifica il numero massimo di stati degli attributi supportati dall'algoritmo. Se il numero di stati di un attributo è maggiore del numero massimo, l'algoritmo utilizza gli stati più frequenti dell'attributo e ignora gli stati rimanenti.Il valore predefinito è 100.
SAMPLE_SIZE
Specifica il numero di case da utilizzare per il training del modello. Il provider dell'algoritmo utilizza il valore minore tra questo numero e la percentuale del numero totale di case non inclusi nella percentuale dei dati di controllo specificata dal parametro HOLDOUT_PERCENTAGE.In altre parole, se il parametro è impostato su 30, l'algoritmo utilizzerà il valore di questo parametro o un valore uguale al 70% del numero totale di case, a seconda del valore minore.
Il valore predefinito è 10000.
Flag di modellazione
Di seguito sono indicati i flag di modellazione il cui utilizzo è supportato 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, viene restituito un errore.Si applica alle colonne della struttura di data mining.
MODEL_EXISTENCE_ONLY
Indica che la colonna verrà considerata come se presentasse due stati possibili: Missing e Existing. Un valore Null è un valore mancante.Si applica alla colonna del modello di data mining.
Requisiti
Un modello di regressione logistica deve contenere una colonna chiave, le colonne di input e almeno una colonna stimabile.
Colonne di input e stimabili
L'algoritmo Microsoft Logistic Regression supporta tipi di contenuto specifici delle colonne di input, tipi di contenuto specifici delle colonne stimabili e i flag di modellazione elencati nella tabella seguente. Per ulteriori informazioni sul significato dei tipi di contenuto utilizzati in un modello di data mining, vedere Tipi di contenuto (Data mining).
Colonna |
Tipi di contenuto |
---|---|
Attributo di input |
Continuous, Discrete, Discretized, Key, Table |
Attributo stimabile |
Continuous, Discrete, Discretized |
Vedere anche