在查看器中瀏覽順序叢集模型之後,您可以在數據採礦設計師的 [ 採礦模型預測 ] 索引標籤上使用 [預測查詢產生器] 來建立預測查詢。 若要建立預測,請先選取時序群集模型,然後選取輸入數據。 針對輸入,您可以使用外部數據源,也可以建置單一查詢,並在對話框中提供值。
本課程假設您已熟悉如何使用預測查詢產生器,並想要瞭解如何建置序列群集模型特定的查詢。 如需如何使用預測查詢產生器的一般資訊,請參閱
在區域模型上建立預測
在此案例中,您將先建立一些單一預測查詢,以了解預測如何依區域而有所不同。
在時序群集模型上建立單一查詢
按一下資料採礦設計師的 採礦模型預測 標籤。
在 [採礦模型] 欄功能表中,選取 [單一查詢]。
[採礦模型] 窗格和[單一查詢輸入] 窗格隨即出現。
在 [ 採礦模型] 窗格中,按兩下 [ 選取模型]。 (如果已選取時序叢集模式,您可以略過此步驟。
[ 選取採礦模型] 對話框隨即開啟。
展開代表具有區域之採礦結構 時序群集的節點,然後選取模型 時序群集與區域。 按一下 [確定]。 目前,請忽略輸入窗格;在設定預測函式之後,您將指定輸入。
在方格中,按兩下 [來源 ] 底下的空白儲存格,然後選取 [預測函式]。 在 [字段] 底下的儲存格中,選取 [PredictSequence]。
備註
您也可以使用 Predict 函式。 如果您這麼做,請務必選擇採用數據表數據行做為argument的 Predict 函式版本。
在 [採礦模型] 窗格中,選取巢狀數據表
v Assoc Seq Line Items,並將其拖曳到 Grid 中,拖曳至 PredictSequence 函式的 Criteria/Argument 方塊。拖放數據表和數據行名稱可讓您建置複雜的語句,而不會發生語法錯誤。 不過,它會取代單元格的目前內容,其中包含 PredictSequence 函式的其他選擇性自變數。 若要檢視其他自變數,您可以暫時將函式的第二個實例新增至方格以供參考。
按兩下預測查詢產生器右上角的 [結果 ] 按鈕。
預期的結果包含具有 [表達式] 標題的單一數據行。 Expression 資料行包含具有三個數據行的巢狀數據表,如下所示:
| $SEQUENCE | 行號 | 型號 |
|---|---|---|
| 1 | Mountain-200 |
這些結果代表什麼意思? 請記住,您未指定任何輸入。 因此,會針對整個案例母體進行預測,Analysis Services 會傳回最可能的整體預測。
將輸入新增至單一預測查詢
到目前為止,您尚未指定任何輸入。 在下一個工作中,您將使用 [單一查詢輸入 ] 窗格來指定查詢的一些輸入。 首先,您將使用 [Region] 作為區域序列群集模型的輸入,以判斷所有區域的預測序列是否相同。 接著,您將瞭解如何修改查詢以新增每個預測的機率,並壓平結果,使其更容易檢視。
產生特定客戶群組的預測
按兩下預測查詢產生器左上角的 [ 設計 ] 按鈕,切換回查詢建置方格。
在 [單一查詢輸入] 對話框中,按兩下 的
Region[值] 方塊,然後選取 [歐洲]。按兩下 [結果] 按鈕,即可檢視歐洲客戶的預測。
按兩下預測查詢產生器左上角的 [ 設計 ] 按鈕,切換回查詢建置方格。
在 [單一查詢輸入] 對話框中,按兩下 的
Region[值] 方塊,然後選取 [北美洲]。按兩下 [結果] 按鈕,即可檢視北美客戶的預測。
使用自定義表達式新增機率
若要輸出每個預測的機率會稍微複雜一點,因為機率是預測的屬性,而且會輸出為巢狀數據表。 如果您熟悉數據採礦延伸模組 (DMX),您可以輕鬆地改變查詢,在巢狀數據表上新增子選取語句。 不過,您也可以藉由新增自定義表達式,在預測查詢產生器中建立子選取語句。
使用自定義表達式輸出預測序列的機率
按兩下預測查詢產生器左上角的 [ 設計 ] 按鈕,切換回查詢建置方格。
在方格的 [ 來源] 底下,按下新的數據列,然後選取 [自定義表達式]。
在字段下一欄留空。
針對 [別名],輸入
t。在 [ 準則/自變數 ] 方塊中,輸入完整的子選取語句,如下列程式代碼範例所示。 請務必包含開頭和結尾括弧。
(SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))按兩下 [結果] 按鈕,即可檢視歐洲客戶的預測。
結果現在包含兩個巢狀數據表,一個具有預測,另一個包含預測的機率。 如果查詢無法運作,您可以切換至查詢設計檢視並檢閱完整的查詢語句,如下所示:
SELECT
PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]),
( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t]
FROM
[Sequence Clustering with Region]
NATURAL PREDICTION JOIN
(SELECT 'Europe' AS [Region]) AS t
處理結果
當結果中有許多巢狀數據表時,您可能會想要扁平化結果,以便更容易檢視。 若要這樣做,您可以手動修改查詢並新增 FLATTENED 關鍵詞。
在預測查詢中扁平化巢狀數據列集
按兩下 [預測查詢產生器] 角落的 [ 查詢 ] 按鈕。
方格會變更為開啟的窗格,您可以在其中檢視和修改預測查詢產生器所建立的 DMX 語句。
在
SELECT關鍵字之後,輸入FLATTENED。查詢的完整文字應該如下所示:
SELECT FLATTENED PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]), ( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t] FROM [Sequence Clustering with Region] NATURAL PREDICTION JOIN (SELECT 'Europe' AS [Region]) AS t按兩下預測查詢產生器右上角的 [ 結果 ] 按鈕。
手動編輯查詢之後,您將無法切換回 [設計] 檢視,而不會遺失變更。 不過,您可以將手動建立的 DMX 語句儲存至文字文件,然後變更回 [設計] 檢視。 當您這樣做時,查詢會還原為設計檢視中有效的最後一個版本。
在相關模型上建立預測
先前的範例使用案例數據表數據行 Region 作為單一預測查詢的輸入,因為您有興趣知道模型是否在區域之間找到任何差異。 不過,在探索模型之後,您決定差異不夠強大,足以證明依區域自定義產品建議的合理性。 您真正想要預測的是客戶所選擇的商品。 因此,在後續查詢中,您將使用不包含 Region 的順序叢集模型,為所有客戶產生建議。
使用巢狀數據表數據行作為輸入
首先,您將建立一個單一項預測查詢,以單個項目作為輸入,並返回下一個最可能的項目。 若要取得這類的預測,您必須使用巢狀數據表數據行作為輸入值。 這是因為您要預測的屬性 Model 是巢狀數據表的一部分。 Analysis Services 提供 [ 巢狀數據表輸入 ] 對話框,協助您使用預測查詢產生器,輕鬆地在巢狀數據表屬性上建立預測查詢。
使用巢狀數據表作為預測的輸入
按兩下預測查詢產生器左上角的 [ 設計 ] 按鈕,切換回查詢建置方格。
在 [單一查詢輸入] 對話框中,按兩下 的
Region[值] 方塊,然後選取空白數據列以清除此欄位的輸入。在 [單一查詢輸入] 對話框中,點選
vAssocSeqLineItems值 方塊,然後點選 [...] 按鈕。在 [ 巢狀數據表輸入 ] 對話框中,按兩下 [ 新增]。
在新的數據列中,按下 下方
Model的方塊,然後從清單中選取 [Touring Tire]。 按一下 [確定]。按兩下 [結果] 按鈕以檢視預測。
此模型針對選擇 Touring Tire 作為第一個商品的所有客戶,推薦下列商品。 您已經從探索模型中了解到,客戶經常會一起購買 Touring Tire 和 Touring Tire Tube 的產品,所以這些建議看起來不錯。
| $SEQUENCE | 行號 | 型號 |
|---|---|---|
| 1 | 導覽輪胎管 | |
| 2 | Sport-100 | |
| 3 | Long-Sleeve 標誌球衣 |
使用巢狀數據表輸入建立大量預測查詢
既然您滿意模型會建立可用於建議的預測類型,您將建立對應至外部數據源的預測查詢。 該數據源會提供代表目前產品的值。 因為您想要建立提供客戶標識碼和產品清單做為輸入的預測查詢,所以您會將客戶數據表新增為案例數據表,並將購買數據表新增為巢狀數據表。 然後,您將新增預測函式,就像您先前所做的一樣,以建立建議。
這是您在第 3 課中用來建立市場購物籃情境預測的相同步驟;不過,在序列群集模型的預測中,也需要順序作為輸入。
使用巢狀數據表輸入建立預測查詢
在 採礦模型 窗格中,選取 [序列群集模型],如果尚未選取。
在 [ 選取輸入數據表] 對話框中,按兩下 [ 選取案例數據表]。
在 [ 選取數據表] 對話框中,針對 [數據源] 選取 [訂單]。 在 [ 數據表/檢視名稱] 清單中,選取 [vAssocSeqOrders],然後按兩下 [ 確定]。
在 [ 選取輸入數據表] 對話框中,按兩下 [ 選取巢狀數據表]。
在 [選取數據表] 對話框中,對於 [數據來源],選取 [訂單]。 在 [ 數據表/檢視名稱] 清單中,選取 vAssocSeqLineItems,然後按兩下 [ 確定]。
Analysis Services 會嘗試偵測關聯性,並在數據類型相符且數據行名稱類似時自動建立關聯性。 如果建立的關聯性錯誤,您可以以滑鼠右鍵按兩下聯結線,然後選取 [ 修改連接 ] 以編輯資料行對應,或者您可以以滑鼠右鍵按兩下聯結線,然後選取 [ 刪除 ] 以完全移除關聯性。 在此情況下,由於數據表已在數據源檢視中聯結,因此這些關聯性會自動新增至設計窗格。
將新數據列新增至方格。 針對 [來源],選取 vAssocSeqOrders,然後針對 [字段] 選取 [CustomerKey]。
將新數據列新增至方格。 針對 [來源],選取 [ 預測函式],然後針對 [字段],選取 [ PredictSequence]。
將 vAssocSeqLineItems 拖曳到 準則/自變數 方塊中。 按兩下 [ 準則/自變數 ] 方塊的結尾,然後輸入下列自變數:
2。[準則/自變數] 方塊中的完整文字應該是:
[Sequence Clustering].[v Assoc Seq Line Items],2按兩下 [結果] 按鈕以檢視每個客戶的預測。
您已完成時序叢集模型的教學課程。
後續步驟
如果您已完成 元數據採礦教學課程(Analysis Services - 數據採礦)中的所有區段,下一個步驟可能是瞭解如何使用數據採礦延伸模組 (DMX) 語句來建置模型併產生預測。 如需詳細資訊,請參閱使用 DMX 建立和查詢數據採礦模型:教學課程(Analysis Services - 數據採礦)。
如果您熟悉程式設計概念,您也可以使用 Analysis Management Objects (AMO) 以程式設計方式處理數據採礦物件。 如需詳細資訊,請參閱 AMO 數據採礦類別。