劉小燕
【摘要】本文主要對數據挖掘算法及關聯法則基礎上針對Apriori算法特點進行分析,并提出了Apriori算法及關聯規則算法思路,通過改進Apriori算法可效避免產生冗余規則,確保挖掘所得數據簡潔完備。
【關鍵詞】數據挖掘算法 關聯規則 Apriori算法
【中圖分類號】G64 【文獻標識碼】A 【文章編號】2095-3089(2017)11-0240-01
數據挖掘另可稱之為數據庫中知識的發現,是指在大量模糊的、不完全的、隨機的數據中,提取部分人們事先不知道的卻存在一定潛在應用價值的信息及知識的整體過程,是發現知識挖掘知識的重要步驟。
1.關聯規則
關聯規則挖掘屬于數據挖掘算法中應用最為廣發的算法之一,關聯規則挖掘值得是在大型數據集內尋找存在有趣關聯的關系,進而從數據集內進行相應識別,也可稱為頻繁集,通過應用頻繁集創造及描述關聯規則的一個過程。當前Apriori 算法在數據分析、高層決策以及商業情報等多個領域得到應用,經典Apriori 算法需要借助數據庫進行多次掃描生成大量候選集,因此經典化算法挖掘能力一般產生較多冗余規則,因此通過數據挖掘算法基于關聯規則分析提出改進Apriori 算法十分重要,可更好進行關聯規則提取。
2.Apriori 算法
Apriori 算法應用的突出特點,即應用時需通過多次數據庫掃描才能發現所有頻繁集。如果將最長頻繁集長度設為K,即應用Apriori 算法是經多次掃描得出的結果記為K,第1次實施掃描時Apriori 算法可計算得出數據庫單項目支持度,并滿足最小支持度1-強度集,集合L1。后續通過L1可陸續挖掘得出L2(2-強項集),依次循環,通過反復N次掃描,可以N-1次掃描所得的N-1強項集集合LN-1為種子集,利用種子集生成N-強項集集合(候選集CN),通過計算候選集指出度,確定可滿足最小支持度N的強項集集合LN。通過上述過程的不斷重讀可不斷產生新強項集,直至無強項集產生。經典Apriori 算法在應用中存在較多不足,需要對數據庫進行多次掃描,對計算機資源進行大量消耗。
3.改進Apriori 算法
3.1 改進思路
改進Apriori 算法是在應用可拓理論基礎上開展的Apriori 算法,可拓性主要是指事物進行拓展的可能性,因事物可拓性屬于其本身特有性質,主要包括相關性、發散性及蘊含性方面,從自身向外、變通、平行以及組合、分解等角度提供多種變換途徑的可能性。將給定事物名稱設置為N,與其相關特征C量值定位V,將有序三元組R作為事物描述的基本元(物元),事物名稱主要包括三大要素,即名稱(N)、特征(C)及量值(V)。基于可拓理論應用改進Apriori 算法主要包括兩個步驟,第一,大征集交運算,以X1及X2為大征集,交運算后將生成所得的征集描述為X,X為X1及X2包含子句的合取范式。第二,征集刪除運算,將K元征集內每個征集XK中k-1元子句實施檢查,若發現k-1元子句確定征集不屬于大征集,則需將其刪除。
3.2 改進算法描述及性能驗證
改進Apriori 算法,首先需對數據庫(D)進行掃描,將每條記錄內元素均進行統計記錄,得到元素集合(S),以S內元素構成單獨集合形成元候選集(H1),設置元計數單位(k,k=1),概念描述(Y)依次對Hk內各征集XkyY支持度(s)及置信度(cEc0)進行計算,輸出規則XkyY,若果Xk的cEc0可將其存入大征集Lk內,若Lk元素數量低于2,需停止。Lk內選擇2個不同征集Xki及Xkj,逐一進行元素對比,若符合k-1 個元素,第k元素不同需將Xki元素與Xki第k個元素組成新元征集(k+1),將其存入Hk+1內。針對Lk內所有征集,兩兩進行上述操作生成k+1候選集,確保k=k+1。為進一步對改進Apriori 算法進行驗證需采取VC++確保上述算法實現,并借助SQL Server2005數據庫內相關模擬實驗數據進行驗證。借助改進Apriori 算法進行挖掘所得規則無冗余規則及遺漏規則,但最小支持度加大或數據庫內數據量增加時,改進算法運行速度與Apriori 算法相比有所下降。
4.結束語
Apriori 算法應用中仍存在一定不足之處,通過相應改進,發現經典Apriori 挖掘算法所得關聯規則內包含較多冗余規則,基于挖掘算法進行改進后Apriori算法計算結果內無冗余規則產生且無規則遺漏,簡單且明了,通過實驗數據分析發現,改進后Apriori算法執行效率與經典Apriori算法相比有所下降。
參考文獻:
[1]方蓉.基于關聯規則的數據挖掘算法的分析及應用[J].電子測試,2016,(1):36-38,16.