SELECT FROM <모델> PREDICTION JOIN (DMX)SELECT FROM <model> PREDICTION JOIN (DMX)

적용 대상:예SQL Server Analysis Services아니요Azure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

마이닝 모델을 사용하여 외부 데이터 원본에 있는 열의 상태를 예측합니다.Uses a mining model to predict the states of columns in an external data source. PREDICTION JOIN 문이 모델에는 원본 쿼리의 각 사례와 일치 합니다.The PREDICTION JOIN statement matches each case from the source query to the model.

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

인수Arguments

n
(선택 사항)Optional. 반환할 행의 수를 지정하는 정수입니다.An integer that specifies how many rows to return.

select 식 목록select expression list
열 식별자 및 식의 쉼표로 구분된 목록이며 마이닝 모델에서 파생됩니다.A comma-separated list of column identifiers and expressions that are derived from the mining model.

모델model
모델 식별자입니다.A model identifier.

sub 선택sub select
포함된 select 문입니다.An embedded select statement.

원본 데이터 쿼리source data query
원본 쿼리입니다.The source query.

조인 매핑 목록join mapping list
(선택 사항)Optional. 모델의 열과 원본 쿼리의 열을 비교하는 논리 식입니다.A logical expression that compares columns from the model to columns from the source query.

조건 식condition expression
(선택 사항)Optional. 열 목록에서 반환되는 값을 제한하는 조건입니다.A condition to restrict the values that are returned from the column list.

expressionexpression
(선택 사항)Optional. 스칼라 값을 반환하는 식입니다.An expression that returns a scalar value.

주의Remarks

ON 절은 원본 쿼리의 열 및 마이닝 모델의 열 간의 매핑을 정의합니다.The ON clause defines the mapping between the columns from the source query and the columns from the mining model. 이 매핑은 예측을 만들 때 원본 쿼리의 열을 입력으로 사용할 수 있도록 원본 쿼리의 열을 마이닝 모델의 열로 전송하는 데 사용됩니다.This mapping is used to direct columns from the source query to columns in the mining model so that the columns can be used as inputs to create the predictions. 열에는 < 조인 매핑 목록> 다음 예제와 같이 등호 (=)를 사용 하 여 관련 된:Columns in the <join mapping list> are related by using an equal sign (=), as shown in the following example:

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

ON 절에서 중첩 테이블을 바인딩하는 경우에는 중첩 열의 레코드가 속한 사례를 알고리즘이 정확히 식별할 수 있도록 키 열과 키가 아닌 열을 바인딩해야 합니다.If you are binding a nested table in the ON clause, ensure that you bind the key column with any non-key columns so that the algorithm can correctly identify which case the record of the nested column belongs to.

예측 조인에 대한 원본 쿼리는 테이블 또는 단일 쿼리일 수 있습니다.The source query for the prediction join can either be a table or a singleton query.

에 있는 테이블 식을 반환 하지 않는 예측 함수를 지정할 수는 < select 식 목록> 및 < 식 조건> 합니다.You can specify prediction functions that do not return a table expression in the <select expression list> and the <condition expression>.

NATURAL PREDICTION JOIN 자동으로 모델에서 열 이름을 일치 하는 원본 쿼리의 열 이름을 함께 매핑합니다.NATURAL PREDICTION JOIN automatically maps together column names from the source query that match column names in the model. 사용 하는 경우 자연 예측, ON 절을 생략할 수 있습니다.If you use NATURAL PREDICTION, you can omit the ON clause.

WHERE 조건은 예측 가능한 열이나 관련 열에만 적용할 수 있습니다.The WHERE condition can be applied only to predictable columns or related columns.

ORDER BY 절에는 단일 열만 인수로 사용할 수 있으므로 둘 이상의 열에 따라 정렬할 수는 없습니다.The ORDER by clause can accept only a single column as an argument; that is, you cannot sort on more than one column.

예제 1: 단일 쿼리Example 1: Singleton Query

다음 예에서는 특정 개인이 자전거를 구입할지 여부를 실시간으로 예측하는 쿼리를 만드는 방법을 보여 줍니다.The following example shows how to create a query to predict whether a specific person will buy a bicycle in real time. 이 쿼리에서는 데이터가 테이블이나 다른 데이터 원본에 저장되지 않으며 쿼리에 직접 입력됩니다.In this query the data is not stored in a table or other data source, but instead is entered directly into the query. 쿼리에 사용되는 개인의 특성은 다음과 같습니다.The person in the query has the following traits:

  • 35세35 years old

  • 주택 소유Owns a house

  • 자동차 두 대 소유Owns two cars

  • 동거 자녀 두 명Has two children living at home

    쿼리는 사람이 자전거를 반환 하는 테이블 형식 값의 집합을 구입 여부를 설명 하는 부울 값을 반환 TM Decision Tree 마이닝 모델 및 주체에 대 한 알려진된 특징을 사용 하는 PredictHistogram ( DMX ) 예측을 만든 하는 방법을 설명 하는 함수입니다.Using the TM Decision Tree mining model and the known characteristics about the subject, the query returns a Boolean value that describes whether the person bought the bike and a set of tabular values, returned by the PredictHistogram (DMX) function, that describe how the prediction was made.

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  

예제 2: OPENQUERY 사용Example 2: Using OPENQUERY

다음 예에서는 외부 데이터 집합에 저장된 잠재 고객 목록을 사용하여 일괄 처리 예측 쿼리를 만드는 방법을 보여 줍니다.The following example shows how to create a batch prediction query by using a list of potential customers stored in an external dataset. 테이블의 인스턴스에서 정의 된 데이터 원본 뷰의 일부 이므로 Analysis ServicesAnalysis Services, 쿼리 צ ְ ײ OPENQUERY 데이터를 검색 합니다.Because the table is part of a data source view that has been defined on an instance of Analysis ServicesAnalysis Services, the query can use OPENQUERY to retrieve the data. 테이블의 열 이름이 마이닝 모델의 경우와 다르기 때문에 ON 모델의 열에는 테이블의 열을 매핑할 절을 사용 해야 합니다.Because the names of the columns in the table are different from those in the mining model, the ON clause must be used to map the columns in the table to the columns in the model.

쿼리는 테이블에 있는 각 개인의 성과 이름 및 각 개인이 자전거를 구입할 가능성이 있는지 여부를 나타내는 부울 열을 반환합니다. 부울 열에서 0은 "자전거를 구입할 가능성이 낮음"을, 1은 "자전거를 구입할 가능성이 높음"을 나타냅니다.The query returns the first and last name of each person in the table, together with a Boolean column that indicates whether each person is likely to buy a bike, where 0 means "probably will not buy a bike" and 1 means "probably will buy a bike". 마지막 열에는 예측된 결과에 대한 확률이 들어 있습니다.The last column contains the probability for the predicted result.

SELECT  
  t.[LastName],  
  t.[FirstName],  
  [TM Decision Tree].[Bike Buyer],  
  PredictProbability([Bike Buyer])  
From  
  [TM Decision Tree]  
PREDICTION JOIN  
  OPENQUERY([Adventure Works DW Multidimensional 2012],  
    '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]  

자전거를 구입할 것으로 예측된 고객만 포함되도록 데이터 집합을 제한한 다음 고객 이름에 따라 목록을 정렬하려면 위의 예에 WHERE 절과 ORDER BY 절을 추가합니다.To restrict the data set to only the customers who are predicted to buy a bike, and then sort the list by customer name, you can add a WHERE clause and an ORDER BY clause to the previous example:

WHERE [BIKE Buyer]  
ORDER BY [LastName] ASC  

예제 3: 연결 예측Example 3: Predicting Associations

다음 예에서는 MicrosoftMicrosoft 연결 알고리즘을 사용하여 만든 모델로 예측을 만드는 방법을 보여 줍니다.The following example shows how to create a prediction by using a model that is built from the MicrosoftMicrosoft Association algorithm. 연결 모델에 대한 예측을 사용하여 관련 제품을 추천할 수 있습니다.Predictions on an association model can be used to recommend related products. 예를 들어 다음 쿼리는 함께 구입될 가능성이 가장 높은 세 가지 제품을 반환합니다.For example, the following query returns the three products that are most likely to be purchased together:

  • Mountain Bottle CageMountain Bottle Cage

  • Mountain Tire TubeMountain Tire Tube

  • Mountain-200Mountain-200

    Predict ( DMX ) 함수는 다형성 및 모든 모델 유형과 함께 사용할 수 있습니다.The Predict (DMX) function is polymorphic and can be used with all model types. value3을 함수에 대한 인수로 사용하여 쿼리가 반환하는 항목 수를 제한할 수 있습니다.You use the value3 as an argument to the function to limit the number of items that are returned by the query. 선택 NATURAL PREDICTION JOIN 절 뒤에 오는 목록에는 예측에 대 한 입력으로 사용할 값을 제공 합니다.The SELECT list that follows the NATURAL PREDICTION JOIN clause supplies the values to use as input for prediction.

SELECT FLATTENED  
  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 [v Assoc Seq Line Items ]) AS t  

예제 결과:Example results:

Expression.ModelExpression.Model
HL Mountain TireHL Mountain Tire
Water BottleWater Bottle
Fender Set - MountainFender Set - Mountain

예측 가능한 특성이 들어 있는 열인 [v Assoc Seq Line Items]가 테이블 열이므로 중첩 테이블이 들어 있는 단일 열이 반환됩니다.Because the column that contains the predictable attribute, [v Assoc Seq Line Items], is a table column, the query returns a single column that contains a nested table. 기본적으로 중첩 테이블 열의 이름은 Expression입니다.By default the nested table column is named Expression. 공급자가 계층적 행 집합을 지원 하지 하는 경우 사용할 수 있습니다는 FLATTENED 결과 보다 쉽게 볼 수 있도록이 예제에 표시 된 대로 키워드입니다.If your provider does not support hierarchical rowsets, you can use the FLATTENED keyword as shown in this example to make the results easier to view.

관련 항목:See Also

SELECT( DMX ) SELECT (DMX)
Data Mining Extensions ( DMX ) 데이터 정의 문 Data Mining Extensions (DMX) Data Definition Statements
Data Mining Extensions ( DMX ) 데이터 조작 문 Data Mining Extensions (DMX) Data Manipulation Statements
Data Mining Extensions ( DMX ) 문 참조Data Mining Extensions (DMX) Statement Reference