1. 關(guān)聯(lián)規(guī)則概述
反映一個(gè)事物與其他事物之間的相互依存性和關(guān)聯(lián)性。如果兩個(gè)或者多個(gè)事物之間存在一定的關(guān)聯(lián)關(guān)系,那么其中一個(gè)事物就能夠通過其他事物預(yù)測(cè)得到。
2.??基本概念
(1)項(xiàng)
對(duì)一個(gè)數(shù)據(jù)表而言,表的每個(gè)字段都具有一個(gè)或多個(gè)不同的值。字段的每種取值都是一個(gè)項(xiàng)Item。
(2)項(xiàng)集
項(xiàng)的集合稱為項(xiàng)集itemset。包含k個(gè)項(xiàng)的項(xiàng)集被稱為k-項(xiàng)集,k表示項(xiàng)集中項(xiàng)的數(shù)目。由所有的項(xiàng)所構(gòu)成的集合是最大的項(xiàng)集,一般用符號(hào)I表示。
(3)事務(wù)
事務(wù)是項(xiàng)的集合。本質(zhì)上,一個(gè)事務(wù)就是事實(shí)表中的一條記錄。事務(wù)是項(xiàng)集I的子集。事務(wù)的集合稱為事務(wù)集。一般用符號(hào)D表示事務(wù)集/事務(wù)數(shù)據(jù)庫。
(4)關(guān)聯(lián)規(guī)則
給定一個(gè)事務(wù)集D,挖掘關(guān)聯(lián)規(guī)則的問題就變成如何產(chǎn)生支持度和可信度分別大于用戶給定的最小支持度和最小可信度的關(guān)聯(lián)規(guī)則的問題。(標(biāo)準(zhǔn))
(5)支持度(同時(shí),交;元組總數(shù))
若D中的事務(wù)包含A∪B的百分比為s,則稱關(guān)聯(lián)規(guī)則A→B的支持度為s。即:
? ? ? ? ? ? ? ? ? ? support(A→B )= P(A∪B ) = 包含A和B的元組數(shù)/元組總數(shù)
(6)可信度(同時(shí),交;條件概率)
若D中包含A的事務(wù)同時(shí)也包含B的的百分比為c,則稱關(guān)聯(lián)規(guī)則?A→B 的置信度/可信度為c,即:
? ? ? ? ? ? ? ? ? ? confidence(A→B )=P(B|A) = 包含A和包含B的元組數(shù)/包含A的元組數(shù) = support(A∪B )/support(A)
(7)頻繁項(xiàng)集
項(xiàng)集的出現(xiàn)頻率是包含項(xiàng)集的事務(wù)數(shù),簡稱項(xiàng)集的頻率;
項(xiàng)集滿足最小支持度閾值minsup,如果項(xiàng)集的出現(xiàn)頻率大于或等于minsup與D中事務(wù)總數(shù)的乘積;
滿足最小支持閾值的項(xiàng)集就稱為頻繁項(xiàng)集(大項(xiàng)集)。頻繁k項(xiàng)集的集合記為Lk;
3.?關(guān)聯(lián)規(guī)則挖掘分類
根據(jù)不同的標(biāo)準(zhǔn),關(guān)聯(lián)規(guī)則可以分為若干類型:
(1)根據(jù)規(guī)則所處理的值的類型,關(guān)聯(lián)規(guī)則可以分為布爾的和量化的
如果規(guī)則考慮的關(guān)聯(lián)是項(xiàng)的在于不在,則它是布爾關(guān)聯(lián)規(guī)則;
如果規(guī)則描述的是量化的項(xiàng)或?qū)傩灾g的關(guān)聯(lián),則她是量化關(guān)聯(lián)規(guī)則。量化關(guān)聯(lián)規(guī)則中考慮的是項(xiàng)的量是多少。在這種規(guī)則中,項(xiàng)或?qū)傩缘牧炕捣譃閰^(qū)間。
(2)根據(jù)規(guī)則中數(shù)據(jù)涉及的維,關(guān)聯(lián)規(guī)則可以分為單維的和多維的
如果關(guān)聯(lián)規(guī)則中的項(xiàng)或?qū)傩悦總€(gè)只涉及一個(gè)維,則是單維關(guān)聯(lián)規(guī)則;單維關(guān)聯(lián)規(guī)則展示的是屬性內(nèi)聯(lián)系,即同一個(gè)屬性或維內(nèi)的關(guān)聯(lián);
如果規(guī)則涉及兩個(gè)或多個(gè)維,則是多維關(guān)聯(lián)規(guī)則;多維關(guān)聯(lián)規(guī)則展示的是屬性間聯(lián)系,即屬性或維之間的關(guān)聯(lián);
(3)根據(jù)規(guī)則涉及的抽象層,關(guān)聯(lián)規(guī)則可以分為單層的和多層的
有些挖掘關(guān)聯(lián)規(guī)則的方法可以在不同抽象層發(fā)現(xiàn)關(guān)聯(lián)規(guī)則。單層關(guān)聯(lián)規(guī)則中的項(xiàng)涉及一個(gè)抽象層,多層關(guān)聯(lián)規(guī)則中的項(xiàng)涉及多個(gè)抽象層
單層單維布爾關(guān)聯(lián)規(guī)則是最基本的關(guān)聯(lián)規(guī)則。
4.?關(guān)聯(lián)規(guī)則的算法
4.1 如何由大型數(shù)據(jù)庫挖掘關(guān)聯(lián)規(guī)則?
挖掘關(guān)聯(lián)規(guī)則問題可以分解為以下兩個(gè)問題:
找出存在于事務(wù)數(shù)據(jù)庫D中的所有頻繁項(xiàng)集。頻繁項(xiàng)集的支持度support不小于用戶或領(lǐng)域?qū)<医o定的最小支持度閾值minsup
利用頻繁項(xiàng)集生成強(qiáng)關(guān)聯(lián)規(guī)則。這些規(guī)則必須滿足最小支持度minsup和最小可信度minconf。
經(jīng)典的關(guān)聯(lián)挖掘算法:
(1)Apriori算法
(2)抽樣算法
(3)DIC算法
4.2 發(fā)現(xiàn)頻繁項(xiàng)集直接的方法?
產(chǎn)生所有可能的項(xiàng)集,并計(jì)算它們的支持度;
定理(Apriori)
頻繁項(xiàng)集的所有非空子集都必須也是頻繁的;
任何非頻繁項(xiàng)集的超集一定也是非頻繁的:
????????非頻繁項(xiàng)集的超集可以不用進(jìn)行測(cè)試;
????????許多項(xiàng)之間的組合可以去掉(不滿足頻繁條件)
4.2?Apriori 算法---挖掘單維布爾關(guān)聯(lián)規(guī)則
Apriori算法是根據(jù)有關(guān)頻繁項(xiàng)集性質(zhì)的先驗(yàn)知識(shí)而命名的。該算法使用一種逐層搜索的迭代方法,利用k-項(xiàng)集探索(k+1)項(xiàng)集;
具體做法:
對(duì)于所研究的事務(wù)數(shù)據(jù)庫D,首先找出頻繁1-項(xiàng)集的集合,記為L1;再利用L1找頻繁2-項(xiàng)集的集合L2;再利用L2找L3。。。如此下去,直到不能找到頻繁k-項(xiàng)集為止。找每個(gè)Lk需要一次數(shù)據(jù)庫掃描。
如何將Apriori性質(zhì)用于算法?
如何實(shí)現(xiàn)Lk-1找Lk?
連接步:為找Lk,通過Lk-1與Lk-1連接產(chǎn)生候選k-項(xiàng)集的集合。該候選集的集合記做Ck,執(zhí)行Lk-1與Lk-1的連接:如果他們前(k-2)個(gè)項(xiàng)相同,則可連接;
剪枝步:任何非頻繁的(k-1)項(xiàng)集都不可能是頻繁K-項(xiàng)集的子集。因此,剪枝。
算法:
5.?關(guān)聯(lián)規(guī)則的生成
得到所有的頻繁項(xiàng)集以后,可以按照下面的步驟生成關(guān)聯(lián)規(guī)則:
(1)對(duì)于每個(gè)頻繁項(xiàng)目集I,生成其所有的非空子集;
(2)對(duì)于I的每一個(gè)非空子集x,計(jì)算conference(x),如果confidence(x)> minconfidence,那么,“x→ (I-x)”成立;
(3)由于規(guī)則由頻繁項(xiàng)集產(chǎn)生,每個(gè)規(guī)則都自動(dòng)滿足最小支持度。
頻繁項(xiàng)集的挖掘是算法的瓶頸
????????Apriori算法有兩個(gè)致命的性能瓶頸:
? ? ? ? ? ? A. 多次掃描事務(wù)數(shù)據(jù)庫,需要很大的I/O負(fù)載
????????????B.可能產(chǎn)生龐大的候選集
瓶頸產(chǎn)生的原因:候選集的產(chǎn)生和判斷過程
能不能避免產(chǎn)生候選項(xiàng)集?
頻繁模式增長(frequent-pattern growth)
頻繁模式增長,簡稱FP-增長
策略:
將提供頻繁項(xiàng)集的數(shù)據(jù)庫壓縮到一顆頻繁模式樹(FP樹),但仍然保留項(xiàng)集關(guān)聯(lián)信息;
將這種壓縮后的數(shù)據(jù)庫(FP樹)分成一組條件數(shù)據(jù)庫(若干子樹),每個(gè)關(guān)聯(lián)一個(gè)頻繁項(xiàng),并分別挖掘每個(gè)條件數(shù)據(jù)庫(子樹),從而獲得頻繁項(xiàng)。
優(yōu)點(diǎn):
(1)完備
保存了用來挖掘頻繁項(xiàng)集的全部信息;
任何事物包含的長模式不會(huì)被截?cái)啵?/p>
(2)壓縮
減少了不相關(guān)信息---非頻繁項(xiàng)已經(jīng)被過濾
項(xiàng)以出現(xiàn)次數(shù)降序排列:越頻繁的項(xiàng)月容易被共享
FP樹中包含的結(jié)點(diǎn)數(shù)目不會(huì)比數(shù)據(jù)庫中包含的項(xiàng)的數(shù)據(jù)多