SELECT FROM <модель> PREDICTION JOIN (расширения интеллектуального анализа данных)

Использует модель интеллектуального анализа данных для прогнозирования состояний столбцов внешнего источника данных. Инструкция PREDICTION JOIN производит согласование каждого варианта исходного запроса с моделью.

Синтаксис

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

Аргументы

  • n
    (необязательный аргумент) Целое число, указывающее количество возвращаемых строк.
  • select expression list
    Разделенный запятыми список идентификаторов столбцов и выражений, производных от модели интеллектуального анализа данных.
  • model
    Идентификатор модели.
  • sub select
    Внедренная инструкция SELECT.
  • source data query
    Исходный запрос.
  • join mapping list
    (необязательный аргумент) Логическое выражение сравнения столбцов модели со столбцами исходного запроса.
  • condition expression
    (необязательный аргумент) Условие ограничения значений, возвращаемых из списка столбцов.
  • expression
    (необязательный аргумент) Выражение, возвращающее скалярное значение.

Замечания

Предложение ON определяет сопоставление столбцов исходного запроса со столбцами модели интеллектуального анализа данных. Такое сопоставление используется для направления столбцов исходного запроса к столбцам модели интеллектуального анализа данных, чтобы эти столбцы можно было использовать в качестве входных при создании прогнозов. Столбцы в списке <join mapping list> соотносятся с помощью знака равенства (=), как показано в следующем примере:

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

При связывании вложенной таблицы предложением ON удостоверьтесь, что ключевой столбец связывается с какими-либо неключевыми столбцами, чтобы алгоритм мог корректно идентифицировать вариант, которому принадлежит запись вложенного столбца.

Исходный запрос для прогнозируемого соединения может представлять собой таблицу или одноэлементный запрос.

В списке <select expression list> и выражении <condition expression> можно указывать прогнозирующие функции, не возвращающие табличного выражения.

Инструкция NATURAL PREDICTION JOIN автоматически сопоставляет имена столбцов исходного запроса, совпадающих с именами столбцов модели. При использовании инструкции NATURAL PREDICTION предложение ON указывать не следует. Ключевое слово NATURAL подразумевает, что предложение ON не указывается, а сопоставление столбцов выполняется по имени.

Пример запроса OPENQUERY

Следующий пример показывает способ создания запроса для прогнозирования факта покупки велосипеда человеком в реальном времени, в котором данные не сохраняются, а вместо этого вводятся непосредственно в запрос. Человек в запросе обладает следующими характеристиками:

  • Возраст 35 лет
  • Владеет домом
  • Владеет двумя автомобилями
  • Двое детей дома

Используя модель интеллектуального анализа данных TM-дерева принятия решений и известные характеристики субъекта, запрос возвращает логическое значение, описывающее факт покупки велосипеда человеком, и набор табличных значений, запрошенных из функции PredictHistogram, описывающих, как был сделан прогноз.

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

Пример открытого запроса

Следующий пример показывает способ создания запроса, прогнозирующего факт покупки велосипеда каждым из перечисленных во внешнем наборе данных субъектов. Так как таблица существует в представлении источника данных экземпляра службы Analysis Services, для получения данных запрос использует инструкцию OPENQUERY. Так как таблица отличается от структуры столбцов модели интеллектуального анализа данных, для сопоставления таблицы с моделью используется инструкция ON.

Запрос возвращает список имен и фамилий каждого человека в таблице наряду с логическим столбцом, описывающим вероятность покупки велосипеда каждым человеком, а также величину этой вероятности.

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]

Пример алгоритма взаимосвязей

Следующий пример показывает способ создания прогноза с помощью модели, построенной алгоритмом взаимосвязей (Microsoft). Запрос возвращает три продукта, которые с наибольшей вероятностью попадут в одну корзину, например:

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

С прогнозирующей функцией в списке SELECT используется параметр, ограничивающий количество элементов, возвращаемых запросом.

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

См. также

Справочник

SELECT (расширения интеллектуального анализа данных)
Инструкции определения расширений интеллектуального анализа данных
Инструкции управления данными расширений интеллектуального анализа данных
Справка по инструкции расширений интеллектуального анализа данных

Справка и поддержка

Получение помощи по SQL Server 2005