關(guān)聯(lián)規(guī)則——Apriori算法與FP-Growth算法

????????????????????????????????????????Apriori算法


?Apriori算法將發(fā)現(xiàn)關(guān)聯(lián)規(guī)則的過(guò)程分為兩個(gè)步驟:

????? 1楼咳、通過(guò)迭代偿洁,檢索出事務(wù)數(shù)據(jù)庫(kù)中的所有頻繁項(xiàng)集,即支持度不低于用戶設(shè)定的閾值的項(xiàng)集

????? 2、利用頻繁項(xiàng)集構(gòu)造出滿足用戶最小置信度的規(guī)則促绵。

?? 其中,檢索所有頻繁項(xiàng)集是該算法的核心迂曲,占整個(gè)計(jì)算量的大部分

?Apriori算法的重要性質(zhì)

性質(zhì)1:頻繁項(xiàng)集的子集必為頻繁項(xiàng)集禀忆。如果{B,C}是頻繁的狸页,那么{B}锨能,{C}也一定是頻繁的

性質(zhì)2:非頻繁項(xiàng)集的超集一定是非頻繁的。例如{A,B}是非頻繁的芍耘,那么{A,B, C}址遇,{A,B, C, D}也一定是頻繁的

運(yùn)用Apriori算法的性質(zhì),我們就能去掉很多非頻繁的項(xiàng)集斋竞,大大簡(jiǎn)化計(jì)算量:


圖一

我們發(fā)現(xiàn){A,B}這個(gè)項(xiàng)集是非頻繁的倔约,那么{A,B}這個(gè)項(xiàng)集的超集{A,B,C},{A,B,D}等也都是非頻繁的,這些就都可以忽略不去計(jì)算坝初。

?使用Apriori算法構(gòu)造出滿足用戶最小置信度的規(guī)則:

現(xiàn)有頻繁項(xiàng)集l浸剩,生成每個(gè)非空子集S,若S滿足最小置信度:

Confidence((l-s)→s)≥minconf

則輸出關(guān)聯(lián)規(guī)則(l-s)->s

Example:

最小支持度計(jì)數(shù)為2鳄袍,minconf=80%

? ??Step1:生成頻繁項(xiàng)集:


step1

? ??Step2:生成關(guān)聯(lián)規(guī)則:

?對(duì)于step1得到的頻繁集{B,C,E},有子集{B},{C},{E},{B,E},{B,C},{C,E}绢要,分別計(jì)算置信度:

confidence(BE->C)=2/3<80%

confidence(BC->E)=2/2>80%

confidence(CE->B)=2/2>80%

confidence(B->CE)=2/3<80%

confidence(C->BE)=2/3<80%

confidence(E->BC)=2/3<80%

則滿足條件的為BC->E和CE->B兩條規(guī)則

Apriori的優(yōu)點(diǎn):

?適合稀疏數(shù)據(jù)集。

?算法原理簡(jiǎn)單拗小,易實(shí)現(xiàn)袖扛。

?適合事務(wù)數(shù)據(jù)庫(kù)的關(guān)聯(lián)規(guī)則挖掘。

?易編碼實(shí)現(xiàn)

Apriori的缺點(diǎn):

?可能產(chǎn)生龐大的候選集十籍。

?算法需多次遍歷數(shù)據(jù)集蛆封,算法效率低,耗時(shí)勾栗。

?在大數(shù)據(jù)集上可能較慢


? ? ? ? ? ? ? ? ? ? ? ????????????FP-Growth算法? ? ? ? ?

??FpGrowth算法通過(guò)構(gòu)造一個(gè)樹(shù)結(jié)構(gòu)來(lái)壓縮數(shù)據(jù)記錄惨篱,使得挖掘頻繁項(xiàng)集只需要掃描兩次數(shù)據(jù)記錄,而且該算法不需要生成候選集合围俘,效率高砸讳。 而Apriori算法對(duì)于每個(gè)潛在的頻繁項(xiàng)集都會(huì)掃描數(shù)據(jù)集判定給定模式是否頻繁。

?FpTree的數(shù)據(jù)結(jié)構(gòu):

FpTree是一種樹(shù)結(jié)構(gòu)界牡,樹(shù)結(jié)構(gòu)定義如下:

FpTree樹(shù)結(jié)構(gòu)

Example:

假設(shè)最小支持度為3


數(shù)據(jù)集

Step 1:掃描數(shù)據(jù)記錄簿寂,生成一級(jí)頻繁項(xiàng)集,并按出現(xiàn)次數(shù)由多到少排序:

step1

Step 2:再次掃描數(shù)據(jù)記錄宿亡,對(duì)每條記錄中出現(xiàn)在Step1產(chǎn)生的表中的項(xiàng)常遂,按表中的順序排序。

step2

Step 3:遍歷每一條記錄挽荠,生成fpTree克胳。初始時(shí)平绩,新建一個(gè)根結(jié)點(diǎn),標(biāo)記為null:

step3

Step 4:根據(jù)step1得到的一級(jí)頻繁項(xiàng)集建立項(xiàng)頭表:

step4

Step5:利用FpTree挖掘頻繁項(xiàng)集漠另。從表頭header的最后一個(gè)項(xiàng)開(kāi)始挖掘,得到每一項(xiàng)的條件模式基捏雌。

此處即從{啤酒}開(kāi)始,根據(jù){啤酒}的線索鏈找到所有{啤酒}結(jié)點(diǎn)笆搓,然后找出每個(gè){啤酒}結(jié)點(diǎn)的前綴路徑{牛奶性湿,面包,尿布:1}满败,{牛奶窘奏,尿布:1},{面包葫录,尿布:1}着裹。其中的“1”表示出現(xiàn)頻次,由后綴結(jié)點(diǎn){啤酒}的次數(shù)決定米同。

根據(jù)前綴路徑我們可以生成條件FpTree骇扇,構(gòu)造方式跟之前一樣,此處的數(shù)據(jù)記錄變?yōu)椋?/p>


step5

Step6:使用條件模式基構(gòu)造條件fpTree:

step6

構(gòu)造好條件樹(shù)后面粮,對(duì)條件樹(shù)進(jìn)行遞歸挖掘少孝,當(dāng)條件樹(shù)只有一條路徑時(shí),路徑的所有組合即為條件頻繁集熬苍。此處的條件頻繁集為:{{}稍走,{尿布}},于是得到以{啤酒}為后綴的頻繁集為{啤酒}柴底、{尿布婿脸,啤酒}。

接下來(lái)重復(fù)step5,step6找header表頭的倒數(shù)第二個(gè)項(xiàng){尿布}的頻繁集,直到header表頭每個(gè)項(xiàng)挖掘完成柄驻。

?{尿布}的前綴路徑為:{面包:1}狐树,{牛奶:1},{牛奶鸿脓,面包:2}


得到一組頻繁項(xiàng)集{尿布}抑钟,{牛奶,尿布}野哭,{面包在塔,尿布},{牛奶拨黔,面包蛔溃,尿布}

重復(fù)以上步驟,對(duì)header表頭的每個(gè)項(xiàng)進(jìn)行挖掘,即可得到整個(gè)頻繁項(xiàng)集

FP-Growth算法總結(jié):

?兩次掃描數(shù)據(jù)庫(kù):

? 第一次掃描得出單個(gè)頻率

? 第二次掃描構(gòu)建FP-Tree樹(shù)

?步驟:

? 掃描(計(jì)數(shù)城榛、去除不滿足最小支持度的項(xiàng)集)

? 重排

? 構(gòu)建FPTree

? 從下往上掃描項(xiàng)頭表揪利,構(gòu)建每一項(xiàng)的條件模式基并構(gòu)造條件FPTree

? 遞歸條件FPTree得到頻繁項(xiàng)

?優(yōu)點(diǎn):

? 只需兩次掃描數(shù)據(jù)庫(kù)

?缺點(diǎn):

? 內(nèi)存開(kāi)銷大

? 單維布爾關(guān)聯(lián)規(guī)則


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末态兴,一起剝皮案震驚了整個(gè)濱河市狠持,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瞻润,老刑警劉巖喘垂,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異绍撞,居然都是意外死亡正勒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)傻铣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)章贞,“玉大人,你說(shuō)我怎么就攤上這事非洲⊙枷蓿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵两踏,是天一觀的道長(zhǎng)败京。 經(jīng)常有香客問(wèn)我,道長(zhǎng)梦染,這世上最難降的妖魔是什么赡麦? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮帕识,結(jié)果婚禮上泛粹,老公的妹妹穿的比我還像新娘。我一直安慰自己肮疗,他們只是感情好戚扳,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著族吻,像睡著了一般帽借。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上超歌,一...
    開(kāi)封第一講書(shū)人閱讀 49,837評(píng)論 1 290
  • 那天砍艾,我揣著相機(jī)與錄音,去河邊找鬼巍举。 笑死脆荷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜓谋,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼梦皮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了桃焕?” 一聲冷哼從身側(cè)響起剑肯,我...
    開(kāi)封第一講書(shū)人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎观堂,沒(méi)想到半個(gè)月后让网,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡师痕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年溃睹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胰坟。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡因篇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出笔横,到底是詐尸還是另有隱情竞滓,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布狠裹,位于F島的核電站虽界,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏涛菠。R本人自食惡果不足惜莉御,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俗冻。 院中可真熱鬧礁叔,春花似錦、人聲如沸迄薄。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)讥蔽。三九已至涣易,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冶伞,已是汗流浹背新症。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留响禽,地道東北人徒爹。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓荚醒,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親隆嗅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子界阁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容