導讀

隨著大數(shù)據(jù)概念的火熱,啤酒與尿布的故事廣為人知。我們?nèi)绾伟l(fā)現(xiàn)買啤酒的人往往也會買尿布這一規(guī)律?數(shù)據(jù)挖掘中的用于挖掘頻繁項集和關聯(lián)規(guī)則的Apriori算法可以告訴我們。本文首先對Apriori算法進行簡介,而后進一步介紹相關的基本概念,之后詳細的介紹Apriori算法的具體策略和步驟,最后給出Python實現(xiàn)代碼。

1.Apriori算法簡介

Apriori算法是經(jīng)典的挖掘頻繁項集和關聯(lián)規(guī)則的數(shù)據(jù)挖掘算法。A priori在拉丁語中指"來自以前"。當定義問題時,通常會使用先驗知識或者假設,這被稱作"一個先驗"(a priori)。Apriori算法的名字正是基于這樣的事實:算法使用頻繁項集性質(zhì)的先驗性質(zhì),即頻繁項集的所有非空子集也一定是頻繁的。Apriori算法使用一種稱為逐層搜索的迭代方法,其中k項集用于探索(k+1)項集。首先,通過掃描數(shù)據(jù)庫,累計每個項的計數(shù),并收集滿足最小支持度的項,找出頻繁1項集的集合。該集合記為L1。然后,使用L1找出頻繁2項集的集合L2,使用L2找出L3,如此下去,直到不能再找到頻繁k項集。每找出一個Lk需要一次數(shù)據(jù)庫的完整掃描。Apriori算法使用頻繁項集的先驗性質(zhì)來壓縮搜索空間。

2. 基本概念

  • 網(wǎng)友評論