處理模型之後,您可以使用儲存在模型中的關聯資訊來建立預測。 在本課程的最後一個工作中,您將瞭解如何針對您所建立的關聯模型建置預測查詢。 本課程假設您已熟悉如何使用預測查詢產生器,並想要瞭解如何針對關聯模型建置預測查詢。 如需如何使用預測查詢產生器的詳細資訊,請參閱 數據採礦查詢介面。
建立單一預測查詢
關聯模型的預測查詢非常實用:
根據先前或相關的購買記錄,向顧客推薦商品。
尋找相關事件。
識別交易集中或跨交易集的關聯性。
若要建置預測查詢,請先選取要使用的關聯模型,然後指定輸入數據。 輸入可能來自外部數據源,例如一個數值清單,或者您可以建立單一查詢並隨時提供數值。
在此案例中,您會先建立一些單一預測查詢,以了解預測的運作方式。 然後,您將撰寫一個用於大批量預測的查詢語句,以便根據客戶目前的購買紀錄提出建議。
在關聯模型上建立預測查詢
按一下資料採礦設計師的 採礦模型預測 標籤。
在 [ 採礦模型] 窗格中,按兩下 [ 選取模型]。 (如果已選取正確的模型,則可以略過此步驟和下一個步驟。
在 [ 選取採礦模型] 對話框中,展開代表採礦結構 關聯的節點,然後選取模型 關聯。 按一下 [確定]。
目前,您可以忽略輸入窗格。
在方格中,按兩下 [來源 ] 底下的空白儲存格,然後選取 [預測函式]。 在 [欄位] 底下的儲存格中, 選擇
PredictAssociation。您也可以使用 Predict 函數來預測關聯。 如果您這樣做,請務必選擇採用數據表數據行作為自變數的 Predict 函式版本。
在 [採礦模型] 窗格中,選取巢狀數據表
vAssocSeqLineItems,並拖曳至函式的 準則/參數方塊中。拖放數據表和數據行名稱可讓您建置複雜的語句,而不會發生語法錯誤。 不過,它會取代儲存格目前的內容,其中包括函式的其他選用參數
PredictAssociation。 若要檢視其他自變數,您可以暫時將函式的第二個實例新增至方格以供參考。點選條件/參數欄,並在表格名稱後輸入以下文字:
,3[準則/自變數] 方塊中的完整文字應該如下所示:
[Association].[v Assoc Seq Line Items],3按兩下預測查詢產生器右上角的 [ 結果 ] 按鈕。
預期的結果包含具有 [表達式] 標題的單一數據行。 Expression 資料行包含具有單一數據行和下列三個數據列的巢狀數據表。 由於您未指定輸入值,因此這些預測代表整個模型最有可能的產品關聯。
| 型號 |
|---|
| 女子登山短褲 |
| 水瓶 |
| Touring-3000 |
接下來,您將使用 [單一查詢輸入 ] 窗格,將產品指定為查詢的輸入,並檢視最有可能與該專案相關聯的產品。
使用巢狀數據表輸入建立單一預測查詢
按兩下預測查詢產生器角落的 [ 設計 ] 按鈕,切換回查詢建置方格。
在 [ 採礦模型] 功能表上,選取 [單一查詢]。
在 [ 採礦模型] 對話框中,選取 [關聯 模型]。
在方格中,按兩下 [來源 ] 底下的空白儲存格,然後選取 [預測函式]。 在 [欄位] 底下的儲存格中, 選擇
PredictAssociation。在 [採礦模型] 窗格中,選取巢狀資料表
vAssocSeqLineItems,將其拖曳到方格中的 [準則/自變數] 框以供PredictAssociation函式使用。 在巢狀數據表名稱後面輸入,3,就像在上一個程式中一樣。在 單一查詢輸入 對話框中,按一下 vAssoc Seq Line Items 旁的 值 方塊,然後按一下 (...) 按鈕。
在 [ 巢狀數據表輸入 ] 對話框中,在 [ 索引鍵 ] 資料行窗格中,選取
Touring Tire,然後點擊 [ 新增]。按兩下 [結果] 按鈕。
結果現在會顯示最有可能與 Touring Tire 相關聯的產品預測。
| 型號 |
|---|
| 導覽輪胎管 |
| Sport-100 |
| 水瓶 |
不過,您已經知道從探索的模型中得知 Touring Tire Tube 經常與 Touring Tire 一起購買;您更感興趣的是瞭解可以向一起購買這些商品的客戶推薦哪些其他產品。 您將更改查詢,以便根據購物籃中的兩個商品來預測相關產品。 您也會修改查詢,以新增每個預測產品的機率。
將輸入和機率新增至單一預測查詢
按兩下預測查詢產生器角落的 [ 設計 ] 按鈕,切換回查詢建置方格。
在 [單一查詢輸入] 對話框中,按兩下 vAssoc Seq Line Items 旁的 [值] 方塊,然後按兩下 [...] 按鈕。
在「鍵值欄」窗格中,選取
Touring Tire,然後按一下「新增」。在方格中,按兩下 [來源 ] 底下的空白儲存格,然後選取 [預測函式]。 在 [欄位] 底下的儲存格中, 選擇
PredictAssociation。在 採礦模型 窗格中,選取巢狀數據表
vAssocSeqLineItems,拖曳到網格中,放入函式PredictAssociation的 準則/自變數 方塊。 在巢狀數據表名稱後面輸入,3,就像在上一個程式中一樣。在 [巢狀數據表輸入] 對話框中,在 [索引鍵] 列窗格中選取
Touring Tire Tube,然後按一下 [新增]。在方格中,在
PredictAssociation函數的列中,點擊 準則/引數 方塊,然後變更引數以新增引數 INCLUDE_STATISTICS。[準則/自變數] 方塊中的完整文字應該如下所示:
[Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3按兩下 [結果] 按鈕。
巢狀數據表中的結果現在會變更,顯示預測結果、相關支持以及概率。 如需如何解譯這些值的詳細資訊,請參閱關聯模型的採礦模型內容(Analysis Services - 數據採礦)。
| 型號 | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
|---|---|---|---|
| Sport-100 | 4334 | 0.291... | 0.252... |
| 水瓶 | 2866 | 0.192... | 0.175... |
| 修補工具包 | 2113 | 0.142... | 0.132 |
處理結果
當結果中有許多巢狀數據表時,您可能會想要扁平化結果,以便更容易檢視。 若要這樣做,您可以手動修改查詢並新增 FLATTENED 關鍵詞。
在預測查詢中扁平化巢狀數據列集
按兩下預測查詢產生器角落的 [SQL] 按鈕。
方格會變更為開啟的窗格,您可以在其中檢視和修改預測查詢產生器所建立的 DMX 語句。
在
SELECT關鍵字之後,輸入FLATTENED。查詢的完整文字應如下所示:
SELECT FLATTENED PredictAssociation([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,3) FROM [Association] NATURAL PREDICTION JOIN (SELECT (SELECT 'Touring Tire' AS [Model] UNION SELECT 'Touring Tire Tube' AS [Model]) AS [v Assoc Seq Line Items]) AS t按兩下預測查詢產生器右上角的 [ 結果 ] 按鈕。
請注意,在您手動編輯查詢之後,您將無法切換回 [設計] 檢視,而不會遺失變更。 如果您想要儲存查詢,您可以將手動建立的 DMX 語句複製到文字檔。 當您變更回 [設計] 檢視時,查詢會還原為 [設計] 檢視中有效的最後一個版本。
建立多個預測
假設您想要根據過去的購買,瞭解個別客戶的最佳預測。 您可以使用外部數據作為預測查詢的輸入,例如包含客戶識別碼和最新產品購買的數據表。 需求是資料表已定義為 Analysis Services 資料來源檢視;此外,輸入資料必須包含案例和巢狀資料表,例如在該模型中使用的資料表。 它們不需要具有相同的名稱,但結構必須類似。 基於本教學課程的目的,您將使用模型定型的原始數據表。
變更預測查詢的輸入方法
在 [採礦模型] 功能表中,再次選取 單一查詢,以清除勾選標記。
出現一則錯誤訊息,警告您的單一查詢(singleton query)將會遺失。 按一下是。
輸入對話框的名稱會變更為 [選取輸入數據表]。
因為您想要建立提供客戶標識碼和產品清單做為輸入的預測查詢,所以您會將客戶數據表新增為案例數據表,並將購買數據表新增為巢狀數據表。 然後,您將新增預測函式來建立建議。
使用巢狀數據表輸入建立預測查詢
在 [採礦模型] 窗格中,選取 [關聯篩選模型]。
在 [ 選取輸入數據表] 對話框中,按兩下 [ 選取案例數據表]。
在 [ 選取數據表] 對話框中,針對 [數據源],選取 [AdventureWorksDW2008]。 在 [ 數據表/檢視名稱] 清單中,選取 [vAssocSeqOrders],然後按兩下 [ 確定]。
數據表 vAssocSeqOrders 會新增至窗格。
在 [ 選取輸入數據表] 對話框中,按兩下 [ 選取巢狀數據表]。
在 [ 選取數據表] 對話框中,針對 [數據源],選取 [AdventureWorksDW2008]。 在 [ 數據表/檢視名稱] 清單中,選取 vAssocSeqLineItems,然後按兩下 [ 確定]。
數據表 vAssocSeqLineItems 會新增至窗格。
在 [ 指定巢狀聯結 ] 對話框中,將 OrderNumber 字段從案例數據表拖曳到巢狀數據表中的 OrderNumber 字段。
您也可以按下 [ 新增關聯性 ],然後從清單中選取數據行來建立關聯性。
在 [ 指定關聯性] 對話框中,確認 OrderNumber 字段已正確對應,然後按兩下 [ 確定]。
按兩下 [確定 ] 關閉 [ 指定巢狀聯結 ] 對話框。
案例和巢狀數據表會在設計窗格中更新,以顯示連接外部數據行與模型中數據行的聯結。 如果關聯性錯誤,您可以以滑鼠右鍵按兩下聯結線,然後選取 [ 修改連接 ] 以編輯數據行對應,或者您可以以滑鼠右鍵按兩下聯結線,然後選取 [ 刪除 ] 以完全移除關聯性。
將新數據列新增至方格。 針對 [來源],選取 [vAssocSeqOrders] 數據表。 針對 [欄位],選取 [CustomerKey]。
將新數據列新增至方格。 針對 [來源],選取 [vAssocSeqOrders] 數據表。 針對 [欄位],選取 [區域]。
將新數據列新增至方格。 針對 [來源],選取 [ 預測函式],然後針對 [字段] 選取
PredictAssociation。將 vAssocSeqLineItems 拖曳到
PredictAssociation行的 準則/自變數 方塊中。 按兩下 [準則/自變數 ] 方塊的結尾,然後輸入下列文字:INCLUDE_STATISTICS,3[準則/自變數] 方塊中的完整文字應該是:
[Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3按兩下 [結果] 按鈕以檢視每個客戶的預測。
您可能會嘗試在多個模型上建立類似的預測查詢,以查看篩選是否會變更預測結果。 如需建立預測和其他查詢類型的詳細資訊,請參閱 關聯模型查詢範例。
另請參閱
關聯模型的採礦模型內容 (Analysis Services - 數據採礦)
PredictAssociation (DMX)
使用預測查詢產生器建立預測查詢