第六章 結論與未來研究方向
方程式 5 乏析資料探勘中項目集的支持度計算公式
類別 讀者 1 讀者 2 {1, 2} = Min(1, 2)
A 0 0.2 0
B 0.33 0.2 0.2
C 0 0.4 0
D 0.33 0.2 0.2
E 0.33 0 0
支持度 1 1 0.4
表 11 找出項目集{1, 2}的支持度
項目集
類別 {1,2} {1,3} {1,4} {1,5} {2,3} {2,4} {2,5} {3,4} {3,5} {4,5}
A 0 0 0 0 0.2 0 0.17 0 0.17 0 B 0.2 0.2 0.33 0 0.2 0.2 0 0.2 0 0 C 0 0 0 0 0.2 0 0.33 0 0.2 0 D 0.2 0.2 0.33 0.33 0.2 0.2 0.2 0.2 0.2 0.33 E 0 0.2 0.33 0 0 0 0 0.2 0 0 支持度 0.4 0.6 0.99 0.33 0.8 0.4 0.7 0.6 0.57 0.33
表 12 所有長度為 2 的項目集的支持度
本論文用到的乏析式資料探勘跟 Apriori [2]演算法的步驟類似,都是先用已經找到 的具有 n 個項目的頻繁項目集或稱為長度為 n 的頻繁項目集,來推測下一層哪些長度為 (n+1) 的項目集可能是頻繁項目集,而這些尚未算出支持度的可能頻繁項目集也稱為候 選 (Candidate) 項目集。然後再檢查整個交易集來算出每一個候選項目集的支持度,把 低於最小支持度的候選項目集去掉,剩下來的就是這一層的頻繁項目集。之後再利用這 些剛找出來的頻繁項目集繼續推測下一層長度加一的候選項目集,依此類推。當無法找 出任何頻繁項目集或無法從這一層的頻繁項目集推出下一層的候選項目集時,探勘的動 作就停止,而在過程中找到的頻繁項目集就是交易集中所有符合要求的頻繁項目集。
以表 10 的例子來說明,在本論文中所有長度為 1 僅具單一項目的項目集都是頻繁 項目集,其支持度固定都是支持度的上限 1,不必再去檢查。這樣接下來如果全部有 k
個項目,也就是有 k 個讀者的話,則長度為 2 的候選項目集共有 C(k,2) = k(k-1)/2 個。表 12 就是所有長度為 2 的候選項目集及其支持度。假設最小支持度設為 0.55,則可以得到 的長度為 2 的頻繁項目集共有 6 個,如表 13 所示。
頻繁項目集 支持度
{1, 3} 0.6
{1, 4} 0.99
{2, 3} 0.8
{2, 5} 0.7
{3, 4} 0.6
{ 3, 5} 0.57
表 13 第二層中具有兩個項目的頻繁項目集
由於頻繁項目集的任一子集合必然也是頻繁項目集,所以從長度為 n 的頻繁項目集 可推測出哪些長度為 (n+1) 的項目集可能是頻繁項目集。在這個例子中長度為 3 的候選 項目集有 {1, 3, 4} 和 {2, 3, 5},因為 {1, 3, 4} 的子集合 {1, 3}, {1, 4}, {3, 4} 和 {2, 3, 5} 的子集合 {2, 3}, {2, 5}, {3, 5} 都屬於第二層的頻繁項目集。{1, 3, 4} 和 {2, 3, 5} 的 支持度計算分別如表 14 和表 15。
類別 讀者 1 讀者 3 讀者 4 {1, 3, 4} = Min(1, 3, 4)
A 0 0.2 0 0
B 0.33 0.2 0.33 0.2
C 0 0.2 0 0
D 0.33 0.2 0.33 0.2 E 0.33 0.2 0.33 0.2
支持度 1 1 1 0.6
表 14 找出項目集{1, 3, 4}的支持度
類別 讀者 2 讀者 3 讀者 5 {2, 3, 5} = Min(2, 3, 5) A 0.2 0.2 0.17 0.17
B 0.2 0.2 0 0
C 0.4 0.2 0.33 0.2
D 0.2 0.2 0.5 0.2
E 0 0.2 0 0
支持度 1 1 1 0.57
表 15 找出項目集{2, 3, 5}的支持度
從表 14 和表 15 可知,項目集 {1, 3, 4} 和 {2, 3, 5} 的支持度分別為 0.6 和 0.57,
仍然滿足預設的最小支持度 0.55。因為 {1, 3, 4} 和 {2, 3, 5} 無法再產生長度為 4 的候 選項目集,所以整個探勘的工作到此告一段落,所找到的頻繁項目集共有 {1, 3}, {1, 4}, {2, 3}, {2, 5}, {3, 4}, {3, 5}, {1, 3, 4}, {2, 3, 5} 這八個。
從關聯規則探勘所得到的頻繁項目集就是我們所需要的具有相同興趣的讀者群。而 要產生讀者的推薦清單,主要包含三個步驟:第一步是先從之前找出的頻繁項目集中找 出讀者的同好群,第二步把所有同好曾借閱過的館藏整理出來,第三步再把這些館藏依 照推薦度高低排列,最後才推薦給讀者,詳細過程說明如下。
當讀者要求推薦時,必需先找出所有和這個讀者有相同興趣的其他讀者。舉例而 言,當讀者 1 要求推薦時,假設有包含讀者 1 的頻繁項目集為 {1, 2, 3}, {1, 2, 5}, {1, 3, 8}, {1, 6, 7},這些都是代表和讀者 1 有相同興趣的讀者群。從這些讀者群中可以得到與讀 者 1 有相同興趣的有 2, 3, 5, 6, 7, 8 這 6 個讀者,這些讀者稱為讀者 1 的“同好”,而對讀 者 1 的推薦就來自這些同好的歷史借閱紀錄。我們會統計這些同好的借閱資料,看這些 同好經常借閱哪些書籍,愈常被借閱的書籍被視為愈有價值推薦給讀者 1。
在協力式過濾中,推薦度的計算是看一本書被同好中幾個人借閱過,以書籍 b 和讀 者 u 為例,其推薦分數 Rec 的計算公式如下:
u b u
fno b fno u
Rec( , )= ,