Esempi di query sul modello di regressione lineare
Si applica a: SQL Server 2019 e versioni precedenti di Analysis Services Azure Analysis Services Fabric/Power BI Premium
Importante
Il data mining è stato deprecato in SQL Server 2017 Analysis Services e ora è stato interrotto in SQL Server 2022 Analysis Services. La documentazione non viene aggiornata per le funzionalità deprecate e non più disponibili. Per altre informazioni, vedere Compatibilità con le versioni precedenti di Analysis Services.
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 relative a nuovi dati. Una query sul contenuto potrebbe ad esempio fornire dettagli aggiuntivi sulla formula di regressione, mentre una query di stima potrebbe indicare se un nuovo punto dati si adatta al modello. Utilizzando una query è inoltre possibile recuperare metadati relativi al modello.
In questa sezione viene illustrato come creare query per i modelli basati sull'algoritmo Microsoft Linear Regression.
Nota
Poiché la regressione lineare è basata su un case specifico dell'algoritmo Microsoft Decision Trees, sono presenti molte somiglianze e alcuni modelli di albero delle decisioni che utilizzano attributi stimabili continui possono contenere formule di regressione. Per altre informazioni, vedere Guida di riferimento tecnico per l'algoritmo Microsoft Decision Trees.
Query di contenuto
Utilizzo di DMX per restituire la formula di regressione per il modello
Restituzione solo del coefficiente per il modello
Query di stima
Stima del reddito mediante una query singleton
Utilizzo delle funzioni di stima con un modello di regressione
Ricerca di informazioni sul modello di regressione lineare
La struttura di un modello di regressione lineare è estremamente semplice: il modello di data mining rappresenta i dati come nodo singolo che definisce la formula di regressione. Per altre informazioni, vedere Contenuto del modello di data mining per i modelli di regressione logistica (Analysis Services - Data mining).
Query di esempio 1: Utilizzo del set di righe dello schema di data mining per determinare i parametri utilizzati per un modello
Eseguendo una query sul set di righe dello schema di data mining, è possibile trovare i metadati relativi al modello. Tali dati potrebbero includere la data di creazione, la data dell'ultima elaborazione del modello, il nome della struttura di data mining sulla quale si basa il modello e il nome della colonna designata come attributo stimabile. È inoltre possibile restituire i parametri utilizzati durante la creazione del modello.
SELECT MINING_PARAMETERS
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'TM_PredictIncome'
Risultati dell'esempio:
MINING_PARAMETERS |
---|
COMPLEXITY_PENALTY=0.9, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MINIMUM_SUPPORT=10, SCORE_METHOD=4, SPLIT_METHOD=3, FORCE_REGRESSOR= |
Nota
L'impostazione del parametro, "FORCE_REGRESSOR =
", indica che il valore corrente per il parametro FORCE_REGRESSOR è Null.
Query di esempio 2: Recupero della formula di regressione per il modello
Nella query seguente viene restituito il contenuto del modello di data mining per un modello di regressione lineare compilato utilizzando la stessa origine dati Targeted Mailing utilizzata in Basic Data Mining Tutorial. Questo modello esegue la stima del reddito del cliente in base all'età.
La query restituisce il contenuto del nodo che contiene la formula di regressione. Ogni variabile e ogni coefficiente vengono archiviati in una riga separata della tabella NODE_DISTRIBUTION nidificata. Se si vuole visualizzare la formula di regressione completa, usare il Visualizzatore Microsoft Decision Trees, fare clic sul nodo (Tutti) e aprire Legenda data mining.
SELECT FLATTENED NODE_DISTRIBUTION as t
FROM LR_PredictIncome.CONTENT
Nota
Se si fa riferimento a colonne singole della tabella nidificata usando una query quale SELECT <column name> from NODE_DISTRIBUTION
, alcune colonne, ad esempio SUPPORT o PROBABILITY, devono essere racchiuse tra parentesi per distinguerle dalle parole chiave riservate con lo stesso nome.
Risultati previsti:
T.ATTRIBUTE_NAME | t.ATTRIBUTE_VALUE | t.SUPPORT | t.PROBABILITY | t.VARIANCE | t.VALUETYPE |
---|---|---|---|---|---|
Yearly Income | Missing | 0 | 0,000457142857142857 | 0 | 1 |
Yearly Income | 57220,8876687257 | 17484 | 0,999542857142857 | 1041275619,52776 | 3 |
Età | 471.687717702463 | 0 | 0 | 126,969442359327 | 7 |
Età | 234.680904692439 | 0 | 0 | 0 | 8 |
Età | 45,4269617936399 | 0 | 0 | 126,969442359327 | 9 |
35793,5477381267 | 0 | 0 | 1012968919,28372 | 11 |
In Legenda data mining, invece, la formula di regressione appare come segue:
Yearly Income = 57,220.919 + 471.688 * (Age - 45.427)
È possibile notare che alcuni numeri di Legenda data miningsono arrotondati. In Legenda data mining sono tuttavia contenuti sostanzialmente gli stessi valori della tabella NODE_DISTRIBUTION.
I valori della colonna VALUETYPE indicano il tipo di informazioni contenuto in ogni riga. Questa indicazione risulta utile se i risultati vengono elaborati a livello di programmazione. Nella tabella seguente sono mostrati i tipi di valore che vengono restituiti per una formula di regressione lineare.
VALUETYPE |
---|
1 (Mancante) |
3 (Continuo) |
7 (Coefficiente) |
8 (Miglioramento punteggio) |
9 (Statistiche) |
7 (Coefficiente) |
8 (Miglioramento punteggio) |
9 (Statistiche) |
11 (Intercetta) |
Per altre informazioni sul significato di ogni tipo di valore per i modelli di regressione, vedere Contenuto del modello di data mining per modelli di regressione lineare (Analysis Services - Data Mining).
Query di esempio 3: Restituzione solo del coefficiente per il modello
Utilizzando l'enumerazione VALUETYPE, è possibile restituire solo il coefficiente per l'equazione di regressione, come mostrato nella query seguente:
SELECT FLATTENED MODEL_NAME,
(SELECT ATTRIBUTE_VALUE, VALUETYPE
FROM NODE_DISTRIBUTION
WHERE VALUETYPE = 11)
AS t
FROM LR_PredictIncome.CONTENT
Questa query restituisce due righe, una dal contenuto del modello di data mining e la riga dalla tabella nidificata che contiene il coefficiente. La colonna ATTRIBUTE_NAME non è inclusa, in quanto è sempre vuota per il coefficiente.
MODEL_NAME | t.ATTRIBUTE_VALUE | t.VALUETYPE |
---|---|---|
LR_PredictIncome | ||
LR_PredictIncome | 35793,5477381267 | 11 |
Esecuzione di stime da un modello di regressione lineare
È possibile compilare query di stima sui modelli di regressione lineare utilizzando la scheda Stima modello di data mining in Progettazione modelli di data mining. Il generatore di query di stima è disponibile sia in SQL Server Management Studio che in SQL Server Data Tools.
Nota
È anche possibile creare query sui modelli di regressione usando i componenti aggiuntivi di data mining SQL Server 2005 (9.x) per Excel o i componenti aggiuntivi di data mining SQL Server 2008 per Excel. Anche se i componenti aggiuntivi di data mining per Excel non creano modelli di regressione, è possibile esplorare ed eseguire query su qualsiasi modello di data mining archiviato in un'istanza di SQL Server Analysis Services.
Esempio di query 4: Stima del reddito mediante una query singleton
Il modo più semplice per creare una query singleton su un modello di regressione consiste nell'usare la finestra di dialogo Input query singleton . È ad esempio possibile compilare la query DMX seguente selezionando il modello di regressione adatto, scegliendo Query singletone quindi digitando 20 come valore per Age.
SELECT [LR_PredictIncome].[Yearly Income]
From [LR_PredictIncome]
NATURAL PREDICTION JOIN
(SELECT 20 AS [Age]) AS t
Risultati dell'esempio:
Yearly Income |
---|
45227,302092176 |
Esempio di query 5: Utilizzo delle funzioni di stima con un modello di regressione
È possibile utilizzare molte delle funzioni di stima standard con i modelli di regressione lineare. Nell'esempio seguente viene illustrato come aggiungere alcune statistiche descrittive ai risultati della query di stima. Da questi risultati è possibile notare che esiste una deviazione significativa dalla media per questo modello.
SELECT
([LR_PredictIncome].[Yearly Income]) as [PredIncome],
(PredictStdev([LR_PredictIncome].[Yearly Income])) as [StDev1]
From
[LR_PredictIncome]
NATURAL PREDICTION JOIN
(SELECT 20 AS [Age]) AS t
Risultati dell'esempio:
Yearly Income | StDev1 |
---|---|
45227,302092176 | 31827,1726561396 |
Elenco delle funzioni di stima
Tutti gli algoritmi Microsoft supportano un set comune di funzioni. Tuttavia, l'algoritmo Microsoft Linear Regression supporta le funzioni aggiuntive elencate nella tabella seguente.
Funzione di stima | Utilizzo |
---|---|
IsDescendant (DMX) | Viene determinato se un nodo è figlio di un altro nodo nel modello. |
IsInNode (DMX) | Indica se il nodo specificato contiene o meno il case corrente. |
PredictHistogram (DMX) | Viene restituito un valore, o un set di valori, stimato per una colonna specificata. |
PredictNodeId (DMX) | Viene restituito l'oggetto Node_ID per ogni case. |
PredictStdev (DMX) | Viene restituita la deviazione standard per il valore stimato. |
PredictSupport (DMX) | Viene restituito il valore di supporto per uno stato specificato. |
PredictVariance (DMX) | Restituisce la varianza di una colonna specificata. |
Per un elenco delle funzioni comuni a tutti gli algoritmi Microsoft, vedere Algoritmi di data mining (Analysis Services - Data Mining) . Per altre informazioni su come usare queste funzioni, vedere Informazioni di riferimento sulle funzioni DMX (Data Mining Extensions).
Vedere anche
Algoritmo Microsoft Linear Regression
Query di data mining
Riferimento tecnico per l'algoritmo Microsoft Linear Regression
Contenuto dei modelli di data mining per i modelli di regressione lineare (Analysis Services - Data mining)