數據挖掘算法——Close算法


說明奧:菜鳥的自我學習,可能有錯。

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所有的閉合與支持度

 

 (2)進行修剪
將支持度小於最小支持度的候選閉合項刪除,得到FC1  這個例子FC1和FCC1是相同的為(A)(B)(C)(D)(E)
 
(3)利用FC1的generator生成FCC2
就是FC1的自連接。。。得到FCC2一AB,AC,AD,AE,BC.BD.BE,CD.CE.DE
修剪(AE)是(E)的閉合(ABE)的子集,(BE)是子集(E)的閉合(ABE)的子集,所以將這網在FCC的元素中我們簡單地用AB來代替上面的(AB),這邊 AE BE,ABE就是!!頻繁項目集合 修剪過去了 我是這么理解的
閉合的閉合是本身的話而且支持度不小於最小支持度也就是?表示是頻繁項目集了得此刻FCC2為AB,AC,AD,BC.BD.CD.CE.DE  這邊為何AB不  我的看法是AB的閉合不是他自己。。。不一定對自己理解的
(4)計算各產生式的閉合和支持度

沒表現出來的為空集

 (5)進行修剪
將支持度小於最小支持度的候選閉合項刪除.得到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。
(8)進行修剪
將支持度小於最小支持度的候選閉合項刪除,得到FC3.對於本例.FCC3 只有一項支持度為2,保留。
(9)利用FC3生成FCC4為空,算法結束。 將所有不重復的 閉合加入到FC中得到FC={A,B,ABE,BD,C,AB,AC,BC,ABC} 
(10)統計項目集元素數
L3= {ABE,ABC} L2={AB,AC,BC,BD} L1={A,B,C}最大個數為3    

(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是相同的才可以~~~~~ 濤哥如是說



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM