共用方式為


Microsoft關聯演算法

Microsoft關聯演算法是由 Analysis Services 提供的關聯演算法,對於建議引擎很有用。 建議引擎會根據客戶已購買的專案或表示興趣的專案,向客戶推薦產品。 Microsoft 關聯演算法對購物籃分析也很有用。 如需市場籃子分析的範例,請參閱資料探勘教程中的第 3 課:建立購物籃情境(中級資料探勘教程)

關聯模型建置在數據集上,其中包含個別案例的標識符,以及案例所含的項目標識符。 案例中的專案群組稱為 專案集。 關聯模型是由一系列專案集和規則所組成,這些規則會描述這些專案在案例中如何群組在一起。 演算法所識別的規則可用來根據客戶購物車中已經存在的商品,預測客戶未來可能會購買的商品。 下圖展示項目集中的一系列規則。

關聯模型的一組規則

如圖所示,Microsoft關聯演算法可能會在數據集內找到許多規則。 演算法會使用兩個參數支援和機率來描述其產生的專案集和規則。 例如,如果 X 和 Y 代表兩個項目可以在購物車中,則 support 參數是數據集中包含 X 和 Y 組合的案例數目。透過利用支持參數與使用者定義的參數,MINIMUM_SUPPORTMAXIMUM_SUPPORT, 演算法會控制產生的項目集數目。 機率參數,也稱為 信賴度,代表包含 X 且也包含 Y 之數據集中案例的分數。演算法會使用 probability 參數搭配 MINIMUM_PROBABILITY 參數,控制產生的規則數目。

範例

Adventure Works Cycle 公司正在重新設計其網站的功能。 重新設計的目標是增加產品的銷售。 由於公司在交易型資料庫中記錄每筆銷售,因此可以使用 Microsoft 關聯演算法來識別通常一起購買的一組產品。 然後,他們可以根據客戶購物籃中已經有的專案,預測客戶可能感興趣的其他專案。

演算法的運作方式

Microsoft關聯演算法會遍歷數據集,以尋找在某個情境中一起出現的項目。 演算法接著會將任何出現的相關項目分組為項目集,這些項目至少會在 MINIMUM_SUPPORT 參數所指定的案例數目中出現。 例如,項集可以是「Mountain 200=Existing,Sport 100=Existing」,並且擁有 710 的支持度。 演算法接著會從項目集產生規則。 這些規則可用來根據演算法識別為重要的其他特定專案,預測資料庫中專案是否存在。 例如,規則可能是「如果 Touring 1000=存在 且 Road bottle cage=存在, 那麼 Water bottle=存在」,而且機率可能為 0.812。 在此範例中,演算法會識別Touring 1000輪胎籃子中的存在,而水瓶籠預測水瓶也可能出現在籃子中。

如需演算法的更詳細說明,以及自定義演算法行為並控制採礦模型中結果的參數清單,請參閱 Microsoft關聯演算法技術參考

關聯模型所需的數據

當您準備數據以用於關聯規則模型時,您應該瞭解特定演算法的需求,包括需要多少數據,以及如何使用數據。

關聯規則模型的需求如下:

  • 單一索引鍵數據行 每個模型都必須包含一個可唯一識別每個記錄的數值或文字數據行。 禁止使用複合鍵位。

  • 單一可預測數據行 關聯模型只能有一個可預測的數據行。 一般而言,它是巢狀數據表的主鍵欄,例如列出所購買產品的欄位。 這些值必須離散或離散化。

  • 輸入欄位 。 輸入數據行必須是離散的。 關聯模型的輸入數據通常包含在兩個數據表中。 例如,一個數據表可能包含客戶資訊,而另一個數據表則包含客戶購買。 您可以使用巢狀數據表,將此資料輸入模型。 如需巢狀數據表的詳細資訊,請參閱巢狀數據表(Analysis Services - 數據採礦)。

如需關聯模型所支援內容類型和數據類型的詳細資訊,請參閱 Microsoft關聯演算法技術參考的需求一節。

檢視關聯模型

若要探索模型,您可以使用 Microsoft關聯查看器。 當您檢視關聯模型時,Analysis Services 會從不同角度呈現相互關聯,以便進一步了解數據中找到的關聯性和規則。 查看器中的 [專案集 ] 窗格提供最常見組合或專案集的詳細明細。 [ 規則 ] 窗格會顯示已從數據一般化的規則清單、新增機率的計算,以及依相對重要性排序規則。 相依性網路查看器可讓您以可視化方式探索個別不同項目的連線方式。 如需詳細資訊,請參閱 使用 Microsoft 叢集查看器流覽模型

如果您想要深入瞭解任何專案集和規則,您可以在 Microsoft 一般內容樹視圖器中流覽模型。 針對模型儲存的內容包含每個專案集的支援、每個規則的分數,以及其他統計數據。 如需詳細資訊,請參閱關聯模型的採礦模型內容(Analysis Services - 數據採礦)。

建立預測

處理模型之後,您可以使用規則和專案集來進行預測。 在關聯模型中,預測會告訴您在指定專案存在時可能發生的專案,而預測可以包含機率、支援或重要性等資訊。 如需如何針對關聯模型建立查詢的範例,請參閱 關聯模型查詢範例

如需如何針對數據採礦模型建立查詢的一般資訊,請參閱 數據採礦查詢

績效

建立項集和計算關聯性的過程可能很耗時。 雖然Microsoft關聯規則演算法會使用優化技術來節省空間並加快處理速度,但您應該知道效能問題可能發生在下列情況下:

  • 數據集很大,有許多個別項目。

  • 最小項目集大小設定太低。

若要將處理時間降至最低並降低專案集的複雜度,您可以在分析數據之前,先嘗試依類別分組相關專案。

備註

  • 不支援使用預測模型標記語言 (PMML) 來建立採礦模型。

  • 支援鑽取功能。

  • 支援使用 OLAP 採礦模型。

  • 支援建立數據採礦維度。

另請參閱

數據採礦演算法(Analysis Services - 數據採礦)使用 Microsoft 關聯規則查看器流覽關聯模型關聯模型的挖掘模型內容(Analysis Services - 數據採礦)Microsoft 關聯演算法技術參考關聯模型查詢範例