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