頻繁項集、閉項集和關聯規則
頻繁項集:出現的次數超過最小支持度計數閾值
閉頻繁項集:一個集合他的超集(包含這個集合的集合)在數據庫里面的數量和這個集合在這個數據庫里面的數量不一樣,這個集合就是閉項集
如果這個集合還是頻繁的,那么他就是極大頻繁項集
項集{a,b}出現在TID為1,2的事務中,其支持度計數為2。而它的直接超集{a,b,c}支持度計數也為2,所以{a,b}不是閉項集。
Apriori算法
手撕例題
STEP1.候選1項集→頻繁1象集
拿到候選數據后,我們先篩選出候選頻繁1象集,并算出它們的支持度【支持度=有購買該物品的人/總人數】,完成這一操作后,將它和題目中給出的最小支持度作比較,從而得到頻繁1象集!
STEP2-3.重復上述步驟,進行候選2項集→頻繁2象集;候選3項集→頻繁3象集的過程直到不能夠再往下為止(例如,本題到頻繁3象集,{面、奶、酒}為止)。
STEP4.寫出最終頻繁N象集的非空真子集,如題中{面、奶、酒}的非空真子集如下所示,并分別計算它們的置信度!(注意!這里不再是計算支持度了哈!別和上面搞混了!)
舉個例子,我們要求{面}→{奶、酒}的置信度,翻譯一下即,我們想知道買了面的人,有多大可能性也買了奶、酒,即同時買面、奶、酒的人數/買面的人數=2/3!
后續同理,我們可以得到所有關系的置信度,最后我們再拿題干中的最小置信度和算出來的置信度進行比較!就能得出最終的強關聯規則(同時滿足最小支持度、置信度)
fp樹
先建立頻繁1項集
遞減排序
通過一行行事務進行建立樹(如果有相同路徑數字加1,沒有創建新的子樹)
挖掘出頻繁項集
關聯規則
同時滿足支持度以及置信度
強規則不一定是有趣的
強規則有一定欺騙性(置信度存在問題)可能某商品是必須品
從關聯分析到相關分析
提升度
lift(A,B)=P(AnB)/P(A)*P(B)
>1正相關,一個出現另一個就出現
<1負相關,一個出現另一個就不出現
=1獨立