本發明屬于數據挖掘技術領域,更具體地說,尤其涉及一種減少候選項集的數據流高效用項集挖掘算法。
背景技術:
隨著云計算,大數據和互聯網的迅猛發展,我們生活中的各方各面都離不開計算機技術來存儲、挖掘和分析數據。我們接收的不僅僅是本體系內部的規模較小的數據,而是各行業間交叉互聯廣闊無垠的信息知識海洋,如何從產生的大規模數據中獲取知識和信息是一個巨大的挑戰。傳統的信息系統中對數據進行增刪查改和統計等操作在當下這個日新月異的社會己經趨于過時老套了,通過什么樣的技術對存儲量巨大的數據進行挖掘分析,快速有效的發現數據之間存在的潛在信息,并通過這些己經挖掘到的信息為管理者或決策者提供知識的預測,有效提高資源的利用率,這才是符合時代要求的技術研究。由此,從數據庫中發現知識和主導技術支持數據挖掘的研究開始出現,并快速的得以發展。數據挖掘就是從大量的、不完全的、有噪聲的、模糊的、隨機的實際應用數據中,提取隱含在其中的、人們事先不知道的、但的確是潛在有用的信息和知識的過程。現在己經有許多現實領域在應用DM技術,包括制造業、零售業、金融、醫療保健、工程和科學等。同時在行為推薦、網絡輿情監控系統等方面得到很廣泛的應用。
關聯規則挖掘作為數據挖掘技術中一個舉足輕重的研究分支,得到了學者的廣泛研究,它主要挖掘項集之間的相關聯程度,其中它的核心是頻繁項集挖掘。1993年Agrawal等人通過對Wal-Mart的超市購物籃數據信息充分研究首次提出了關聯規則的概念,之后在很多行業得到應用。如網上購物平臺(天貓、當當等),通過挖掘得到的關聯規則可以預測顧客的購買方式和喜好,然后就可以為每位顧客提供個性化的購買體驗。但是關聯規則挖掘只分析了商品之間的關聯度大小而沒有其他因素的考慮,如物品的數量和利潤等,這就會使出現次數少但是效用高的項集被忽略。為了解決這個問題,學者首次提出了高效用項集(high utility itemsets)挖掘,它將物品的數量和利潤值增加到關聯規則模型中,當項集的總效用值比預先給定的效用閾值大時,就將它稱為高效用項集。
但是,隨著數據庫和網絡技術的快速發展,數據存儲量的大幅度提升,導致數據不再是靜止的,而是逐漸累積、變化的。如網上平臺的銷售數據,中國聯通移動的通話記錄,交通的實時監控數據等。不同于傳統的關聯規則挖掘,事務集里的數據會隨著時間而改變,更新后的數據相比之前的更加重要,如何正確的考慮這些變化的因素并快速有效地挖掘出真實有價值的知識和信息,對關聯規則挖掘提出了更嚴格的要求和挑戰。傳統的分批式頻繁項集挖掘算法只能通過重新掃描更新后的數據庫產生新關聯項集,現有技術中提出了FUP算法,算法解決了新增事務集比原始事務集規模小時需要頻繁掃描更新后數據庫的問題。將次頻繁集的概念和FP-tree結合設計出了prelarge-tree結構有效進行增量挖掘。隨后又提出減量挖掘和變化挖掘的概念。之后在關聯規則增量挖掘的基礎上又將效用值考慮在內,利用事務加權效用(TWU)的向下封閉性,在FUP算法和次頻繁項集概念的基礎上不斷改進,如Lin et al基于FUP算法提出了FUP-HU工算法進行效用增量挖掘,但是當一個項集在原數據集上是低頻效用項而在更新后的數據集上是高頻效用項時仍然需要重新掃描更新后的數據庫。鑒于此Pre-HU工算法提出將Two-Phase算法和Pre-large概念整合到效用挖掘中,利用事務向下封閉性減少了掃描數據庫的時間。
雖然這些效用增量算法提高了更新效率,有效減少了掃描原始數據庫的次數,但仍需產生大量無用候選頻項,且只適合處理事務數據庫的增加,當原數據庫事務中項集改變(減少,修改等)時仍需重新掃描更新后的數據庫,通過本發明能夠達到有效減少候選頻項數的目的,不僅能處理事務集的增加,又能處理事務集的改變,同時也能高效的完成動態效用挖掘任務,這也適應了現階段對效用挖掘的新要求。
技術實現要素:
本發明的目的是為了解決現有技術中存在的缺點,而提出的一種減少候選項集的數據流高效用項集挖掘算法。
為實現上述目的,本發明提供如下技術方案:
一種減少候選項集的數據流高效用項集挖掘算法,包括如下步驟:
S1、首先,通過數據流中當前窗口的一次掃描建立一個全局樹,并降低全局樹中頭表入口與節點的冗余效用值;
S2、然后,基于全局樹生成候選模式,基于增長算法降低局部樹的候選項集效用;
S3、在候選項集效用中,按照事務集的順序,依次將第 k 個事務中的ij項的事務加權效用相加,作為節點ij項的事物加權效用總和,同時,將項ij的前綴項加入到節點 ij的前綴項集鏈表中, 處理次頻效用項集,將次頻效用項加入到樹中;
S4、然后通過引入高事務效用閾值與低事務效用閾值,將事務加權效用率劃分為三層,在原始事務集和新增事務集中分層對應處理,利用HTWUD存放數據集中的高頻效用項集,PTUVD存放數據集中的次頻效用項集;
S5、最后計算實際效用來確定最終的高效用項集。
優選的,所述全局樹的建立方法如下:
a、首先計算變化事務中每個項集的事務加權效用變化量;
b、然后將它們依照原始數據庫的項頻度分為高頻效用項,次頻效用項和低頻效用項來構造PreHU-tree;
c、最后通過搜索PreHU-tree各節點的事務加權效用和前綴項集鏈表直接確定n一頻項;
d、結合前綴項集鏈表中的項集支持度和項的外部效用挖掘變化式高效用項集。
優選的,述冗余效用降低算法如下:
A、在一個全局HUS 樹的頭表中為每項建立一個條件模式基,每個劃分的搜索空間頭表中并未包含各項信息,因此從條件模式基產生候選模式時,無須包含后面項目的效用信息;
B、假設S={i1<i2<...<im}是當前的排序,其中i1 與im分別是全局樹頭表的頂部與底部項,假設挖掘程序從頭表選擇一項ip建立一個條件模式基,條件模式基中僅包含序列中前幾項{i1,i2,...,ip-1},所以無須添加后面若干項的效用至高效用項中。
本發明的技術效果和優點:本發明提供的一種減少候選項集的數據流高效用項集挖掘算法,首先,通過數據流中當前窗口的一次掃描建立一個全局樹,并降低全局樹中頭表入口與節點的冗余效用值;然后,基于全局樹生成候選模式,基于增長算法降低局部樹的候選項集效用;最終,從候選模式中選出高效用模式。基于真實數據流的實驗結果表明,本發明的時空效率與內存占用比均優于其他數據流的高效用模式挖掘算法。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合具體實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
一種減少候選項集的數據流高效用項集挖掘算法,包括如下步驟:
S1、首先,通過數據流中當前窗口的一次掃描建立一個全局樹,并降低全局樹中頭表入口與節點的冗余效用值;
S2、然后,基于全局樹生成候選模式,基于增長算法降低局部樹的候選項集效用;
S3、在候選項集效用中,按照事務集的順序,依次將第 k 個事務中的ij項的事務加權效用相加,作為節點ij項的事物加權效用總和,同時,將項ij的前綴項加入到節點 ij的前綴項集鏈表中, 處理次頻效用項集,將次頻效用項加入到樹中;
S4、然后通過引入高事務效用閾值與低事務效用閾值,將事務加權效用率劃分為三層,在原始事務集和新增事務集中分層對應處理,利用HTWUD存放數據集中的高頻效用項集,PTUVD存放數據集中的次頻效用項集;
S5、最后計算實際效用來確定最終的高效用項集。
具體地,所述全局樹的建立方法如下:
a、首先計算變化事務中每個項集的事務加權效用變化量;
b、然后將它們依照原始數據庫的項頻度分為高頻效用項,次頻效用項和低頻效用項來構造PreHU-tree;
c、最后通過搜索PreHU-tree各節點的事務加權效用和前綴項集鏈表直接確定n一頻項;
d、結合前綴項集鏈表中的項集支持度和項的外部效用挖掘變化式高效用項集。
具體地,述冗余效用降低算法如下:
A、在一個全局HUS 樹的頭表中為每項建立一個條件模式基,每個劃分的搜索空間頭表中并未包含各項信息,因此從條件模式基產生候選模式時,無須包含后面項目的效用信息;
B、假設S={i1<i2<...<im}是當前的排序,其中i1 與im分別是全局樹頭表的頂部與底部項,假設挖掘程序從頭表選擇一項ip建立一個條件模式基,條件模式基中僅包含序列中前幾項{i1,i2,...,ip-1},所以無須添加后面若干項的效用至高效用項中。
綜上所述:本發明提供的一種減少候選項集的數據流高效用項集挖掘算法,首先,通過數據流中當前窗口的一次掃描建立一個全局樹,并降低全局樹中頭表入口與節點的冗余效用值;然后,基于全局樹生成候選模式,基于增長算法降低局部樹的候選項集效用;最終,從候選模式中選出高效用模式。基于真實數據流的實驗結果表明,本發明的時空效率與內存占用比均優于其他數據流的高效用模式挖掘算法。
最后應說明的是:以上所述僅為本發明的優選實施例而已,并不用于限制本發明,盡管參照前述實施例對本發明進行了詳細的說明,對于本領域的技術人員來說,其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。