SELECT FROM <modèle> PREDICTION JOIN (DMX)

Utilise un modèle d'exploration de données pour prévoir les états des colonnes dans une source de données externe. L'instruction PREDICTION JOIN fait correspondre chaque cas entre la requête source et le modèle.

Syntaxe

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

Arguments

  • n
    Facultatif. Entier spécifiant le nombre de lignes à retourner.
  • select expression list
    Liste séparée par des virgules des identificateurs de colonnes et expressions dérivées du modèle d'exploration de données.
  • model
    Identificateur du modèle
  • sub select
    Instruction Select incorporée
  • source data query
    Requête source
  • join mapping list
    Facultatif. Expression logique qui compare les colonnes du modèle aux colonnes de la requête source.
  • condition expression
    Facultatif. Condition pour restreindre les valeurs retournées de la liste des colonnes.
  • expression
    Facultatif. Expression qui retourne une valeur scalaire.

Notes

La clause ON définit le mappage entre les colonnes de la requête source et les colonnes du modèle d'exploration de données. Ce mappage sert à diriger les colonnes depuis la requête source vers les colonnes du modèle d'exploration de données de sorte que les colonnes puissent être utilisées en valeurs d'entrée lors de la création des prédictions. Les colonnes de l'argument <join mapping list> sont reliées à l'aide du signe égal (=), comme indiqué dans l'exemple suivant :

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

Si vous liez une table imbriquée dans la clause ON, veillez à lier la colonne clé avec des colonnes non clé de sorte que l'algorithme puisse identifier correctement à quel cas appartient l'enregistrement de la colonne imbriquée.

La requête source de la jointure de prédiction peut être une table ou une requête singleton.

Vous pouvez spécifier des fonctions de prédiction qui ne retournent pas d'expression de table dans les arguments <select expression list> et <condition expression>.

NATURAL PREDICTION JOIN mappe automatiquement ensemble les noms de colonnes de la requête source qui correspondent aux noms de colonnes du modèle. Si vous utilisez NATURAL PREDICTION, vous devez omettre la clause ON. NATURAL implique qu'aucune clause ON n'est spécifiée et que les colonnes sont mappées par nom.

Exemple de requête singleton

L'exemple suivant montre comment créer une requête pour prévoir si une personne spécifique achètera une bicyclette en temps réel. Les données ne sont pas stockées, mais entrées directement dans la requête. La personne spécifiée dans la requête possède les particularités suivantes :

  • 35 ans
  • Propriétaire d'une maison
  • Deux voitures
  • Deux enfants

En utilisant le modèle d'exploration de données TM Decision Tree et les particularités connues du sujet, la requête retourne une valeur booléenne qui indique si la personne a acheté la bicyclette, ainsi qu'un ensemble de valeur tabulaires, extraites de la fonction PredictHistogram qui décrivent comment la prédiction a été réalisée.

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

Exemple de requête ouverte

L'exemple suivant montre comment créer une requête qui prévoit si chaque personne d'un jeu de données externe achètera une bicyclette. Étant donné que la table figure au sein d'une vue de source de données sur l'instance de Analysis Services, la requête utilise OPENQUERY pour récupérer les données. Dans la mesure où la table diffère de la structure des colonnes du modèle d'exploration de données, l'instruction ON est utilisée pour mapper la table sur le modèle.

La requête retourne le prénom et le nom de toutes les personnes de la table, ainsi qu'une colonne à valeur booléenne qui indique si chaque personne est susceptible d'acheter une bicyclette et la probabilité d'achat de chacune d'elles.

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]

Exemple d'algorithme Microsoft Association

L'exemple suivant montre comment créer une prédiction en utilisant un modèle construit à partir de l'algorithme Microsoft Association. La requête retourne trois produits ayant toutes les chances de figurer dans le même panier que les trois produits suivants :

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

Un paramètre est utilisé avec la fonction de prédiction dans la liste SELECT pour limiter le nombre d'éléments à retourner par la requête.

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

Voir aussi

Référence

SELECT (DMX)
Instructions de définition de données DMX (Data Mining Extensions)
Instructions de manipulations de données DMX (Data Mining Extensions)
Guide de référence des instructions DMX (Data Mining Extensions)

Aide et Informations

Assistance sur SQL Server 2005