基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法
【專利摘要】本發(fā)明公開了一種基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法,包括以下步驟,在事例項(xiàng)目數(shù)據(jù)庫(kù)中,利用單個(gè)項(xiàng)目生成的閉項(xiàng)目集和集合的并運(yùn)算,生成項(xiàng)目子集合,該集合是項(xiàng)目集的冪集的一個(gè)真子集;利用生成的項(xiàng)目子集合,構(gòu)造事例項(xiàng)目數(shù)據(jù)庫(kù)的項(xiàng)目子集事例樹結(jié)構(gòu);在項(xiàng)目子集事例樹中挖掘閉頻繁項(xiàng)目集及其極小生成元,根據(jù)挖掘出的閉頻繁項(xiàng)目集及其極小生成元,快速生成極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則。本發(fā)明利用單個(gè)項(xiàng)目生成的閉項(xiàng)目集,獲得若干項(xiàng)目子集并構(gòu)造項(xiàng)目子集事例樹刻畫項(xiàng)目子集的層次關(guān)系及其對(duì)應(yīng)的支持度,有效地減少了事例和項(xiàng)目之間的檢索次數(shù);同時(shí)有效地減少存儲(chǔ)空間,提高了極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則的挖掘速度和效率。
【專利說(shuō)明】
基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及數(shù)據(jù)挖掘和知識(shí)獲取領(lǐng)域,提出了一種基于項(xiàng)目子集事例樹快速?gòu)拇?型事例項(xiàng)目數(shù)據(jù)庫(kù)中挖掘極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則,從而獲取該大型事例項(xiàng)目數(shù)據(jù)庫(kù)的一種非 冗余知識(shí)庫(kù)。
【背景技術(shù)】
[0002] 在大型事例項(xiàng)目數(shù)據(jù)庫(kù)中,關(guān)聯(lián)規(guī)則刻畫了項(xiàng)目之間的一種同時(shí)發(fā)生關(guān)系,即在 大型事例項(xiàng)目數(shù)據(jù)庫(kù)中若干事例同時(shí)滿足某些項(xiàng)目,其中,部分項(xiàng)目作為前件,剩余項(xiàng)目作 為后件構(gòu)成項(xiàng)目之間的關(guān)聯(lián)規(guī)則。例如在大型超市的交易數(shù)據(jù)庫(kù)中,每次交易作為一個(gè)事 例,交易中設(shè)及到的商品作為項(xiàng)目,挖掘出的關(guān)聯(lián)規(guī)則刻畫了商品在交易中同時(shí)發(fā)生的情 況,運(yùn)種知識(shí)可用于超市中商品位置擺放、商品進(jìn)貨數(shù)量等超市商品管理中。理論上,若滿 足某一項(xiàng)目子集的事例集不為空集,則該項(xiàng)目子集就可用于挖掘關(guān)聯(lián)規(guī)則。因此,一方面, 挖掘關(guān)聯(lián)規(guī)則是在項(xiàng)目集的幕集中完成的,運(yùn)樣的問(wèn)題在計(jì)算機(jī)科學(xué)中是一個(gè)NP-難問(wèn)題。 另一方面,由于關(guān)聯(lián)規(guī)則刻畫了大型事例項(xiàng)目數(shù)據(jù)庫(kù)中一種合理、科學(xué)及有用的知識(shí),關(guān)聯(lián) 規(guī)則挖掘已廣泛應(yīng)用于計(jì)算機(jī)科學(xué)、管理科學(xué)、經(jīng)濟(jì)學(xué)、社會(huì)科學(xué)等領(lǐng)域,用于獲取相應(yīng)數(shù) 據(jù)庫(kù)的合理、科學(xué)及有用的知識(shí)。
[0003] 通常挖掘出的關(guān)聯(lián)規(guī)則非常多,完全超出了人們所能理解的范圍,因此,結(jié)合實(shí)際 應(yīng)用,人們提出了各種擴(kuò)展或改進(jìn)的關(guān)聯(lián)規(guī)則挖掘方法,總體來(lái)看,運(yùn)些關(guān)聯(lián)規(guī)則挖掘方法 包含如下兩個(gè)主要內(nèi)容:
[0004] 1、生成頻繁項(xiàng)目集或閉頻繁項(xiàng)目集。
[0005] 2、從頻繁項(xiàng)目集或閉頻繁項(xiàng)目集中挖掘各種關(guān)聯(lián)規(guī)則。
[0006] 在實(shí)際應(yīng)用中,一方面,生成的頻繁項(xiàng)目集或閉頻繁項(xiàng)目集很多,因此,人們又提 出如極大頻繁項(xiàng)目集、廣義項(xiàng)目集、自由項(xiàng)目集、析取自由項(xiàng)目集等,限制生成關(guān)聯(lián)規(guī)則的 項(xiàng)目集個(gè)數(shù)或生成特殊需求的關(guān)聯(lián)規(guī)則;另一方面,從頻繁項(xiàng)目集或閉頻繁項(xiàng)目集中挖掘 出的關(guān)聯(lián)規(guī)則有冗余信息,因此,人們又提出如極小-極大關(guān)聯(lián)規(guī)則、不可約關(guān)聯(lián)規(guī)則、極小 非約簡(jiǎn)關(guān)聯(lián)規(guī)則、帶權(quán)重關(guān)聯(lián)規(guī)則等,限制關(guān)聯(lián)規(guī)則的形式,減少冗余關(guān)聯(lián)規(guī)則的生成。從 生成關(guān)聯(lián)規(guī)則的方法來(lái)看,已有方法可分為兩大類,第一大類為源于Apriori方法的關(guān)聯(lián)規(guī) 則挖掘方法,Apriori方法是最早提出的關(guān)聯(lián)規(guī)則挖掘方法,其核屯、思想是構(gòu)造 Apriori生 成函數(shù)并按每個(gè)項(xiàng)目的支持度大小逐次添加項(xiàng)目生成項(xiàng)目子集,生成的項(xiàng)目子集存儲(chǔ)在 hash-樹結(jié)構(gòu)中,通過(guò)hash-樹結(jié)構(gòu)快速挖掘關(guān)聯(lián)項(xiàng)目子集作為關(guān)聯(lián)規(guī)則的前后件,從而快 速生成關(guān)聯(lián)規(guī)則。隨后,人們對(duì)Apriori方法進(jìn)行了很多擴(kuò)展或改進(jìn)研究。第二大類為源于 FP-樹(frequent-pattern (FP) tree)的方法,與 Apriori 方法的hash-樹結(jié)構(gòu)不同,F(xiàn)P-樹是 一種相關(guān)頻繁項(xiàng)目子集表示方式,F(xiàn)P-樹的每一枝存儲(chǔ)一族按降序排列的頻繁項(xiàng)目子集,要 構(gòu)造 FP-樹,首先將每個(gè)項(xiàng)目按其支持度從大到小排列,然后分別遍歷事例集與項(xiàng)目集,可 逐層構(gòu)造出支持度從大到小的頻繁項(xiàng)目子集,利用FP-樹可快速生成關(guān)聯(lián)規(guī)則。隨后,人們 對(duì)FP-樹方法進(jìn)行了很多擴(kuò)展或改進(jìn)研究。
[0007] 可W看出,已有關(guān)聯(lián)規(guī)則挖掘方法的共同特點(diǎn)是由單個(gè)項(xiàng)目通過(guò)逐次增加的方式 生成頻繁項(xiàng)目子集,在生成過(guò)程中,每個(gè)項(xiàng)目按其支持度從大到小排列,從而頻繁項(xiàng)目子集 按支持度從大到小的順序生成。在hash-樹的存儲(chǔ)結(jié)構(gòu)中,由單個(gè)項(xiàng)目開始逐次增加,需要 遍歷事例集與項(xiàng)目集多次才可生成頻繁項(xiàng)目子集,在大型事例項(xiàng)目數(shù)據(jù)庫(kù)中,其計(jì)算次數(shù) 及存儲(chǔ)空間將呈現(xiàn)為指數(shù)增長(zhǎng)。在FP-樹的存儲(chǔ)結(jié)構(gòu)中,利用項(xiàng)目按其支持度從大到小排列 表,經(jīng)事例集與項(xiàng)目集兩次遍歷就可構(gòu)造出頻繁項(xiàng)目子集按支持度從大到小在FP樹中的分 支圖,由于頻繁項(xiàng)目子集仍是按每個(gè)項(xiàng)目逐次增加的方式生成,因此,在大型事例項(xiàng)目數(shù)據(jù) 庫(kù)中,源于FP-樹的方法在生成頻繁項(xiàng)目子集及其相應(yīng)的關(guān)聯(lián)規(guī)則過(guò)程中仍設(shè)及計(jì)算次數(shù) 及存儲(chǔ)空間的問(wèn)題。總體來(lái)看,通過(guò)單個(gè)項(xiàng)目的支持度大小W及逐次添加項(xiàng)目的方式生成 頻繁項(xiàng)目子集具有如下不足:
[0008] 1、逐個(gè)添加項(xiàng)目本質(zhì)上是在項(xiàng)目集中對(duì)單個(gè)項(xiàng)目進(jìn)行遍歷捜索,導(dǎo)致生成的頻繁 項(xiàng)目子集數(shù)量龐大,特別在大型事例項(xiàng)目數(shù)據(jù)庫(kù)中頻繁項(xiàng)目子集數(shù)量呈現(xiàn)指數(shù)增長(zhǎng),不利 于快速挖掘如極小-極大關(guān)聯(lián)規(guī)則、極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則等。事實(shí)上,在大型事例項(xiàng)目數(shù)據(jù) 庫(kù)中,各項(xiàng)目之間是存在一種相關(guān)關(guān)系的,某一個(gè)項(xiàng)目的出現(xiàn)必然會(huì)導(dǎo)致另一個(gè)項(xiàng)目的出 現(xiàn),逐個(gè)添加項(xiàng)目的方式?jīng)]有用到運(yùn)種項(xiàng)目之間的相關(guān)關(guān)系。
[0009] 2、逐個(gè)添加項(xiàng)目方法在生成頻繁項(xiàng)目子集的過(guò)程中計(jì)算量大,生成了很多冗余的 頻繁項(xiàng)目子集,導(dǎo)致捜索閉頻繁項(xiàng)目集、項(xiàng)目子集的生成元等信息的范圍擴(kuò)大,帶來(lái)了運(yùn)算 和存儲(chǔ)兩方面的問(wèn)題,不利于關(guān)聯(lián)規(guī)則的快速挖掘。事實(shí)上,利用大型事例項(xiàng)目數(shù)據(jù)庫(kù)中各 項(xiàng)目之間的相關(guān)關(guān)系可有效約簡(jiǎn)冗余頻繁項(xiàng)目子集的生成個(gè)數(shù)。
【發(fā)明內(nèi)容】
[0010] 針對(duì)逐次添加項(xiàng)目方法在關(guān)聯(lián)規(guī)則挖掘過(guò)程中的不足,本發(fā)明利用大型事例項(xiàng)目 數(shù)據(jù)庫(kù)中各項(xiàng)目之間的一種相關(guān)關(guān)系生成頻繁項(xiàng)目子集,提供項(xiàng)目子集事例樹的構(gòu)造方 法,提供在項(xiàng)目子集事例樹中快速挖掘閉頻繁項(xiàng)目集、極小生成元和極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則 的方法。
[0011 ]為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案是:
[0012] -種基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法包括W下步驟:在事例 項(xiàng)目數(shù)據(jù)庫(kù)中,根據(jù)事例與項(xiàng)目之間的閉包運(yùn)算,生成每個(gè)項(xiàng)目對(duì)應(yīng)的閉項(xiàng)目集,該閉項(xiàng)目 集滿足其支持度與對(duì)應(yīng)項(xiàng)目的支持度相同;
[0013] 對(duì)生成的閉項(xiàng)目集按集合中元素個(gè)數(shù)從大到小排序,通過(guò)集合的并運(yùn)算,生成各 項(xiàng)目子集。通過(guò)集合的交運(yùn)算,生成各項(xiàng)目子集滿足的事例集(項(xiàng)目子集的支持度),并按生 成順序,構(gòu)建項(xiàng)目子集事例樹結(jié)構(gòu);
[0014] 在項(xiàng)目子集事例樹中,挖掘閉頻繁項(xiàng)目集及其極小生成元,進(jìn)一步,生成極小非約 簡(jiǎn)關(guān)聯(lián)規(guī)則。
[001引具體的,令事例項(xiàng)目數(shù)據(jù)庫(kù)為D= (U,A),其中,U= {山,112, . . .,Un}為事例集,A = (曰1,曰2,. . .,am}為項(xiàng)目集,每一事例Ui(i = l,2,. . .,n)是一個(gè)項(xiàng)目子集,例如山={曰1,曰2,曰3} 是A的一個(gè)子集,表示事例Ul滿足項(xiàng)目曰1,曰2和曰3。本發(fā)明采用如下兩個(gè)映射描述事例與項(xiàng)目 之間的兩種運(yùn)算:對(duì)任意SjGAJ = 1,2,...,m,
[0016]
[0017]直觀地,T咕)表示所有滿足項(xiàng)目a撕事例構(gòu)成的事例子集,因此,在事例項(xiàng)目數(shù)據(jù)庫(kù) 中,項(xiàng)目aj的支持度為T(aj)的元素個(gè)數(shù),即sup(aj)=|T(aj)|。自然地,對(duì)任意項(xiàng)目子集A口!, [001 引
[0019] 直觀地,T(Ak)表示同時(shí)滿足A沖每一個(gè)項(xiàng)目的事例構(gòu)成的事例子集,因此,項(xiàng)目子 集Ak的支持度為T(Ak)的元素個(gè)數(shù),即I T(Ak) I。
[0020] 對(duì)任意事例子集K 化所滿足的項(xiàng)目子集為
[0021]
[0022] 基于上述映射表示,本發(fā)明所述基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘 方法具體描述如下:
[0023] 1、生成每個(gè)項(xiàng)目對(duì)應(yīng)的閉項(xiàng)目集
[0024] 對(duì)任意項(xiàng)目ajGA,使用上述兩個(gè)映射T和丫,由項(xiàng)目aj生成的閉項(xiàng)目集為
[0025]
[0026] 根據(jù)映射T和丫的表示,T(aj)是所有滿足項(xiàng)目aj的事例子集,T(aj)所滿足的項(xiàng)目 子集為丫(T(aj)),因此,項(xiàng)目子集C(aj)滿足的事例子集與項(xiàng)目aj滿足的事例子集相同,即C (aj)的支持度就是項(xiàng)目^的支持度。人們已得到很多關(guān)于映射T和丫的良好性質(zhì),根據(jù)已有 的性質(zhì),容易證明C佔(zhàn))是一個(gè)閉項(xiàng)目集。形式上,閉項(xiàng)目集C佔(zhàn))刻畫了與項(xiàng)目a洞時(shí)發(fā)生 運(yùn)樣一種相關(guān)關(guān)系,即項(xiàng)目W滿足的事例同時(shí)也被C佔(zhàn))中任一項(xiàng)目滿足,若項(xiàng)目a礎(chǔ)現(xiàn),貝U C(W)中其它項(xiàng)目也必然出現(xiàn)。
[0027] 2、構(gòu)建項(xiàng)目子集事例樹
[0028] 與逐次添加單個(gè)項(xiàng)目生成頻繁項(xiàng)目集不同,本發(fā)明采用單個(gè)項(xiàng)目的閉項(xiàng)目集C (aj)生成項(xiàng)目子集,即將8={"曰1),(:(曰2),...,"曰。)}理解為生成基,項(xiàng)目子集由8中若干 元素利用集合的并運(yùn)算生成,例如C(al)UC(a2)UC(am)生成一個(gè)項(xiàng)目子集,形式地,令A(yù)/為 生成的一個(gè)項(xiàng)目子集,貝U
[0029]
[0030] 人們已得到很多關(guān)于閉項(xiàng)目集C(aj)的良好性質(zhì),根據(jù)已有的性質(zhì),容易證明事例 項(xiàng)目數(shù)據(jù)庫(kù)的所有閉項(xiàng)目集一定包含在由生成基B= {C(ai),C(a2),. . .,C(am)}生成的所 有項(xiàng)目子集中。根據(jù)運(yùn)一結(jié)論,我們可由生成基B首先生成所有的項(xiàng)目子集,然后在生成的 項(xiàng)目子集中挖掘所需的閉頻繁項(xiàng)目集。由于每個(gè)C(aj)本身是一個(gè)閉項(xiàng)目集,一方面,由生 成基B生成的項(xiàng)目子集與逐次添加單個(gè)項(xiàng)目生成的項(xiàng)目子集不同,另一方面,由生成基B生 成的項(xiàng)目子集是項(xiàng)目集幕集的一個(gè)真子集,數(shù)量上比逐次添加單個(gè)項(xiàng)目生成的項(xiàng)目子集 少,運(yùn)意味著挖掘閉頻繁項(xiàng)目集的范圍要小。形式地,滿足由生成基B生成的項(xiàng)目子集y的 事例集可表示為
[0031]
[0032] 如下過(guò)程用于構(gòu)建項(xiàng)目子集事例樹,并快速生成上述所有項(xiàng)目子集及其滿足的事 例集:
[0033] (I)項(xiàng)目子集事例樹的每一個(gè)節(jié)點(diǎn)表示為
[0034] A' X T (A')
[003引其中,為由生成基B生成的一個(gè)項(xiàng)目子集,)是滿足的事例集。
[0036] (2)項(xiàng)目子集事例樹的根節(jié)點(diǎn)表示為
[0037] 0乂 U
[0038] (3)根節(jié)點(diǎn)的每一個(gè)子節(jié)點(diǎn)表示為
[0039] C(aj)XT(C(aj))
[0040] 其中,子節(jié)點(diǎn)從左到右按C(aj)中包含項(xiàng)目的個(gè)數(shù)從大到小排列,即從左到右,第 一個(gè)子節(jié)點(diǎn)是C(aj)中包含項(xiàng)目的個(gè)數(shù)最多,最后一個(gè)子節(jié)點(diǎn)是C(aj)中包含項(xiàng)目的個(gè)數(shù)最 少,個(gè)數(shù)相同時(shí)按序號(hào)排列。
[0041] (4)每一個(gè)子節(jié)點(diǎn)C(aj)XT(C(aj))的子節(jié)點(diǎn)按如下方式生成:令C(ai)XT(C (ai) ),C(a2)XT(C(a2)),...,C(am)XT(C(am))是按(3)要求的排序結(jié)果,對(duì)任一子節(jié)點(diǎn) C (aj) Xi(C(aj)),其第一個(gè)子節(jié)點(diǎn)為
[0042] (C(aj) UC(aj+i))X(T(C(aj))nT(C(aj+i)))
[00創(chuàng)若C(aj)UC(aj+l)聲A且^?)^aa?)且r(パa(bǔ),))nr(C(aJ)娩5,其它節(jié)點(diǎn)可分別 按(C(aj)UC(aj+2))X(T(C(aj))nT(C(aj+2))),...,(C(aj)UC(am))X(T(C(aj))nT(C (am)))依次生成。
[0044] (5)對(duì)任一節(jié)點(diǎn)XtW ),假設(shè)=A" UC佔(zhàn)),則XtW )的第一個(gè)子節(jié)點(diǎn)為
[0045] (A' UC(aj+i))X(T(A')nT(C(aj+i)))
[0046] 若A' UC(aw)聲A且巧如!)心'且r (/IOnr(廣(如))韻,其它節(jié)點(diǎn)可分別按(C (A^ ) UC(aj+2)) X (x(C(A^ )) n T(C(aj+2))), . . . ,(C(A^ ) UC(am)) X (t(C(A〇 ) n T(C(am))) 依次生成。
[0047] (6)如需生成頻繁項(xiàng)目子集,只需要在每個(gè)節(jié)點(diǎn)生成過(guò)程中增加大于等于最小支 持度a運(yùn)一限制條件,即對(duì)任一節(jié)點(diǎn)Xt(A/ ),增加限制條件
[004引 |T(A')|>a
[0049] 3、挖掘閉頻繁項(xiàng)目集及其極小生成元并生成極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則
[0050] 在項(xiàng)目子集事例樹,每一個(gè)節(jié)點(diǎn)均由項(xiàng)目子集及其滿足的事例集構(gòu)成,根據(jù)事例 集,可在項(xiàng)目子集事例樹的節(jié)點(diǎn)上定義如下等價(jià)關(guān)系>:
[0051 ]對(duì)任意兩個(gè)節(jié)點(diǎn)A' X t(A')和A" X t(A"),
[0052] A' XT(A')>A"XT(A")當(dāng)且僅當(dāng)T(A') = T(A")
[0053] 根據(jù)等價(jià)關(guān)系>,可將節(jié)點(diǎn)合并為
[0054] [A']Xt(A')
[0055] 其中,[y]是由項(xiàng)目子集事例樹中所有與節(jié)點(diǎn)X T(y)等價(jià)的節(jié)點(diǎn)的項(xiàng)目子集 構(gòu)成的集合,即[A^ ]中的項(xiàng)目子集滿足的事例集為T(y)。為便于描述,本發(fā)明給出如下約 定:
[0056] (l)max[A/]為[A/]中按包含關(guān)系確定的最大元。
[0057] (2)min[A/]為[A/]中最大元的生成元集合
[005引基于上述約定,閉頻繁項(xiàng)目集及其極小生成元如下生成:
[0059] . max[A/]是支持度為I ) I的閉頻繁項(xiàng)目集
[0060] ?令A(yù)" Gmin[A/],若存在A"的子集滿足該子集的事例集就是T(A/ )且沒(méi)有比該 子集更小的子集其事例集也是T(y ),則該子集為閉頻繁項(xiàng)目集max[A/ ]的一個(gè)極小生成 元,記Gmin[A/ ]為所有從min[A/ ]中獲得的max[A/ ]的極小生成元。
[0061] 根據(jù)閉頻繁項(xiàng)目集及其極小生成元,極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則如下生成:
[0062] ?可信度為1的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則
[0063] 對(duì)任一等價(jià)類[A'],令A(yù)iGGminU'],則
[0064] Al一(max[A' ]-Ai)
[0065] 為極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則,其支持度為S叫(Al一(max[A' ]-Ai))= |t(A' ) I,可信度 conf(Ai一(max[A' ]-Ai))= I t(A' ) 1/1 T(Ai) I =1。
[0066] ?可信度為e的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則
[0067] 對(duì)任一等價(jià)類[y]及其父節(jié)點(diǎn)等價(jià)類[A"],即在項(xiàng)目子集事例樹中,A"是y的父 節(jié)點(diǎn)且T (A")聲 T (A'),令A(yù)l G Gmin[A"],則
[0068] Al一(max[A' ]-Ai)
[0069] 為極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則,其支持度為sup(Al 一 (max[A/]-Al))= I T(y ) I,可信度e = Conf (Al一(max[A' ]-Al)) = I t(A' ) I / I T(Al) I <1。
[0070] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
[0071] 本發(fā)明是一種基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法,利用單個(gè)項(xiàng) 目的閉項(xiàng)目集生成項(xiàng)目子集事例樹,與利用枚舉單個(gè)項(xiàng)目生成項(xiàng)目子集的方法比較,生成 較少的項(xiàng)目子集,有效地避免了冗余項(xiàng)目子集的生成。同時(shí),將捜索閉頻繁項(xiàng)目集及其極小 生成元限制在項(xiàng)目子集事例樹中,有效地減少了閉頻繁項(xiàng)目集及其極小生成元的捜索范 圍。此外,利用目子集事例樹中的等價(jià)類及其層次關(guān)系,快速挖掘極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則,有 效地避免了在項(xiàng)目集與事例集之間的多次重復(fù)計(jì)算。
【附圖說(shuō)明】
[0072] 圖1是本發(fā)明一個(gè)實(shí)施例中用來(lái)計(jì)算得到每一個(gè)項(xiàng)目對(duì)應(yīng)的閉項(xiàng)目集;
[0073] 圖2是本發(fā)明一個(gè)實(shí)施例中用來(lái)生成項(xiàng)目子集事例樹;
[0074] 圖3是本發(fā)明一個(gè)實(shí)施例中生成的具體項(xiàng)目子集事例樹;
[00對(duì)圖4是本發(fā)明一個(gè)實(shí)施例中CHARM-L算法中生成的IT-樹;
[0076] 圖5是本發(fā)明一個(gè)實(shí)施例中用來(lái)挖掘極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則;
[0077] 圖6為本發(fā)明所提算法與Aprior算法的運(yùn)行時(shí)間曲線;
[007引圖7為本發(fā)明所提算法與Aprior算法的使用內(nèi)存曲線;
[0079] 圖8為本發(fā)明算法流程圖;
[0080] 圖9給出6個(gè)事例5個(gè)項(xiàng)目的事例項(xiàng)目數(shù)據(jù)庫(kù);
[0081] 圖10給出閉項(xiàng)目集及其支持度;
[0082] 圖11給出圖3所示項(xiàng)目子集事例樹經(jīng)過(guò)合并后的節(jié)點(diǎn)、閉項(xiàng)目集及其極小生成元;
[0083] 圖12給出可信度闊值為0.9的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則;
[0084] 圖13給出實(shí)施例2運(yùn)行時(shí)間和占用內(nèi)存。
【具體實(shí)施方式】
[0085]下面結(jié)合【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。但不應(yīng)將此理解為本發(fā)明 上述主題的范圍僅限于W下的實(shí)施例,凡基于本
【發(fā)明內(nèi)容】
所實(shí)現(xiàn)的技術(shù)均屬于本發(fā)明的范 圍。
[00化]實(shí)施例1
[0087] 圖1所示是本發(fā)明的一個(gè)實(shí)施例示出的一種基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān) 聯(lián)規(guī)則挖掘方法,其目的是計(jì)算得到每一個(gè)項(xiàng)目對(duì)應(yīng)的閉項(xiàng)目集,包括W下步驟:
[0088] 提供一個(gè)6個(gè)事例5個(gè)項(xiàng)目的事例項(xiàng)目數(shù)據(jù)庫(kù)D=化,A)實(shí)例及其表格,給出該實(shí)例 的滿足每一個(gè)項(xiàng)目的事例集及被事例集所滿足的項(xiàng)目集,用于計(jì)算得到每一個(gè)項(xiàng)目對(duì)應(yīng)的 閉項(xiàng)目集;
[0089] 具體的,圖9描述了給出的6個(gè)事例5個(gè)項(xiàng)目的事例項(xiàng)目數(shù)據(jù)庫(kù)D=化,A),結(jié)合圖9, 滿足每一個(gè)項(xiàng)目的事例集及被事例集所滿足的項(xiàng)目集為:
[0090]
[0091]
[0092] 其中,i = l,2,...,6,j = l,2,3,4,5。據(jù)此,每一個(gè)項(xiàng)目對(duì)應(yīng)的閉項(xiàng)目集為:
[0093] C(aj)= y (x(aj))
[0094] 其支持度為
[0095] Sup(C(aj)) = I T(aj) I。
[0096] 本具體實(shí)例每一項(xiàng)目對(duì)應(yīng)的閉項(xiàng)目集為B= {C(ai),C(a2),C(a3),C(a4),C(as)}。
[0097] 圖2所示是本發(fā)明的一個(gè)實(shí)施例示出的一種基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān) 聯(lián)規(guī)則挖掘方法,其目的是基于圖1生成的每一項(xiàng)目對(duì)應(yīng)的閉項(xiàng)目集生成項(xiàng)目子集事例樹, 包括W下步驟:
[009引生成Lo層的節(jié)點(diǎn),即根節(jié)點(diǎn)么;0X化
[0099] 生成^層的節(jié)點(diǎn),即根節(jié)點(diǎn)的子節(jié)點(diǎn),
[0100] l^i:C(ai)XT(C(ai)),C(a2)XT(C(a2)),. . .,C(as)XT(C(a已))
[0101 ]其中,C(aj)是包含項(xiàng)目的個(gè)數(shù)第j大的閉項(xiàng)目集。
[0102]假設(shè)層已經(jīng)生成,則第k層的節(jié)點(diǎn)由層中每個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成,對(duì)Lr-I層 的節(jié)點(diǎn)A/ Xt(A/ )且滿足A/ =A/ uc(ak),其子節(jié)點(diǎn)如下生成:
[010:3] (A/ U C(ak+i))X(T(A/ )nT(C(ak+i) )),...,(A/ U C(a己))X(t(A/ ) HT(CXas)))
[0104] 且滿足A/ UC(Eii)聲A且幻往.):運(yùn)J/且r(4/)nr(.C(3.y))#0,i = k+l,... ,5。
[0105] 圖3所示是本發(fā)明的一個(gè)實(shí)施例示出的一種基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān) 聯(lián)規(guī)則挖掘方法,其目的是基于圖2生成的項(xiàng)目子集事例樹挖掘極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則,包括 W下步驟:
[0106] 利用如下節(jié)點(diǎn)上的等價(jià)關(guān)系,對(duì)項(xiàng)目子集事例樹中節(jié)點(diǎn)進(jìn)行合并,對(duì)任意兩個(gè)節(jié) 點(diǎn)A' Xt(A')和A"Xt(A"),
[0107] A' XT(A')>A"XT(A")當(dāng)且僅當(dāng)T(A') = T(A")
[0108] 據(jù)此可將事例集相同的節(jié)點(diǎn)合并為
[0109] [A']Xt(A')
[0110] 其中,項(xiàng)目子集等價(jià)類[A/]中的項(xiàng)目子集滿足的事例集都為T(y),按集合包含關(guān) 系,[A^]中的最大元和生成元記為
[0111] max[A^ ]
[0…]min[A']
[011:3] max[y]是由生成的閉項(xiàng)目集,max[y]的極小生成元在min[y忡捜索,即對(duì)任 一 A" Gmin[y],若存在A"的子集滿足該子集的事例集就是T(A/ )且沒(méi)有比該子集更小的子 集其事例集也是T(y ),則該子集為閉項(xiàng)目集max[y ]的一個(gè)極小生成元,記Gmin[y ]為所 有從min[A/ ]中獲得的max[A/ ]的極小生成元。
[0114] 據(jù)此,極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則如下生成:
[0115] 對(duì)任一等價(jià)類[A'],令A(yù)iGGminU'],則
[0116] Al一(max[A']-Ai)
[0117] 其支持度為S叫(Al一(max[A' ]-Ai))= I T(A' ) I,可信度為conf(Ai^(max[A']- Ai))= I t(A' ) I/ I T(Ai) I =1。
[0118] 對(duì)任一等價(jià)類[y]及其父節(jié)點(diǎn)等價(jià)類[A"L即在項(xiàng)目子集事例樹中,A"是y的父 節(jié)點(diǎn)且T (A")聲 T (A'),令A(yù)l G Gmin[A"],則
[0119] Al一(max[A']-Ai)
[0120] 其支持度為sup(Ai一(max[A' ]-Ai))= I T(A' ) I,可信度為0 = conf(Ai^(max[A']_ Ai))= |t(A' ) |/|t(Ai) |<1。
[0121] 實(shí)施例1:
[0122] -個(gè)事例項(xiàng)目數(shù)據(jù)庫(kù)為D=化,4) = ({1,2,3,4,5,6},{曰1,曰2,曰3,曰4,曰日})實(shí)例如圖9 所示。
[0123] 根據(jù)圖9及圖1所示,滿足ai的事例集為
[0124]
[0125] 事例集{1,2,5}所滿足的項(xiàng)目子集為
[0126]
[0127]因此,項(xiàng)目曰1對(duì)應(yīng)的閉項(xiàng)目集為:
[012引 c(ai)= 丫(T(ai)) = {ai}
[0129] 其支持度為
[0130] Sup(C(ai))= x(ai) = {1,2,5} =3〇
[0131] 同理可得曰2,曰3,曰4和a日對(duì)應(yīng)的閉項(xiàng)目集及其支持度,本例結(jié)果見(jiàn)圖10
[0132] 根據(jù)圖10所示,按包含項(xiàng)目數(shù)排序結(jié)果為:C(a4),C(a2),C(ai),C(a3),C(a5),因此, 根節(jié)點(diǎn)0X^的子節(jié)點(diǎn)構(gòu)成^層,從左到右分別為
[0133] C(a4)X{5,6},C(a2)X{4,5},C(ai)X{l,2,5},C(a3)X{2,3,4,5,6},C(a5)X{l, 3,5,6} O
[0134] ^層各節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成L2層,其中,C(a4)X{5,6}的子節(jié)點(diǎn)為
[0135] (C(a4)UC(a2))X({5,6} n{4,5}),(C(a4)UC(ai))X({5,6}n {1,2,5})
[0136] C(a4)UC(a3)和(C(a4) UC(as))不生成節(jié)點(diǎn),因?yàn)椴粷M足巧曲狂4/,其它子節(jié)點(diǎn)類 似可生成。L2層各節(jié)點(diǎn)的子節(jié)點(diǎn)構(gòu)成L3層,其中,(C(a4)UC(a2))X{引的子節(jié)點(diǎn)為
[0137] ((C(a4)UC(a2))UC(ai))X({5} n{l,2,5})
[0138] ((C(a4)UC(a2))UC(a3))和((C(a4)UC(a2))UC(a日))不生成節(jié)點(diǎn),因?yàn)椴粷M足 八4)CX也,其它子節(jié)點(diǎn)類似可生成。圖3給出了本例中生成的具體項(xiàng)目子集事例樹,其中,如 曰3曰4曰康不項(xiàng)目子集{曰3,曰4,曰日},56表不事例子集{5,6}。圖4是在本例中使用CHARM-L算法所 生成的IT-樹,其中,項(xiàng)目子集與事例子集表示類似于圖3。與圖4比較,圖3的項(xiàng)目子集事例 樹的層數(shù)和節(jié)點(diǎn)數(shù)均少于圖4的IT-樹,自然地,挖掘閉頻繁項(xiàng)目集及其極小生成元的范圍 比IT-樹要少,因此在項(xiàng)目子集事例樹中可更快地生成極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則。
[0139] 根據(jù)圖3所示的項(xiàng)目子集事例樹,通過(guò)事例集相等,合并項(xiàng)目子集事例樹中的節(jié) 點(diǎn),例如[ala2a3]X5,其中,
[0140] [ala2a3] = {ala2a3,ala3a5,a2a3a5,ala2a3a5,ala3a4a5,a2a3a4a5, 曰1曰2曰3曰4曰5}
[0141] max[ala2a3] =ala2a3a4a5,
[0142] min[ala2a3]={ala2a3,ala3a5,a2a3a5,ala2a3a5,ala3a4a5,a2a3a4a5},
[0143] Gmin[ala2a3]={ala2,ala4,a2a4,a2a5,ala3a5}
[0144] 生成可信度為I的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則如下
[0145] 曰1曰2一曰3曰4曰5,曰1曰4一曰2曰3曰5,曰2曰4一曰1曰3曰5,曰2曰已一曰化3曰4,曰化3曰已一曰2曰4
[0146] 圖11給出了圖3所示項(xiàng)目子集事例樹經(jīng)過(guò)合并后的節(jié)點(diǎn),閉項(xiàng)目集及其極小生成 元,圖12給出了可信度闊值為0.9的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則。
[0147] 實(shí)施例2
[0148] 本實(shí)施例使用EXTEND抓BAKERY Dataset數(shù)據(jù)集,該數(shù)據(jù)集記錄了購(gòu)買40種面包 (編號(hào)為1至40)和10中飲料(編號(hào)為41至50)共75000條銷售記錄,所挖掘的屬性關(guān)聯(lián)規(guī)則體 現(xiàn)為購(gòu)買面包和飲料的關(guān)聯(lián)關(guān)系,使用本發(fā)明方法挖掘?qū)傩躁P(guān)聯(lián)規(guī)則,支持度闊值設(shè)定為 0.0 l,可信度闊值設(shè)定為0,共生成112條屬性關(guān)聯(lián)規(guī)則,并與經(jīng)典Aprior算法從屬性關(guān)聯(lián)規(guī) 則的數(shù)量(352條)、運(yùn)行時(shí)間和占用內(nèi)存方面進(jìn)行比較,其中,屬性關(guān)聯(lián)規(guī)則的數(shù)量及規(guī)則 的前后件內(nèi)容完全一致,運(yùn)行時(shí)間和占用內(nèi)存見(jiàn)圖13,在比較實(shí)驗(yàn)中,本實(shí)施例將原始數(shù)據(jù) 75000條數(shù)據(jù)進(jìn)行復(fù)制翻倍操作7次,W 2的倍數(shù)規(guī)模增長(zhǎng),分別得到8組數(shù)據(jù),所得規(guī)則數(shù)量 及其支持度、可信度不變,但運(yùn)行時(shí)間和占用內(nèi)存有變化。圖6展示了本發(fā)明所提算法與 Aprior算法的運(yùn)行時(shí)間曲線。圖7展示了本發(fā)明所提算法與Aprior算法的使用內(nèi)存曲線。
[0149] 使用本方法生成的112條屬性關(guān)聯(lián)規(guī)則全部在Aprior算法生成的屬性關(guān)聯(lián)規(guī)則 (352條)之中,且全部規(guī)則為Min-Max規(guī)則。
[0150] W上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何 屬于本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明掲露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng) 涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法,其特征在于,包括以下步驟: 步驟1、在事例項(xiàng)目數(shù)據(jù)庫(kù)中,根據(jù)事例與項(xiàng)目之間的閉包運(yùn)算,生成每個(gè)項(xiàng)目對(duì)應(yīng)的 閉項(xiàng)目集,該閉項(xiàng)目集滿足其支持度與對(duì)應(yīng)項(xiàng)目的支持度相同; 步驟2、對(duì)生成的閉項(xiàng)目集按集合中元素個(gè)數(shù)從大到小排序,通過(guò)集合的并運(yùn)算,生成 各項(xiàng)目子集; 步驟3、通過(guò)集合的交運(yùn)算,生成各項(xiàng)目子集滿足的事例集,并按生成順序,并根據(jù)生成 的事例集構(gòu)建項(xiàng)目子集事例樹結(jié)構(gòu); 步驟4、在項(xiàng)目子集事例樹中,挖掘閉頻繁項(xiàng)目集及其極小生成元,再利用獲得的閉頻 繁項(xiàng)目集及其極小生成元生成極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則。2. 根據(jù)權(quán)利要求1所述的基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法,其特 征在于,所述的步驟1,包括以下步驟, 步驟1.1、滿足某項(xiàng)目的事例與某事例所滿足的項(xiàng)目,構(gòu)成一對(duì)事例與項(xiàng)目之間的閉包 運(yùn)算; 步驟1.2、使用該閉包運(yùn)算,可以生成滿足某一項(xiàng)目的事例共同滿足的項(xiàng)目子集,即滿 足某一項(xiàng)目的事例確定的閉項(xiàng)目集。3. 根據(jù)權(quán)利要求1所述的基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法,其特 征在于,所述的步驟2,包括以下步驟, 步驟2.1、對(duì)每一項(xiàng)目滿足的事例確定的閉項(xiàng)目集,根據(jù)其中包含的項(xiàng)目個(gè)數(shù)從大到小 排序; 步驟2.2、再按排序順序,對(duì)已生成的項(xiàng)目子集和選定的閉項(xiàng)目集,通過(guò)集合的并運(yùn)算, 生成一個(gè)新的項(xiàng)目子集。4. 根據(jù)權(quán)利要求3所述的基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法,其特 征在于,所述的步驟3,通過(guò)集合的交運(yùn)算,計(jì)算新項(xiàng)目子集滿足的事例集,并按事例集生成 順序,構(gòu)建項(xiàng)目子集事例樹結(jié)構(gòu)。5. 根據(jù)權(quán)利要求1所述的基于項(xiàng)目子集事例樹的極小非約簡(jiǎn)關(guān)聯(lián)規(guī)則挖掘方法,其特 征在于,所述的步驟4,包括以下步驟, 步驟4.1、在項(xiàng)目子集事例樹中,選擇具有相同事例集的項(xiàng)目子集; 步驟4.2、按包含關(guān)系,相同事例集的項(xiàng)目子集中的最大元為閉項(xiàng)目集,其中的生成元 用于得到該閉項(xiàng)目集的極小生成元; 步驟4.3、以極小生成元為前件,該閉項(xiàng)目集減去極小生成元為后件,生成極小非約簡(jiǎn) 關(guān)聯(lián)規(guī)則。
【文檔編號(hào)】G06F17/30GK106021546SQ201610365087
【公開日】2016年10月12日
【申請(qǐng)日】2016年5月27日
【發(fā)明人】裴崢, 李波, 周斌, 孔明明
【申請(qǐng)人】西華大學(xué)