共用方式為


在時序群集模型上建立預測 (中繼資料採礦教學課程)

當您在檢視器中瀏覽時序群集模型而對它更了解之後,可以在資料採礦設計師的 [採礦模型預測] 索引標籤上使用預測查詢產生器來建立預測查詢。若要建立預測,請先選取時序群集模型,然後再選取輸入資料。對於輸入而言,您可以使用外部資料來源,或是建立單一查詢,並在對話方塊中提供值。

本課程假設您已經熟悉如何使用預測查詢產生器,並想要學習如何建立時序群集模型所特有的查詢。如需有關如何使用預測查詢產生器的一般資訊,請參閱<建立 DMX 預測查詢>或基本資料採礦教學課程的<建立預測 (基本資料採礦教學課程)>一節。

在地區模型上建立預測

在此案例中,您會先建立某些單一預測查詢,以了解預測可能會因地區而異的大概情況。

若要在時序群集模型上建立單一查詢

  1. 按一下資料採礦設計師的 [採礦模型預測] 索引標籤。

  2. [採礦模型] 資料行上,選取 [單一查詢]

    隨即出現 [採礦模型] 窗格和 [單一查詢輸入] 窗格。

  3. [採礦模型] 窗格中,按一下 [選取模型] (如果已經選取時序群集模型,您可以略過這個步驟)。

    此時會開啟 [選取採礦模型] 對話方塊。

  4. 展開代表 [Sequence Clustering with Region] 採礦結構的節點,並選取 [Sequence Clustering with Region] 模型。按一下 [確定]。現在請先忽略輸入窗格;當您設定完預測函數之後,您將會指定輸入。

  5. 在此方格中,按一下 [來源] 底下的空白資料格,再選取 [預測函數]。在 [欄位] 底下的資料格中,選取 [PredictSequence]

    [!附註]

    您也可以使用 [預測] 函數。如果您這樣做,請務必選擇可接受資料表資料行當做引數的 [預測] 函數版本。

  6. [採礦模型] 窗格中,選取巢狀資料表 v Assoc Seq Line Items,並將它拖曳到方格內 (PredictSequence 函數的 [準則/引數] 方塊中)。

    拖曳資料表和資料行名稱可讓您建立複雜的陳述式,而不會發生語法錯誤。但是,它會取代資料格的目前內容,其中包括 PredictSequence 函數的其他選擇性引數。若要檢視其他引數,您可以暫時將此函數的第二個執行個體加入至方格內以供參考。

  7. 按一下預測查詢產生器上方角落的 [結果] 按鈕。

預期的結果包含標題為 [運算式] 的單一資料行。[運算式] 資料行包含一個具有三個資料行的巢狀資料表,如下所示:

$SEQUENCE

行號

型號

1

  

Mountain-200

這些結果代表什麼意思?請記得您並未指定任何輸入。因此,將會針對整個案例母體擴展進行預測,而且 Analysis Services 會傳回整體上最有可能的預測。

將輸入加入至單一預測查詢

在此之前,您並未指定任何輸入。在下一個工作中,您將會使用 [單一查詢輸入] 窗格,指定查詢的某些輸入。首先,您將會使用 [地區] 當做地區時序群集模型的輸入,以判斷是否所有地區的預測時序都是相同的。然後您將學習如何修改查詢,為每一個預測增加機率,並讓結果扁平化,好讓您更輕鬆地檢視結果。

若要針對特定的客戶群組產生預測

  1. 按一下預測查詢產生器左上角的 [設計] 按鈕,切換回查詢建立方格。

  2. [單一查詢輸入] 對話方塊中,按一下 [Region][值] 方塊,然後選取 [Europe]

  3. 按一下 [結果] 按鈕,檢視歐洲客戶的預測。

  4. 按一下預測查詢產生器左上角的 [設計] 按鈕,切換回查詢建立方格。

  5. [單一查詢輸入] 對話方塊中,按一下 [Region][值] 方塊,然後選取 [North America]

  6. 按一下 [結果] 按鈕,檢視北美客戶的預測。

使用自訂運算式增加機率

輸出每一個預測的機率稍微複雜一點,因為機率是預測的一個屬性,而且會輸出為巢狀資料表。如果您很熟悉資料採礦延伸模組 (DMX),您可以輕鬆地改變查詢,以便在巢狀資料表上加入子 SELECT 陳述式。但是,您也可以在預測查詢產生器中建立子 SELECT 陳述式,其方式是加入自訂運算式。

使用自訂運算式輸出預測之時序的機率

  1. 按一下預測查詢產生器左上角的 [設計] 按鈕,切換回查詢建立方格。

  2. 在此方格的 [來源] 底下,按一下新的資料列,然後選取 [自訂運算式]

  3. [欄位] 底下的方塊維持空白。

  4. 針對 [別名] 輸入 t。

  5. [準則/引數] 方塊中,輸入完整的子 SELECT 陳述式,如下列程式碼範例所示。請務必包含左右括號。

    (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))
    
  6. 按一下 [結果] 按鈕,檢視歐洲客戶的預測。

結果現在包含兩個巢狀資料表,其中一個包含預測,另一個包含預測的機率。如果此查詢無效,您可以切換到查詢設計檢視,並檢閱完整的查詢陳述式,應該如下所示:

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 關鍵字。

若要扁平化預測查詢中的巢狀資料列集

  1. 按一下預測查詢產生器角落的 [查詢] 按鈕。

    此方格會變成開啟的窗格,您可以在此窗格中檢視及修改之前由預測查詢產生器所建立的 DMX 陳述式。

  2. 在 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
    
  3. 按一下預測查詢產生器上方角落的 [結果] 按鈕。

在您已經手動編輯了查詢之後,如果您切換回 [設計] 檢視,一定會遺失變更。但是,您可將手動建立的 DMX 陳述式儲存到文字檔中,然後再切換回 [設計] 檢視。如果您這樣做,此查詢會還原成之前在 [設計] 檢視中有效的上一個版本。

在相關模型上建立預測

之前的範例使用案例資料表資料行 Region 當做單一預測查詢的輸入,因為您很有興趣知道此模型在地區之間是否有找到任何差異。但是,在瀏覽此模型之後,您覺得這些差異並不是那麼大,所以無法根據地區自訂產品建議。您真正有興趣預測的是客戶選取的項目。因此在隨後的查詢中,您將會使用不包括地區的時序群集模型,為所有客戶產生建議。

使用巢狀資料表資料行當做輸入

首先,您將會建立單一預測查詢,該查詢會使用單一項目當做輸入,並傳回下一個最有可能的項目。若要取得這種類型的預測,您必須使用巢狀資料表資料行當做輸入值。這是因為您所預測的屬性 Model 是巢狀資料表的一部分。Analysis Services 會提供 [巢狀資料表輸入] 對話方塊,幫助您使用預測查詢產生器,輕鬆地在巢狀資料表屬性上建立預測查詢。

若要使用巢狀資料表當做預測的輸入

  1. 按一下預測查詢產生器左上角的 [設計] 按鈕,切換回查詢建立方格。

  2. [單一查詢輸入] 對話方塊中,按一下 [Region][值] 方塊,然後選取空白資料列,清除這個欄位的輸入。

  3. [單一查詢輸入] 對話方塊中,按一下 [vAssocSeqLineItems][值] 方塊,再按一下 (…) 按鈕。

  4. [巢狀資料表輸入] 對話方塊中,按一下 [加入]

  5. 在新的資料列中,按一下 [Model] 底下的方塊,然後從清單中選取 [Touring Tire]。按一下 [確定]

  6. 按一下 [結果] 按鈕,檢視預測。

此模型會針對選擇 Touring Tire 當做第一個項目的所有客戶建議以下的項目。您已經從模型的瀏覽知道,客戶經常會同時購買 Touring Tire 和 Touring Tire Tube 產品,所以這些建議似乎不錯。

$SEQUENCE

行號

型號

1

  

Touring Tire Tube

2

  

Sport-100

3

  

Long-Sleeve Logo Jersey

使用巢狀資料表輸入建立大量預測查詢

現在,此模型建立的預測種類可供您在建議中使用,您對於這樣的結果感到滿意,而且您將會建立一個對應至外部資料來源的預測查詢。該資料來源將會提供代表目前產品的值。因為您對於建立預測查詢來提供客戶識別碼和產品清單當做輸入很感興趣,所以您將會加入客戶資料表當做案例資料表,並加入購買資料表當做巢狀資料表。然後您會跟之前一樣加入預測函數來產生建議。

這是您在第 3 課中用來針對購物籃分析建立預測的相同程序;但是在時序群集模型中,預測也需要訂單當做輸入。

若要使用巢狀資料表輸入來建立預測查詢

  1. 請在 [採礦模型] 窗格中選取 [時序群集模型] (如果未選取的話)。

  2. [選取輸入資料表] 對話方塊中,按一下 [選取案例資料表]

  3. [選取資料表] 對話方塊中,針對 [資料來源] 選取訂單。在 [資料表/檢視表名稱] 清單中,選取 [vAssocSeqOrders],然後按一下 [確定]

  4. [選取輸入資料表] 對話方塊中,按一下 [選取巢狀資料表]

  5. [選取資料表] 對話方塊中,針對 [資料來源] 選取訂單。在 [資料表/檢視表名稱] 清單中,選取 [vAssocSeqLineItems],然後按一下 [確定]

    Analysis Services 將會嘗試偵測關聯性,並在資料類型相符且資料行名稱類似時自動建立關聯性。如果它所建立的關聯性錯誤,您可以用滑鼠右鍵按一下聯結線,並選取 [修改連接] 來編輯資料行對應,或者您可以用滑鼠右鍵按一下聯結線,並選取 [刪除] 來完全移除此關聯性。在此案例中,因為資料表已經在資料來源檢視中聯結,所以這些關聯性會自動加入到 [設計] 窗格中。

  6. 將新的資料列加入方格中。針對 [來源] 選取 [AssocSeqOrders],並針對 [欄位] 選取 [CustomerKey]。

  7. 將新的資料列加入方格中。針對 [來源] 選取 [預測函數],並針對 [欄位] 選取 [PredictSequence]

  8. 將 vAssocSeqLineItems 拖曳到 [準則/引數] 方塊中。按一下 [準則/引數] 方塊的結尾,然後輸入以下引數:2。

    [準則/引數] 方塊中的完整文字應該如下所示:[Sequence Clustering].[v Assoc Seq Line Items],2

  9. 按一下 [結果] 按鈕,檢視每一位客戶的預測。

您已經完成時序群集模型上的教學課程。

後續步驟

如果您已完成<中繼資料採礦教學課程 (Analysis Services - 資料採礦)>中的所有章節,下一個步驟可能要學習如何使用資料採礦延伸模組 (DMX) 陳述式來建立模型及產生預測。如需詳細資訊,請參閱<教學課程:使用 DMX>。

如果您很熟悉程式設計概念,您也可以使用分析管理物件 (AMO) 來以程式設計方式處理資料採礦物件。如需詳細資訊,請參閱<AMO 資料採礦類別>。