說明奧:菜鳥的自我學習,可能有錯。
Close算法原理:
一個頻繁閉合項目集的所有閉合子集一定是頻繁的,一個非頻繁閉合項目集的所有閉合超集一定是非頻繁的。
close算法是對Apriori算法的改進
具體步驟為:
1.先找到候選1項目集FCC1 並得到其支持度和閉合
2.之后對每個候選閉合進行修剪 如果其支持度不小於最小支持度則加入到FC1
3.自身不斷循環下去 直到某個r-項目集FCCi為空 則算法結束。
栗子:
(1)計算FCC各個產生式的閉合和支持度
首先得到FCG的產生式: FCC的產生式為(A)、(B)、(C)、(D).(E)
然后計算閉合集。\例如,計算{A}的閉合。數據庫中第項(ABE)包含{A},這時(A)的閉合首先得到{ABE};
第四項(ABD}包含{A},所以取{ABD)和{ABE)的交集{AB)作為(A)的閉合:
第五項{AC}包含{A},則取{AB}和{AC)的交集得到{A},作為{A)的團合;
第七項是{AC},交集為{A};第八項{ABCE)與{A}的交集是{A};
第九項{ABC}與{A)的交集是{A)。這時到了最后一項,計算完成, 得到{A}的閉合是(A)。並同時計算出{A)的支持度為6(可通過對出現的A的超集進行計數得到)。同樣可以得到FCO所有的閉合與支持度
將支持度小於最小支持度的候選閉合項刪除,得到FC1 這個例子FC1和FCC1是相同的為(A)(B)(C)(D)(E)

沒表現出來的為空集
將支持度小於最小支持度的候選閉合項刪除.得到FC2,這時(AD)和(CE)的支持度為1,被刪除。FC2 = (AB,AC. BC, BD)。
(6)利用FC2的generator生成FCC3並進行裁剪
FC2連接后得到: {ABC,BCD).其中的(BCD)有非頻繁子集CD).所以將這項刪除。剩下為{ABC),得到的候選項FCC3 ={ABC)。 嗯???這邊有問題 這邊沒有ABD 據濤哥說。。。要第一個相同才能連接。。。。所以ABAC相同連接成ABC BC和BD相連接成BCD
(7) FCC3;不為空,計算各產生式的閉合和支持度ABC的閉合為{ABC),支持度為2。
將支持度小於最小支持度的候選閉合項刪除,得到FC3.對於本例.FCC3 只有一項支持度為2,保留。
(9)利用FC3生成FCC4為空,算法結束。 將所有不重復的 閉合加入到FC中得到FC={A,B,ABE,BD,C,AB,AC,BC,ABC}
(11)將L3的頻繁項分解
先分解(ABE)的所產集為AB,AE和BE后兩項不存在,將它們加人到L中,ABC有2-項於集為(AB)、(AC)和(BC),這三項均在L中 得到L2 = {AB AC BC AE BE BD}
(12)將L2的頻繁項分解
方法同上,得L1為(A.B.C,D.E)
使用頻繁閉團合項目集,發現可以提高關聯規則的效率。
不理解的地方有3 待更新 等上課問老師
相連的規則必須要頭相同才可以也就是說 兩個相連成3個 必須要AB AC A是相同的 ABC ABD相連成四個 必須要AB是相同的才可以~~~~~ 濤哥如是說