SELECT FROM <model> PREDICTION JOIN(DMX)

마이닝 모델을 사용하여 외부 데이터 원본에 있는 열의 상태를 예측합니다. 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 절이 지정되어 있지 않고 열이 이름으로 매핑됨을 나타냅니다.

단일 쿼리의 예

다음 예에서는 특정한 개인이 자전거를 구입할 것인지를 실시간으로 예측하는 쿼리를 만드는 방법을 보여 줍니다. 이때 데이터는 저장되지 않고 쿼리에 직접 입력됩니다. 쿼리에 사용되는 개인의 특징은 다음과 같습니다.

  • 35세
  • 주택 소유
  • 자동차 두 대 소유
  • 자녀 두 명

쿼리는 TM Decision Tree 마이닝 모델 및 대상의 알려진 특징을 사용하여 그 사람이 자전거를 구입했는지 여부를 나타내는 부울 값과 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(DMX)
DMX(데이터 마이닝 확장) 데이터 정의 문
DMX(데이터 마이닝 확장) 데이터 조작 문
DMX(데이터 마이닝 확장) 문 참조

도움말 및 정보

SQL Server 2005 지원 받기