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) 陳述式參考