1 關聯規則挖掘定義
大多數關聯規則挖掘算法通常採用的一種策略是,將關聯規則挖掘任務分解為如下兩個主要的子任務:
頻繁項集產生(Frequent Itemset Generation)其目標是發現滿足最小支持度閾值的所有項集,這些項集稱作頻繁項集。規則的產生(Rule Generation)其目標是從上一步發現的頻繁項集中提取所有高置信度的規則,這些規則稱作強規則。關聯分析的目標發現頻繁項集;由頻繁項集產生強關聯規則,這些規則必須大於或等於最小支持度和最小置信度。2 Apriori算法介紹
Apriori算法的原理通過限制候選產生發現頻發項集由頻繁項集產生關聯規則Apriori算法的重要性質性質1:頻繁項集的子集必為頻繁項集如果{B,C}是頻繁的,那麼{B},{C}也一定是頻繁的性質2:非頻繁項集的超集一定是非頻繁的。如果{A, B}是非頻繁的,那麼{A, B, C},{A, B, C, D}也一定是頻繁的使用Apriori算法發現頻繁項集掃描數據集,得到所有出現過的數據,作為候選1項集挖掘頻繁k項集掃描計算候選k項集的支持度剪枝去掉候選k項集中支持度低於最小支持度α的數據集,得到頻繁k項集。如果頻繁k項集為空,則返回頻繁k-1項集的集合作為算法結果,算法結束。基於頻繁k項集,連結生成候選k+1項集利用步驟2,迭代得到k=k+1項集結果由頻繁項集產生關聯規則產生關規則的過程如下:對於每個頻繁項集I,產生I的所有非空子集對於I的每個非空子集s,如果support(l)/support(s) ≥min_conf,則輸出規則「s(l-s)」。其中,min_conf是最小置信度閾值。
Apriori算法的簡單實例Apriori算法舉例——發現頻發項集
2.Apriori算法舉例——產生關聯規則 對於頻繁項集{B, C, E}, 它的非空子集有{B}, {C}, {E}, {B, C}, {B,E}, {C,E}.以下 是據此獲得的關聯規則及其置信度