Esecuzione di query su un modello di regressione logistica (Analysis Services - Data mining)
Quando si crea una query su un modello di data mining, è possibile creare una query sul contenuto, che fornisce dettagli sui criteri individuati durante l'analisi, oppure una query di stima, che utilizza i criteri presenti nel modello di data mining per eseguire stime utilizzando nuovi dati.
In questa sezione viene illustrato come creare entrambi i tipi di query per i modelli basati sull'algoritmo Microsoft Logistic Regression.
Query sul contenuto
Recupero dei parametri del modello mediante il set di righe dello schema di data mining
Ricerca di dettagli aggiuntivi sul modello mediante DMX
Query di stima
Esecuzione di stime per un valore continuo
Esecuzione di stime per un valore discreto
Ricerca di informazioni su un modello di regressione logistica
I modelli di regressione logistica vengono creati utilizzando l'algoritmo Microsoft Neural Network con un particolare set di parametri. In un modello di regressione logistica sono pertanto contenute alcune delle informazioni contenute in un modello di rete neurale, ma in forma meno complessa. Per informazioni sulla struttura del contenuto del modello e sui diversi dati archiviati nei vari tipi di nodi, vedere Contenuto dei modelli di data mining per i modelli di regressione logistica (Analysis Services - Data mining).
Per proseguire negli scenari di query, è possibile creare un modello di regressione logistica come descritto nella sezione seguente dell'Esercitazione intermedia sul data mining: Lezione 5: Creazione dei modelli di rete neurale e di regressione logistica (Esercitazione intermedia sul data mining).
È inoltre possibile utilizzare la struttura di data mining per il Targeted Mailing descritta in Esercitazione di base sul data mining. Aggiungere quindi un modello di regressione logistica eseguendo lo script DMX seguente:
ALTER MINING STRUCTURE [Targeted Mailing]
ADD MINING MODEL [TM_Logistic Regression]
([Customer Key],
[Age],
[Bike Buyer] PREDICT,
[Yearly Income] PREDICT,
[Commute Distance],
[English Education],
Gender,
[House Owner Flag],
[Marital Status],
[Number Cars Owned],
[Number Children At Home],
[Region],
[Total Children]
)
USING Microsoft_Logistic_Regression
Query di esempio 1: Recupero dei parametri del modello mediante il set di righe dello schema di data mining
L'esecuzione di una query sul set di righe dello schema di data mining consente di trovare i metadati relativi al modello, ad esempio la data e l'ora di creazione, la data e l'ora dell'ultima elaborazione, il nome della struttura di data mining su cui si basa il modello e il nome della colonna utilizzata come attributo stimabile. Nell'esempio seguente vengono restituiti i parametri utilizzati quando è stato creato il modello, il nome e il tipo di modello e la relativa data di creazione.
SELECT MODEL_NAME, SERVICE_NAME, DATE_CREATED, MINING_PARAMETERS
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Call Center_LR'
Risultati dell'esempio:
MODEL_NAME |
SERVICE_NAME |
DATE_CREATED |
MINING_PARAMETERS |
---|---|---|---|
Call Center_LR |
Microsoft_Logistic_Regression |
04/07/2009 20:38:33 |
HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000 |
Torna all'inizio
Query di esempio 2: Ricerca di dettagli aggiuntivi sul modello mediante DMX
Nella query seguente vengono restituite informazioni di base sul modello di regressione logistica. Si tenga presente che un modello di regressione logistica è per molti aspetti simile a un modello di rete neurale, inclusa la presenza di un nodo delle statistiche marginali (NODE_TYPE = 24) che descrive i valori utilizzati come input. In questo esempio di query viene utilizzato il modello di mailing diretto e si ottengono i valori di tutti i possibili input recuperandoli dalla tabella nidificata NODE_DISTRIBUTION.
SELECT FLATTENED NODE_DISTRIBUTION AS t
FROM [TM_Logistic Regression].CONTENT
Risultati parziali:
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
t.PROBABILITY |
t.VARIANCE |
t.VALUETYPE |
---|---|---|---|---|---|
Age |
Missing |
0 |
0 |
0 |
1 |
Age |
45.43491192 |
17484 |
1 |
126.9544114 |
3 |
Bike Buyer |
Missing |
0 |
0 |
0 |
1 |
Bike Buyer |
0 |
8869 |
0.507263784 |
0 |
4 |
Bike Buyer |
1 |
8615 |
0.492736216 |
0 |
4 |
Commute Distance |
Missing |
0 |
0 |
0 |
1 |
Commute Distance |
5-10 Miles |
3033 |
0.173472889 |
0 |
4 |
La query effettiva restituisce molte più righe, tuttavia questo esempio illustra il tipo di informazioni sugli input che vengono fornite. Ogni valore possibile per un valore discreto, ad esempio, viene elencato nella tabella, mentre gli input continui vengono discretizzati. Per ulteriori informazioni sull'utilizzo dei dati del nodo delle statistiche marginali, vedere Contenuto dei modelli di data mining per i modelli di regressione logistica (Analysis Services - Data mining).
[!NOTA]
I risultati sono stati resi bidimensionali per consentirne una visualizzazione più immediata, ma è possibile restituire la tabella nidificata in una sola colonna, se il provider supporta set di righe gerarchici. Per ulteriori informazioni, vedere l'argomento relativo ai set di righe gerarchici nella guida del programmatore di OLE DB.
Torna all'inizio
Creazione di stime da un modello di regressione logistica
È possibile utilizzare la funzione Predict (DMX) con ogni tipo di modello di data mining per fornire nuovi dati ed eseguire stime. Sono inoltre disponibili funzioni che consentono di restituire informazioni aggiuntive sulla stima, ad esempio la probabilità che una stima sia corretta. In questa sezione vengono forniti alcuni esempi di query di stima su un modello di regressione logistica.
Query di esempio 3: Esecuzione di stime per un valore continuo
Poiché la regressione logistica supporta l'utilizzo di attributi continui sia per l'input sia per la stima, è facile creare modelli che correlano i vari fattori nei dati. È possibile utilizzare query di stima per esplorare la relazione fra questi fattori.
Il seguente esempio di query si basa sul modello Call Center e crea una query singleton che stima il livello di servizio per il turno mattutino del venerdì. La funzione PredictHistogram (DMX) restituisce una tabella nidificata che fornisce statistiche importanti per comprendere la validità del valore stimato.
SELECT
Predict([Call Center_LR].[Service Grade]) as Predicted ServiceGrade,
PredictHistogram([Call Center_LR].[Service Grade]) as [Results],
FROM
[Call Center_LR]
NATURAL PREDICTION JOIN
(SELECT 'Friday' AS [Day Of Week],
'AM' AS [Shift]) AS t
Risultati dell'esempio:
Predicted Service Grade |
Results |
---|---|
0.102601830123659 |
Service Grade$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
0.10260183012365983.02325581395350.98837209302325600.001205526606000870.034720694203902
0.9767441860465120.01162790697674420.011627906976744200
|
Per ulteriori informazioni sui valori di probabilità, supporto e deviazione standard nella tabella nidificata NODE_DISTRIBUTION, vedere Contenuto dei modelli di data mining per i modelli di regressione logistica (Analysis Services - Data mining).
Torna all'inizio
Query di esempio 4: Esecuzione di stime per un valore discreto
La regressione logistica viene in genere utilizzata negli scenari nei quali si desidera analizzare i fattori che contribuiscono a un risultato binario. Sebbene il modello originale utilizzato nell'Esercitazione intermedia stimi un valore continuo, Livello di servizio, in uno scenario reale potrebbe essere necessario stimare se il livello di servizio soddisfa o meno alcuni valori discreti di destinazione. In alternativa, è possibile creare stime mediante valori continui, quindi raggruppare i risultati stimati in Buoni, Discreti o Scarsi.
Nell'esempio seguente viene illustrato come modificare la modalità di raggruppamento dell'attributo stimabile. A tale scopo, eseguire una copia della struttura di data mining, quindi modificare il metodo di discretizzazione della colonna di destinazione. Nella procedura seguente viene illustrato come modificare il raggruppamento dei valori del Service Grade nei dati del call center.
Per creare una versione discretizzata della struttura di data mining del call center e dei modelli
In Business Intelligence Development Studio, in Esplora soluzioni espandere Strutture di data mining.
Fare clic con il pulsante destro del mouse su Call Center.dmm e selezionare Copia.
Fare clic con il pulsante destro del mouse su Strutture di data mining e selezionare Incolla. Viene aggiunta una nuova struttura di data mining, denominata Call Center 1.
Fare clic con il pulsante destro del mouse sulla nuova struttura di data mining e selezionare Rinomina. Digitare il nuovo nome, Call center discretizzato.
Fare doppio clic sulla nuova struttura di data mining per aprirla nella finestra di progettazione. Si noti che sono stati copiati anche tutti i modelli di data mining, tutti con estensione 1. Per il momento, lasciare i nomi invariati.
Nella scheda Struttura di data mining fare clic con il pulsante destro del mouse sulla colonna per Service Grade e selezionare Proprietà.
Modificare il valore della proprietà Content da Continuo a Discretizzato. e la proprietà DiscretizationMethod in Clusters. Per DiscretizationBucketCount, digitare 3.
[!NOTA]
Questi parametri vengono utilizzati solo a scopo di illustrare il processo e non producono necessariamente un modello valido.
Scegliere Elabora struttura di data mining e tutti i modelli dal menu Modello di data mining.
Nella query di esempio seguente, basata su questo modello discretizzato, viene stimato il livello di servizio per il giorno della settimana specificato, insieme alle probabilità per ogni risultato stimato.
SELECT
(PredictHistogram([Call Center_LR 1].[Service Grade])) as [Predictions]
FROM
[Call Center_LR 1]
NATURAL PREDICTION JOIN
(SELECT 'Saturday' AS [Day Of Week]) AS t
Risultati previsti:
Predictions |
---|
Service Grade$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
0.1087271838312535.72465047706410.4252934580602870.017016836003029300
0.0585576923062531.70988808007030.3774986676198850.02088202006045400
0.17016949152515.61091598832020.1858442379561920.066138657138604900
0.9545454545454550.01136363636363640.011363636363636400
|
Si noti che i risultati stimati sono stati raggruppati in tre categorie come specificato. Tali raggruppamenti, tuttavia, si basano sul clustering dei valori effettivi dei dati e non su valori arbitrari che potrebbero essere stati impostati come obiettivi aziendali.
Torna all'inizio
Elenco delle funzioni di stima
Tutti gli algoritmi Microsoft supportano un set comune di funzioni. L'algoritmo Microsoft Logistic Regression supporta inoltre le funzioni aggiuntive elencate nella tabella seguente.
|
Per un elenco delle funzioni comuni a tutti gli algoritmi Microsoft, vedere Mapping di funzioni a tipi di query (DMX). Per informazioni sulla sintassi di funzioni specifiche, vedere Guida di riferimento alle funzioni DMX (Data Mining Extensions).
[!NOTA]
Per i modelli di reti neurali e di regressione logistica la funzione PredictSupport (DMX) restituisce un solo valore che rappresenta la dimensione del set di training per l'intero modello.
Vedere anche