什麼是支援計數?


支援計數是確定每個候選專案集出現頻率的過程,這些候選專案集在 Apriori-Gen 函式的候選剪枝步驟中倖存下來。

一種執行此操作的方法是將每個事務與每個候選專案集進行比較,並重新整理事務中包含的候選者的支援計數。這種方法在計算上代價很高,尤其是在事務和候選專案集都很多的情況下。

第二種方法是列舉每個事務中包含的專案集,並需要它們重新整理其特定候選專案集的支援計數。考慮一個包含五個專案的事務 t,{I、2、3、5 和 6}。此事務中包含 (5 3) = 10 個大小為 3 的專案集。

各種專案集可能對應於正在分析的候選 3-專案集,在這種情況下,它們的支撐計數會遞增。存在 t 的不同子集,它們不對應於可以忽略的一些候選者。

一種系統地列舉 t 中包含的 3-專案集的方法。考慮到每個專案集都以改進的字典序維護其專案,可以透過首先定義最小的專案,然後定義更高的專案來列舉專案集。

例如,給定 t:{1、2、3、5 和 6},t 中包含的所有 3-專案集都應以專案 1、2 或 3 開頭。建立以專案 5 或 6 開頭的 3-專案集是不適用的,因為 t 中有兩個專案的標籤高於或等於 5。

字首架構顯示瞭如何一致地列舉事務中包含的專案集,即透過逐個定義其專案,從最左邊的專案到最右邊的專案。

它可以確定每個列舉的 3-專案集是否與現有的候選專案集相關。如果它連線了一個候選者,那麼相關候選者的支援計數就會遞增。

在 Apriori 演算法中,候選專案集被分成多個桶並儲存在雜湊樹中。在支援計數期間,每個事務中包含的專案集也將其雜湊到其合適的桶中。與其將事務中的每個專案集與每個候選專案集進行比較,不如僅將其與屬於相同桶的候選專案集進行比較。

樹的每個內部節點都需要以下雜湊函式 h(p):p mod 3,以確定接下來必須遵循當前節點的哪個分支。例如,專案 1、4 和 7 被雜湊到相同的分支(即最左邊的分支),因為它們在將數字除以 3 後具有相同的餘數。所有候選專案集都儲存在雜湊樹的葉節點中。

更新於:2022 年 2 月 11 日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.