共用方式為


Microsoft關聯演算法

適用於: SQL Server 2019 和舊版 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

SQL Server 2017 Analysis Services 中已淘汰數據採礦,現在已在 SQL Server 2022 Analysis Services 中停止。 檔不會更新為已淘汰和已停止的功能。 若要深入瞭解,請參閱 Analysis Services 回溯相容性

Microsoft關聯演算法是通常用於建議引擎的演算法。 建議引擎會根據客戶已購買的專案,或表示感興趣的專案,向客戶推薦專案。 Microsoft關聯演算法也適用於購物籃分析。

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

關聯模型的一組規則

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

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

演算法的運作方式

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

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

關聯模型所需的數據

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

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

  • 單一索引鍵數據行 每個模型必須包含一個可唯一識別每筆記錄的數值或文字數據行。 不允許複合索引鍵。

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

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

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

檢視關聯模型

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

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

建立預測

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

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

性能

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

  • 數據集很大,有許多個別專案。

  • 專案集大小下限設定太低。

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

言論

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

  • 支援鑽研。

  • 支援使用 OLAP 採礦模型。

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

另請參閱

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