關聯規則算法---Eclat算法


Eclat算法

與fp-growth 和apriori算法不同,Eclat算法加入了倒排的思想,具體就是將事務數據中的項作為key,每個項對應的事務ID作為value。

原輸入數據為

tid item
1 A,B
2 B,C
3 A,C
4 A,B,C

轉換后為:

item tids
A 1,3,4
B 1,2,4
C 2,3,4

通過轉換后的倒排表可以加快頻繁集生成速度。 其算法思想是 由頻繁k項集求交集,生成候選k+1項集 。對候選k+1項集做裁剪,生成頻繁k+1項集,再求交集生成候選k+2項集。如此迭代,直到項集歸一。 根據上述數據的情況,具體計算過程為

   算法過程:

1.計算頻繁1項集,結果為:

item freq
A 3
B 3
C 3

2.由頻繁1項集生成頻繁2項集

item freq
A,B 2
A,C 2
B,C 2

3.由頻繁2項集生成頻繁3項集

item freq
A,B,C 1

頻繁k項集生成頻繁k+1項集的過程與由1項集生成2項集的過程完全一致。

這里有個隱含的條件是,兩個頻繁k項集生成k+1項集時,前k-1項是一致的,A,B+A,C==>A,B,C

Eclat算法實現[編輯]

eclat的核心思想就是倒排,這種數據處理方式很適合用關系型數據表示和實現。 具體可參考用關系型數據結構實現Eclat算法——Hiv


轉載自:http://zh.wikipedia.org/wiki/%E5%85%B3%E8%81%94%E5%BC%8F%E8%A7%84%E5%88%99


免責聲明!

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



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