預測關聯 (中繼資料採礦教學課程)
當模型經過處理之後,您可以使用與模型中儲存的關聯有關的資訊來建立預測。 在本課程的最後一個工作中,您將會學習如何針對您所建立的關聯模型來建立預測查詢。 此課程假設您已熟悉如何使用預測查詢產生器,而且想要學習如何針對關聯模型來建立預測查詢。 如需如何使用預測查詢產生器的詳細資訊,請參閱 資料採礦查詢介面。
建立單一預測查詢
關聯模型上的預測查詢可能非常實用:
根據先前或相關的採購,向客戶推薦項目
尋找相關的事件。
識別一組交易中或跨一組交易的關聯性。
若要建立預測查詢,請先選取您想要使用的關聯模型,然後再指定輸入資料。 輸入可以來自外部資料來源 (例如值的清單),或者您可以建立單一查詢並提供值。
在此案例中,您會先建立某些單一預測查詢,大概了解預測的運作方式。 然後您會建立批次預測的查詢,讓您用來根據客戶的目前購買項目來做出建議。
若要在關聯模型上建立預測查詢
按一下資料採礦Designer的[採礦模型預測] 索引標籤。
在 [採礦模型] 窗格中,按一下 [選取模型]。 (如果已選取正確的模型,您可以略過這個步驟和下一個步驟)。
在 [ 選取採礦模型] 對話方塊中,展開代表採礦結構 關聯的節點,然後選取模型 關聯。 按一下 [確定] 。
現在可以忽略輸入窗格。
在方格中,按一下 [ 來源 ] 底下的空白儲存格,然後選取 [預測函數]。 在 [欄位] 底下的儲存格中,選取
PredictAssociation
。您也可以使用 Predict 函數來預測關聯。 如果您這麼做,請務必選擇採用資料表資料行做為引數的 Predict 函式版本。
在[採礦模型]窗格中,選取巢狀資料表
vAssocSeqLineItems
,並將它拖曳到方格中,然後拖曳至函式的PredictAssociation
[準則/引數] 方塊。拖曳資料表和資料行名稱可讓您建立複雜的陳述式,而不會產生語法錯誤。 不過,它會取代儲存格的目前內容,其中包含函式的其他選擇性引數
PredictAssociation
。 若要檢視其他引數,您可以暫時將此函數的第二個執行個體加入至方格內以供參考。按一下 [ 準則/引數 ] 方塊,然後在資料表名稱後面輸入下列文字:
,3
[ 準則/引數 ] 方塊中的完整文字應如下所示:
[Association].[v Assoc Seq Line Items],3
按一下預測查詢產生器右上角的 [ 結果 ] 按鈕。
預期的結果包含具有 運算式標題的單一資料行。 Expression資料行包含具有單一資料行和下列三個數據列的巢狀資料表。 因為您未指定輸入值,所以這些預測代表整體而言,此型號最有可能的產品關聯。
型號 |
---|
Women's Mountain Shorts |
Water Bottle |
Touring-3000 |
接下來,您將使用 [單一查詢輸入 ] 窗格,將產品指定為查詢的輸入,並檢視最有可能與該專案相關聯的產品。
若要使用巢狀資料表輸入建立單一預測查詢
按一下預測查詢產生器角落的 [ 設計 ] 按鈕,切換回查詢建置方格。
在 [採礦模型] 功能表上,選取 [單一查詢]。
在 [ 採礦模型] 對話方塊中,選取 [關聯 模型]。
在方格中,按一下 [ 來源 ] 底下的空白儲存格,然後選取 [預測函數]。 在 [欄位] 底下的儲存格中,選取
PredictAssociation
。在[採礦模型]窗格中,選取巢狀資料表
vAssocSeqLineItems
,並將它拖曳到方格中,然後拖曳至函式的PredictAssociation
[準則/引數] 方塊。 在巢狀資料表名稱後面輸入,3
,就像在上一個程式中一樣。在 [單一查詢輸入] 對話方塊中,按一下vAssoc Seq 明細專案旁的 [值] 方塊,然後按一下[ (...) ] 按鈕。
在 [ 巢狀資料表輸入 ] 對話方塊中,選取
Touring Tire
[ 索引鍵 ] 資料行窗格中的 ,然後按一下 [ 新增]。按一下 [ 結果] 按鈕。
結果現在會顯示最有可能與 Touring Tire 產生關聯之產品的預測。
型號 |
---|
Touring Tire Tube |
Sport-100 |
Water Bottle |
但是,您已經從模型的瀏覽知道 Touring Tire Tube 經常會與 Touring Tire 一起被購買;您比較有興趣知道,您可以向購買這些產品的客戶推薦可以一起購買哪些產品。 您將會變更此查詢,好讓它根據購物籃中的兩個項目預測相關產品。 您也將修改此查詢,為每一個預測的產品增加機率。
若要在單一預測查詢中加入輸入和機率
按一下預測查詢產生器角落的 [ 設計 ] 按鈕,切換回查詢建置方格。
在 [單一查詢輸入] 對話方塊中,按一下vAssoc Seq 明細專案旁的 [值] 方塊,然後按一下[ (...) ] 按鈕。
在 [ 索引鍵] 資料行 窗格中,選取
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... |
Water Bottle | 2866 | 0.192... | 0.175... |
Patch Kit | 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 資料來源檢視,而且輸入資料必須包含案例和巢狀資料表 (就像模型中使用的資料表)。 它們不需要同名,但是結構必須類似。 基於這個教學課程的目的,您將會使用此模型定型所在的原始資料表。
若要變更預測查詢的輸入方法
在 [採礦模型] 功能表中,再次選取 [單一查詢 ],以清除核取記號。
隨即出現一則錯誤訊息,警告您單一查詢將會遺失。 按一下 [是] 。
輸入對話方塊的名稱會變更為 [選取輸入資料表] () 。
因為您對於建立預測查詢來提供客戶識別碼和產品清單當做輸入很感興趣,所以您將會加入客戶資料表當做案例資料表,並加入購買資料表當做巢狀資料表。 然後您會加入預測函數來產生建議。
若要使用巢狀資料表輸入來建立預測查詢
在 [採礦模型] 窗格上,選取 [篩選的關聯] 模型。
在 [ 選取輸入資料表 () ] 對話方塊中,按一下 [ 選取案例資料表]。
在 [ 選取資料表 ] 對話方塊中,針對 [資料來源],選取 [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)
使用預測查詢產生器來建立預測查詢