Condividi tramite


SELECT FROM <model> PREDICTION JOIN (DMX)

Utilizza un modello di data mining per stimare gli stati delle colonne in un'origine dei dati esterna. L'istruzione PREDICTION JOIN stabilisce una corrispondenza tra ogni case della query di origine e il modello.

Sintassi

SELECT [FLATTENED] [TOP <n>] <select expression list> 
FROM <model> | <sub select> [NATURAL] PREDICTION JOIN 
<source data query> [ON <join mapping list>] 
[WHERE <condition expression>]
[ORDER BY <expression> [DESC|ASC]]

Argomenti

  • n
    Facoltativo. Valore integer che specifica il numero di righe da restituire.
  • select expression list
    Elenco delimitato da virgole contenente espressioni e identificatori di colonna derivati dal modello di data mining.
  • model
    Identificatore del modello.
  • sub select
    Istruzione SELECT incorporata.
  • source data query
    Query di origine.
  • join mapping list
    Facoltativo. Espressione logica che confronta le colonne del modello con quelle della query di origine.
  • condition expression
    Facoltativo. Condizione per limitare i valori restituiti dall'elenco di colonne.
  • expression
    Facoltativo. Espressione che restituisce un valore scalare.

Osservazioni

La clausola ON definisce il mapping tra le colonne della query di origine e quelle del modello di data mining. Tale mapping viene utilizzato per dirigere le colonne dalla query di origine alle colonne nel modello di data mining, di modo che possano essere utilizzate come input durante la creazione delle stime. Le colonne elencate nell'argomento <join mapping list> vengono correlate tramite un segno di uguale (=) come mostrato nell'esempio seguente:

[MiningModel].ColumnA = [source data query].Column1 AND 
[MiningModel].ColumnB = [source data query].Column2 AND
...

Quando si associa una tabella nidificata nella clausola ON, è necessario associare la colonna chiave a una colonna non chiave qualsiasi, di modo che l'algoritmo possa identificare correttamente a quale case appartiene il record della colonna nidificata.

La query di origine del PREDICTION JOIN può essere una query singleton o di tabella.

È possibile specificare funzioni di stima che non restituiscono un'espressione di tabella in <select expression list> e <condition expression>.

NATURAL PREDICTION JOIN definisce automaticamente il mapping tra i nomi delle colonne della query di origine e nomi delle colonne corrispondenti nel modello. Se si utilizza NATURAL PREDICTION, è necessario omettere la clausola ON. NATURAL implica che non è specificata alcuna clausola ON e che il mapping tra le colonne è eseguito in base al nome.

Esempio di query singleton

Nell'esempio seguente viene illustrato come creare una query che consente di stimare in tempo reale se una specifica persona acquisterà una bicicletta. I dati non sono archiviati, ma vengono immessi direttamente nella query. La query si riferisce a una persona con il profilo seguente:

  • 35 anni
  • Possiede una casa
  • Possiede due automobili
  • Ha due figli

Se si utilizza il modello di data mining TM Decision Tree e le caratteristiche note del soggetto, la query restituisce un valore booleano che indica se la persona ha acquistato la bicicletta e un set di valori tabulari, ottenuti dalla funzione PredictHistogram, che descrive come è stata eseguita la stima.

SELECT
  [TM Decision Tree].[Bike Buyer],
  PredictHistogram([Bike Buyer])
FROM
  [TM Decision Tree]
NATURAL PREDICTION JOIN
(SELECT 35 AS [Age],
  '5-10 Miles' AS [Commute Distance],
  '1' AS [House Owner Flag],
  2 AS [Number Cars Owned],
  2 AS [Total Children]) AS t

Esempio di query aperta

Nell'esempio seguente viene illustrato come creare una query che consente di stimare se le singole persone indicate in un set di dati esterno acquisteranno una bicicletta. Poiché la tabella si trova in una vista origine dati nell'istanza di Analysis Services, per recuperare i dati la query utilizza OPENQUERY. Poiché la tabella è diversa dalla struttura delle colonne del modello di data mining, viene utilizzata l'istruzione ON per mappare la tabella al modello.

La query restituisce il nome e il cognome di ogni persona nella tabella, oltre a una colonna booleana che indica se è possibile che la persona acquisti una bicicletta e la probabilità che venga effettuato l'acquisto.

SELECT
  t.[LastName],
  t.[FirstName],
  [TM Decision Tree].[Bike Buyer],
  PredictProbability([Bike Buyer])
From
  [TM Decision Tree]
PREDICTION JOIN
  OPENQUERY([Adventure Works DW],
    'SELECT
      [LastName],
      [FirstName],
      [MaritalStatus],
      [Gender],
      [YearlyIncome],
      [TotalChildren],
      [NumberChildrenAtHome],
      [Education],
      [Occupation],
      [HouseOwnerFlag],
      [NumberCarsOwned]
    FROM
      [dbo].[ProspectiveBuyer]
    ') AS t
ON
  [TM Decision Tree].[Marital Status] = t.[MaritalStatus] AND
  [TM Decision Tree].[Gender] = t.[Gender] AND
  [TM Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
  [TM Decision Tree].[Total Children] = t.[TotalChildren] AND
  [TM Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] AND
  [TM Decision Tree].[Education] = t.[Education] AND
  [TM Decision Tree].[Occupation] = t.[Occupation] AND
  [TM Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
  [TM Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned]

Esempio basato sull'algoritmo Association Rules

Nell'esempio seguente viene illustrato come creare una stima utilizzando un modello basato sull'algoritmo Microsoft Association Rules. La query restituisce i tre prodotti che hanno la maggiore probabilità di essere acquistati insieme ai tre prodotti seguenti:

  • Mountain Bottle Cage
  • Mountain Tire Tube
  • Mountain-200

Nell'elenco SELECT viene utilizzato un parametro con la funzione di stima per limitare il numero degli articoli restituiti dalla query.

SELECT
  PREDICT([Association].[v Assoc Seq Line Items], 3)
FROM
  [Association]
NATURAL PREDICTION JOIN
(SELECT (SELECT 'Mountain Bottle Cage' AS [Model]
  UNION SELECT 'Mountain Tire Tube' AS [Model]
  UNION SELECT 'Mountain-200' AS [Model]) AS [products]) AS t

Vedere anche

Riferimento

SELECT (DMX)
Istruzioni DMX (Data Mining Extensions) per la definizione dei dati
Istruzioni DMX (Data Mining Extensions) per la manipolazione dei dati
Guida di riferimento alle istruzioni DMX (Data Mining Extensions)

Guida in linea e informazioni

Assistenza su SQL Server 2005