一種頻繁項(xiàng)集快速檢出的方法
【專利摘要】本發(fā)明公開了一種頻繁項(xiàng)集快速檢出的方法,包括:掃描事務(wù)數(shù)據(jù)庫(kù),根據(jù)事物數(shù)據(jù)庫(kù)中的記錄,得到所述事物數(shù)據(jù)庫(kù)中所有的1項(xiàng)集;計(jì)算每個(gè)所述1項(xiàng)集的支持度,得到支持度不小于最小支持度閥值的頻繁1項(xiàng)集;通過(guò)頻繁k項(xiàng)集與頻繁1項(xiàng)集進(jìn)行無(wú)重復(fù)合并,生成支持度不小于最小支持度閥值的頻繁k+1項(xiàng)集;其中,k為大于0的整數(shù)。本發(fā)明減少了通過(guò)計(jì)算機(jī)數(shù)據(jù)處理制定關(guān)聯(lián)規(guī)則的數(shù)據(jù)處理量,大大提高了計(jì)算機(jī)的處理效率。
【專利說(shuō)明】一種頻繁項(xiàng)集快速檢出的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種頻繁項(xiàng)集快速檢出的方法。
【背景技術(shù)】
[0002]數(shù)據(jù)關(guān)聯(lián)是數(shù)據(jù)庫(kù)中存在的一類重要的可被發(fā)現(xiàn)的知識(shí)。若兩個(gè)或多個(gè)變量的取值之間存在某種規(guī)律性,就稱為關(guān)聯(lián)。關(guān)聯(lián)規(guī)則挖掘發(fā)現(xiàn)大量數(shù)據(jù)中項(xiàng)集之間有趣的關(guān)聯(lián)或相關(guān)聯(lián)系。它在數(shù)據(jù)挖掘中是一個(gè)重要的課題。關(guān)聯(lián)規(guī)則側(cè)重于確定數(shù)據(jù)中不同領(lǐng)域之間的聯(lián)系,即尋找給定數(shù)據(jù)集中的有趣聯(lián)系,數(shù)據(jù)庫(kù)中數(shù)據(jù)的關(guān)聯(lián)函數(shù)往往是未知不確定的,關(guān)聯(lián)規(guī)則是一個(gè)自學(xué)習(xí)的過(guò)程,通過(guò)其可以找到未知有益的規(guī)則。
[0003]目前,關(guān)聯(lián)規(guī)則的挖掘主要是通過(guò)計(jì)算機(jī)的處理完成,在關(guān)聯(lián)規(guī)則的相關(guān)計(jì)算過(guò)程中,主要計(jì)算為頻繁項(xiàng)集的挖掘,采用一般的Apriori算法挖掘頻繁項(xiàng)集,需要多次檢索整個(gè)事務(wù)數(shù)據(jù)庫(kù),處理數(shù)據(jù)量過(guò)于龐大時(shí),挖掘效率低。因此,提高關(guān)聯(lián)規(guī)則的頻繁項(xiàng)集的挖掘效率和減少計(jì)算機(jī)的數(shù)據(jù)處理量仍然是研究的重點(diǎn)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明旨在提供一種頻繁項(xiàng)集快速檢出的方法,以解決上述現(xiàn)有技術(shù)中挖掘頻繁項(xiàng)集的效率低的問(wèn)題。
[0005]本發(fā)明公開了一種頻繁項(xiàng)集快速檢出的方法,包括:掃描事務(wù)數(shù)據(jù)庫(kù),根據(jù)事物數(shù)據(jù)庫(kù)中的記錄,得到所述事物數(shù)據(jù)集中所有的I項(xiàng)集;
[0006]計(jì)算每個(gè)所述I項(xiàng)集的支持度,得到支持度不小于最小支持度閥值的頻繁I項(xiàng)集;
[0007]通過(guò)頻繁k項(xiàng)集與頻繁I項(xiàng)集進(jìn)行無(wú)重復(fù)合并,生成支持度不小于最小支持度閥值的頻繁k+1項(xiàng)集;
[0008]其中,k為大于0的整數(shù)。
[0009]優(yōu)選地,還包括:
[0010]每個(gè)所述I項(xiàng)集對(duì)應(yīng)著有一布爾數(shù)組,該布爾數(shù)組長(zhǎng)度為事務(wù)數(shù)據(jù)庫(kù)的記錄總數(shù),所述布爾數(shù)組的各個(gè)數(shù)位按照所述事物數(shù)據(jù)庫(kù)中的記錄的順序一一與所述事物數(shù)據(jù)庫(kù)的記錄對(duì)應(yīng);
[0011]若事務(wù)數(shù)據(jù)庫(kù)中的某條記錄包含該I項(xiàng)集中的項(xiàng),則將與該記錄對(duì)應(yīng)的數(shù)位上的邏輯值記為I;否則,記為0;
[0012]計(jì)算所述所有I項(xiàng)集的支持度,剔除支持度小于最小支持度閥值的所述I項(xiàng)集,得到所述頻繁I項(xiàng)集。
[0013]其中,布爾數(shù)組中“I”的個(gè)數(shù)與布爾數(shù)組的數(shù)位長(zhǎng)度之比作為所述支持度。
[0014]優(yōu)選地,還包括:
[0015]所述候選頻繁k+1項(xiàng)集及其對(duì)應(yīng)的布爾數(shù)組由頻繁K項(xiàng)集及其布爾數(shù)組和頻繁I項(xiàng)集及其布爾數(shù)組進(jìn)行無(wú)重復(fù)合并得到;[0016]在所述無(wú)重復(fù)合并的過(guò)程中,頻繁k項(xiàng)集的布爾數(shù)組與頻繁I項(xiàng)集的布爾數(shù)組上的相同數(shù)位上的邏輯值進(jìn)行邏輯與運(yùn)算,得到候選頻繁k+1項(xiàng)集的布爾數(shù)組;
[0017]計(jì)算所述所有候選頻繁k+1項(xiàng)集的支持度;剔除支持度小于最小支持度閥值的所述k+1項(xiàng)集,得到所述頻繁k+1項(xiàng)集。
[0018]優(yōu)選地,還包括:
[0019]在所述無(wú)重復(fù)合并的過(guò)程中,
[0020]判斷得到所述頻繁k+1項(xiàng)集為空集的情況下,結(jié)束挖掘流程。
[0021]優(yōu)選地,所述無(wú)重復(fù)合并的過(guò)程包括:
[0022]合并后,得到所述候選頻繁k+1項(xiàng)集為之前未曾出現(xiàn),則將該k+1項(xiàng)集標(biāo)記為“已合并”,并在之后的合并過(guò)程中,與之相同的頻繁項(xiàng)集,放棄合并處理。
[0023]本發(fā)明中的關(guān)聯(lián)規(guī)則快速挖掘的方法,具有以下優(yōu)點(diǎn):
[0024]1、本發(fā)明對(duì)頻繁項(xiàng)集搜索和檢出的方法,只需在生成I項(xiàng)集表時(shí)掃描I次事務(wù)數(shù)據(jù)庫(kù)D,相比經(jīng)典的Apriori算法和大部分其他關(guān)聯(lián)規(guī)則算法的多次讀取事務(wù)數(shù)據(jù)庫(kù)而言,大為減少了由于讀取事務(wù)數(shù)據(jù)庫(kù)而產(chǎn)生的IO開銷;
[0025]2、生成頻繁項(xiàng)集時(shí)不用先產(chǎn)生候選項(xiàng),頻繁k項(xiàng)集由頻繁I項(xiàng)集和頻繁k_l項(xiàng)集直接生成,相較于同樣只需一次掃描事務(wù)數(shù)據(jù)庫(kù)但需將事務(wù)數(shù)據(jù)庫(kù)壓縮到頻繁模式樹的FP-growth方法而言,有更少的內(nèi)存消耗;
[0026]3、本方法中最大的計(jì)算消耗為“邏輯與”運(yùn)算,符合計(jì)算機(jī)的最底層的計(jì)算處理模式,由此設(shè)計(jì)出的軟件不但運(yùn)算速度快,對(duì)于cpu和內(nèi)存的消耗也最為節(jié)省。
【專利附圖】
【附圖說(shuō)明】
[0027]此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0028]圖1示出了實(shí)施例的流程圖。
【具體實(shí)施方式】
[0029]下面將參考附圖并結(jié)合實(shí)施例,來(lái)詳細(xì)說(shuō)明本發(fā)明。
[0030]本發(fā)明公開了一種頻繁項(xiàng)集快速檢出的方法,包括:
[0031]S11、掃描事務(wù)數(shù)據(jù)庫(kù),根據(jù)事物數(shù)據(jù)庫(kù)中的記錄,得到所述事物數(shù)據(jù)庫(kù)中所有的I項(xiàng)集;
[0032]S12、計(jì)算每個(gè)所述I項(xiàng)集的支持度,得到支持度不小于最小支持度閥值的頻繁I項(xiàng)集;
[0033]S13、通過(guò)頻繁k項(xiàng)集與頻繁I項(xiàng)集進(jìn)行無(wú)重復(fù)合并,生成支持度不小于最小支持度閥值的頻繁k+1項(xiàng)集;
[0034]其中,k為大于0的整數(shù)。
[0035]進(jìn)一步的,還包括:
[0036]每個(gè)所述I項(xiàng)集對(duì)應(yīng)著有一布爾數(shù)組,該布爾數(shù)組長(zhǎng)度為事務(wù)數(shù)據(jù)庫(kù)的記錄總數(shù),所述布爾數(shù)組的各個(gè)數(shù)位按照所述事物數(shù)據(jù)庫(kù)中的記錄的順序一一與所述事物數(shù)據(jù)庫(kù)的記錄對(duì)應(yīng);[0037]若事務(wù)數(shù)據(jù)庫(kù)中的某條記錄包含該I項(xiàng)集中的項(xiàng),則將與該記錄對(duì)應(yīng)的數(shù)位上的邏輯值記為I;否則,記為0;
[0038]計(jì)算所述所有I項(xiàng)集的支持度,剔除支持度小于最小支持度閥值的所述I項(xiàng)集,得到所述頻繁I項(xiàng)集。
[0039]其中,布爾數(shù)組中“I”的個(gè)數(shù)與布爾數(shù)組的數(shù)位長(zhǎng)度之比作為所述支持度。
[0040]進(jìn)一步的,還包括:
[0041]所述候選頻繁k+1項(xiàng)集及其對(duì)應(yīng)的布爾數(shù)組由頻繁K項(xiàng)集及其布爾數(shù)組和頻繁I項(xiàng)集及其布爾數(shù)組進(jìn)行無(wú)重復(fù)合并得到;
[0042]在所述無(wú)重復(fù)合并的過(guò)程中,頻繁k項(xiàng)集的布爾數(shù)組與頻繁I項(xiàng)集的布爾數(shù)組上的相同數(shù)位上的邏輯值進(jìn)行邏輯與運(yùn)算,得到候選頻繁k+1項(xiàng)集的布爾數(shù)組;
[0043]計(jì)算所述所有候選頻繁k+1項(xiàng)集的支持度;剔除支持度小于最小支持度閥值的所述k+1項(xiàng)集,得到所述頻繁k+1項(xiàng)集。
[0044]進(jìn)一步的,在所述無(wú)重復(fù)合并的過(guò)程中,
[0045]判斷得到所述頻繁k+1項(xiàng)集為空集的情況下,結(jié)束挖掘流程。
[0046]優(yōu)選地,所述無(wú)重復(fù)合并的過(guò)程包括:
[0047]合并后,得到所述候選頻繁k+1項(xiàng)集為之前未曾出現(xiàn),則將該k+1項(xiàng)集標(biāo)記為“已合并”,并在之后的合并過(guò)程中,與之相同的頻繁項(xiàng)集,放棄合并處理。
[0048]進(jìn)一步的,本方法公開了一個(gè)優(yōu)選地實(shí)施例,如下:
[0049]表1:事務(wù)數(shù)據(jù)庫(kù)D
[0050]
【權(quán)利要求】
1.一種頻繁項(xiàng)集快速檢出的方法,其特征在于,包括:掃描事務(wù)數(shù)據(jù)庫(kù),根據(jù)事物數(shù)據(jù)庫(kù)中的記錄,得到所述事物數(shù)據(jù)庫(kù)中所有的I項(xiàng)集; 計(jì)算每個(gè)所述I項(xiàng)集的支持度,得到支持度不小于最小支持度閥值的頻繁I項(xiàng)集; 通過(guò)頻繁k項(xiàng)集與頻繁I項(xiàng)集進(jìn)行無(wú)重復(fù)合并,生成支持度不小于最小支持度閥值的頻繁k+1項(xiàng)集; 其中,k為大于O的整數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 每個(gè)所述I項(xiàng)集對(duì)應(yīng)著有一布爾數(shù)組,該布爾數(shù)組長(zhǎng)度為事務(wù)數(shù)據(jù)庫(kù)的記錄總數(shù),所述布爾數(shù)組的各個(gè)數(shù)位按照所述事物數(shù)據(jù)庫(kù)中的記錄的順序一一與所述事物數(shù)據(jù)庫(kù)的記錄對(duì)應(yīng); 若事務(wù)數(shù)據(jù)庫(kù)中的某條記錄包含該I項(xiàng)集中的項(xiàng),則將與該記錄對(duì)應(yīng)的數(shù)位上的邏輯值記為I ;否則,記為O ; 計(jì)算所述所有I項(xiàng)集的支持度,剔除支持度小于最小支持度閥值的所述I項(xiàng)集,得到所述頻繁I項(xiàng)集; 其中,布爾數(shù)組中“I”的個(gè)數(shù)與布爾數(shù)組的數(shù)位長(zhǎng)度之比作為所述支持度。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括: 所述候選頻繁k+1項(xiàng)集及其對(duì)應(yīng)的布爾數(shù)組由頻繁K項(xiàng)集及其布爾數(shù)組和頻繁I項(xiàng)集及其布爾數(shù)組進(jìn)行無(wú)重復(fù)合并得到; 在所述無(wú)重復(fù)合并的過(guò)程中,頻繁k項(xiàng)集的布爾數(shù)組與頻繁I項(xiàng)集的布爾數(shù)組上的相同數(shù)位上的邏輯值進(jìn)行邏輯與運(yùn)算,得到候選頻繁k+1項(xiàng)集的布爾數(shù)組; 計(jì)算所述所有候選頻繁k+1項(xiàng)集的支持度;剔除支持度小于最小支持度閥值的所述k+1項(xiàng)集,得到所述頻繁k+1項(xiàng)集。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 在所述無(wú)重復(fù)合并的過(guò)程中, 判斷得到所述頻繁k+1項(xiàng)集為空集的情況下,結(jié)束挖掘流程。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述無(wú)重復(fù)合并的過(guò)程包括: 合并后,得到所述候選頻繁k+1項(xiàng)集為之前未曾出現(xiàn),則將該k+1項(xiàng)集標(biāo)記為“已合并”,并在之后的合并過(guò)程中,與之相同的頻繁項(xiàng)集,放棄合并處理。
【文檔編號(hào)】G06F17/30GK103678530SQ201310632561
【公開日】2014年3月26日 申請(qǐng)日期:2013年11月30日 優(yōu)先權(quán)日:2013年11月30日
【發(fā)明者】江潮 申請(qǐng)人:武漢傳神信息技術(shù)有限公司