Share via


SELECT FROM <model> PREDICTION JOIN (DMX)

Verwendet ein Miningmodell dazu, die Status von Spalten vorherzusagen, die zu einer externen Datenquelle gehören. Die PREDICTION JOIN-Anweisung gleicht jeden Fall aus der Quellabfrage mit dem Modell ab.

Syntax

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]]

Argumente

  • n
    Optional. Eine ganze Zahl, die angibt, wie viele Zeilen zurückgegeben werden sollen.
  • select expression list
    Eine durch Kommas getrennte Liste mit Spaltenbezeichnern und Ausdrücken, die aus dem Miningmodell abgeleitet sind.
  • model
    Ein Modellbezeichner.
  • sub select
    Eine eingebettete SELECT-Anweisung.
  • source data query
    Die Quellabfrage.
  • join mapping list
    Optional. Ein logischer Ausdruck, in dem Spalten aus dem Modell mit Spalten aus der Quellabfrage verglichen werden.
  • condition expression
    Optional. Eine Bedingung, die die Werte einschränkt, die für die Spaltenliste zurückgegeben werden.
  • expression
    Optional. Ein Ausdruck, der einen Skalarwert zurückgibt.

Hinweise

Die ON-Klausel definiert die Zuordnung zwischen den Spalten aus der Quellabfrage und den Spalten aus dem Miningmodell. Diese Zuordnung wird verwendet, um Spalten aus der Quellabfrage auf Spalten im Miningmodell zu richten, sodass die Spalten beim Erstellen der Vorhersagen als Eingaben verwendet werden können. Spalten in der Verknüpfungszuordnungsliste (<join mapping list>) werden mit Gleichheitszeichen (=) einander zugeordnet, wie das folgende Beispiel zeigt:

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

Wenn Sie in der ON-Klausel eine geschachtelte Tabelle binden, müssen Sie die Schlüsselspalte mit Nichtschlüsselspalten binden, damit der Algorithmus richtig ermitteln kann, zu welchem Fall der Datensatz der geschachtelten Spalte gehört.

Die Quellabfrage für die Vorhersageverknüpfung (PREDICTION JOIN) kann eine Tabellen- oder eine SINGLETON-Abfrage sein.

Sie können in der Auswahlausdrucksliste (<select expression list>) und im Bedingungsausdruck (<condition expression>) Vorhersagefunktionen angeben, die keinen Tabellenausdruck zurückgeben.

NATURAL PREDICTION JOIN ordnet Spaltennamen aus der Quellabfrage, die mit Spaltennamen im Modell übereinstimmen, automatisch einander zu. Wenn Sie NATURAL PREDICTION verwenden, sollten Sie auf die ON-Klausel verzichten. NATURAL bedeutet, dass keine ON-Klausel angegeben wird und die Spalten nach Namen zugeordnet werden.

Beispiel zu einer SINGLETON-Abfrage

Das folgende Beispiel zeigt, wie eine Abfrage erstellt wird, die in Echtzeit vorhersagt, ob eine bestimmte Person ein Fahrrad kauft. Dabei sind die Daten für die Abfrage nicht gespeichert, sondern werden direkt in die Abfrage eingegeben. Die Person in der Abfrage hat folgende Merkmale:

  • 35 Jahre alt
  • Besitzt ein Haus
  • Besitzt zwei Autos
  • Hat zwei Kinder zu Hause

Für die Abfrage werden das TM Decision Tree-Miningmodell und die zu der Person bekannten Merkmale verwendet. Die Abfrage gibt sowohl einen booleschen Wert zurück, der beschreibt, ob die Person das Fahrrad gekauft hat, als auch ein Resultset in Tabellenform, das durch die PredictHistogram-Funktion erstellt wurde und beschreibt, wie die Vorhersage zustande gekommen ist.

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

OPENQUERY-Beispiel

Das folgende Beispiel zeigt, wie eine Abfrage erstellt wird, die vorhersagt, ob jede Person aus einem externen Dataset ein Fahrrad kauft. Da die Tabelle in einer Datenquellensicht für die Instanz von Analysis Services enthalten ist, verwendet die Abfrage die OPENQUERY-Klausel zum Abrufen der Daten. Weil sich die Tabelle von der Spaltenstruktur des Miningmodells unterscheidet, wird die ON-Anweisung verwendet, um die Tabelle dem Modell zuzuordnen.

Die Abfrage gibt Folgendes zurück: den Vor- und Nachnamen jeder Person in der Tabelle, eine boolesche Spalte, die beschreibt, ob jede Person voraussichtlich ein Fahrrad kauft, und die Wahrscheinlichkeit, mit der jede Person ein Fahrrad kauft.

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]

Beispiel zum Association-Algorithmus

Das folgende Beispiel zeigt, wie eine Vorhersage durch Verwenden eines Modells erstellt wird, das über den Microsoft Association-Algorithmus erstellt wurde. Die Abfrage gibt drei Produkte zurück, die höchstwahrscheinlich zum selben Warenkorb gehören wie die folgenden drei Produkte.

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

Ein Parameter wird mit der Vorhersagefunktion in der SELECT-Liste verwendet, um die Anzahl der von der Abfrage zurückgegebenen Elemente zu begrenzen.

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

Siehe auch

Verweis

SELECT (DMX)
Data Mining-Erweiterungen (DMX) - Datendefinitionsanweisungen
Data Mining-Erweiterungen (DMX) - Datenbearbeitungsanweisungen
Data Mining-Erweiterungen (DMX) - Anweisungsreferenz

Hilfe und Informationen

Informationsquellen für SQL Server 2005