摘 要:數(shù)據(jù)挖掘是近年來數(shù)據(jù)庫領(lǐng)域研究的熱點問題之一。關(guān)聯(lián)規(guī)則Apriori算法是數(shù)據(jù)挖掘的關(guān)鍵技術(shù),主要是找出數(shù)據(jù)庫中的所有頻繁項集,然后由頻繁項集產(chǎn)生關(guān)聯(lián)規(guī)則。SQL Server 2005為數(shù)據(jù)挖掘的實現(xiàn)提供了強大的支持。采用創(chuàng)建基于WEB服務(wù)的數(shù)據(jù)挖掘模式,能更好的促進科創(chuàng)園區(qū)智能化管理和發(fā)展。
關(guān)鍵詞:數(shù)據(jù)挖掘;Apriori算法;Web服務(wù)
中圖分類號:TP311.13
在信息社會中,隨著信息系統(tǒng)在科創(chuàng)園區(qū)中的應(yīng)用,系統(tǒng)中包含了大量的創(chuàng)業(yè)企業(yè)的信息以及對應(yīng)的服務(wù)信息。如何利用數(shù)據(jù)庫數(shù)據(jù),發(fā)現(xiàn)規(guī)律,以便更好的為創(chuàng)業(yè)服務(wù),就需要進行數(shù)據(jù)挖掘。Apriori算法是關(guān)聯(lián)規(guī)則的經(jīng)典算法,但也存在效率不高的缺陷,可以采用改進的算法,進一步提高效率。Microsoft SQL Server 2005引入了大量新的數(shù)據(jù)挖掘功能,可以利用SQL Server 2005 Data Mining來開發(fā)智能應(yīng)用程序。利用SQL Server 2005 Data Mining可以方便的訪問數(shù)據(jù)挖掘模型和為支持特定的挖掘需求而添加的自定義挖掘算法。本文介紹了數(shù)據(jù)挖掘和Apriori算法及其改進思路,通過SQL Server 2005 Data Mining智能開發(fā)平臺,構(gòu)建基于WEB服務(wù)的科創(chuàng)園區(qū)信息系統(tǒng)的數(shù)據(jù)挖掘模式,促進智能化管理,為科創(chuàng)園區(qū)的決策提供技術(shù)支持。
1 數(shù)據(jù)挖掘
數(shù)據(jù)挖掘(Data Mining,DM)就是從大量的、不完全的、有噪聲的、模糊的、隨機的實際應(yīng)用數(shù)據(jù)中,提取隱含其中的事先不知道的潛在有價值的信息和知識的過程。在信息系統(tǒng)中利用數(shù)據(jù)挖掘,可以幫助決策者做出正確的決策,減少決策風(fēng)險。
經(jīng)過多年的發(fā)展,人們提出了很多實用的數(shù)據(jù)挖掘算法,其中Apriori算法是一種影響最大的數(shù)據(jù)挖掘算法,它采用布爾關(guān)聯(lián)規(guī)則。在信息化的今天,隨著人們對數(shù)據(jù)挖掘研究的深入,數(shù)據(jù)挖掘在信息系統(tǒng)應(yīng)用中越來越受到人們的重視。
2 Apriori算法
2.1 Apriori算法簡介
Apriori算法是由Rakesh Agrawal和Rnamakrishnan Srikant在1994年提出的關(guān)聯(lián)規(guī)則的經(jīng)典算法,它是所有關(guān)聯(lián)規(guī)則挖掘算法的核心。
Apriori算法使用頻繁項集的先驗知識,使用一種稱作逐層搜索的迭代方法,k項集用于探索(k+1)項集。首先,通過掃描事務(wù)記錄,找出所有的頻繁1項集,該集合記做L1,然后根據(jù)L1搜索L2,逐層搜索,直到Lk為空時結(jié)束。最后再在所有的頻繁集中找出強規(guī)則,即產(chǎn)生用戶感興趣的關(guān)聯(lián)規(guī)則。
2.2 Apriori算法描述
Apriori算法采用兩階段挖掘的思想,并且基于多次掃描事務(wù)數(shù)據(jù)庫來執(zhí)行的。Apriori算法由兩步完成挖掘:第一步,從事務(wù)數(shù)據(jù)庫(D)中挖掘出所有頻繁項集;第二步,基于上一步挖掘到的頻繁項集,挖掘出全部的頻繁關(guān)聯(lián)規(guī)則。其中第一步往往是總體性能的瓶頸,Apriori算法采用連接步和剪枝步兩種方式來找出所有的頻繁項集。算法的步驟如下:
(1)確定最小置信度和最小支持度。
(2)掃描數(shù)據(jù)集的所有事務(wù),統(tǒng)計對每個項出現(xiàn)的次數(shù),刪除出現(xiàn)次數(shù)小于閾值的項集,得到L1頻繁項集。
(3)利用L1的結(jié)合,產(chǎn)生候選2項集合C2。
(4)對C2的候選項集的支持計數(shù),生成L2。利用L2的結(jié)合產(chǎn)生候選3項集合C3。
(5)重復(fù)掃描數(shù)據(jù)庫,利用Lk-1的結(jié)合產(chǎn)生候選k項集合Ck,對Ck的候選項集的支持計數(shù),生成Lk。窮盡數(shù)據(jù)集中的所有頻繁項集后結(jié)束。
2.3 Apriori算法缺點和改進
Apriori算法能夠有效地產(chǎn)生關(guān)聯(lián)規(guī)則,但存在兩個比較明顯的缺點:一是由于在每一步產(chǎn)生候選項目集時循環(huán)產(chǎn)生的組合過多,沒有排除不應(yīng)該參與組合的元素,算法可能產(chǎn)生大量的候選項目集。二是需要重復(fù)掃描數(shù)據(jù)庫,增加系統(tǒng)的I/O開銷,影響效率。
我們可以在由k頻繁項集生成k+1頻繁項集時,將事務(wù)數(shù)為k的事務(wù)打上標(biāo)記或刪除,這樣可以避免在生成k+2頻繁項目集時掃描該事務(wù)。這樣就解決了第一個缺點。對于第二個缺點,可以預(yù)先將所有事務(wù)存儲到一個二維矩陣中,這樣只需要掃描一次數(shù)據(jù)庫。以后的計算都在數(shù)組上進行運算,直接訪問內(nèi)存,沒有I/O操作。根據(jù)這個設(shè)計思路,可以將Apriori算法進行改進,操作步驟如下:
(1)掃描數(shù)據(jù)庫,將所有事務(wù)和項的對應(yīng)情況存儲到一個二維數(shù)組中。如果某個(i)項存在于某個(j)事務(wù)中,那么二維矩陣的第(i,j)個值就置為“1”,反之則置為“0”。
(2)統(tǒng)計每個項對應(yīng)的二進制數(shù)中1的個數(shù),并將該個數(shù)大于或等于支持度閾值的項從加入到L1中,得到頻繁1項集L1。
(3)對L1中的項求交,統(tǒng)計交集二進制數(shù)1的個數(shù),將該個數(shù)大于或等于支持度閾值的項加入到L2中,得到頻繁2項集L2。
(4)按照Apriori算法中兩個k頻繁項集連接的方法對k頻繁項集的二進制數(shù)求交,得到頻繁k+1項集。
(5)不能生成更多項的頻繁集時退出,算法結(jié)束。
3 科創(chuàng)園區(qū)信息系統(tǒng)中數(shù)據(jù)挖掘
科創(chuàng)園區(qū)信息系統(tǒng)可以采用SQL Server 2005,為數(shù)據(jù)挖掘提供了便利。SQL Server 2005中的數(shù)據(jù)挖掘功能是基于其提供的功能強大而操作簡單的API。利用該API,用戶可以很容易創(chuàng)建智能應(yīng)用程序。即使開發(fā)人員不了解模型工作原理,也可以根據(jù)分析的數(shù)據(jù)調(diào)用引擎選擇最佳模型。開發(fā)人員可以使用Data Mining Extensions to SQL或DMX(和SQL相似的語言)來操作數(shù)據(jù)挖掘結(jié)果。但是,數(shù)據(jù)挖掘操作對于沒有專業(yè)知識的普通用戶來說還是比較繁瑣。所有可以采用由系統(tǒng)建立數(shù)據(jù)挖掘WEB服務(wù)的模式。采用WEB服務(wù)的數(shù)據(jù)挖掘模式,擴大了數(shù)據(jù)挖掘的使用范圍,使得用戶不用關(guān)注數(shù)據(jù)挖掘的操作,而將注意力集中到知識的獲取方面。
科創(chuàng)園區(qū)信息系統(tǒng)中數(shù)據(jù)挖掘可以按照以下步驟完成:
(1)將企業(yè)和園區(qū)的數(shù)據(jù)進行處理,包括數(shù)據(jù)的選擇(選擇相關(guān)的數(shù)據(jù))、凈化(消除噪音、數(shù)據(jù))、推測(推算缺失數(shù)據(jù))、轉(zhuǎn)換(離散值數(shù)據(jù)與連續(xù)值數(shù)據(jù)之間的相互轉(zhuǎn)換,數(shù)據(jù)值的分組分類,數(shù)據(jù)項之間的計算組合等)、數(shù)據(jù)縮減(減少數(shù)據(jù)量)。生成數(shù)據(jù)倉庫時。
(2)實現(xiàn)改進Apriori算法,并將算法添加到SQL Server 2005中,進行數(shù)據(jù)挖掘。
(3)創(chuàng)建數(shù)據(jù)挖掘WEB服務(wù),提供給授權(quán)用戶使用。
(4)分析數(shù)據(jù),得到可能型號層知識的模式模型,分析模型,得到知識,支持決策。
4 結(jié)束語
在信息社會中,數(shù)據(jù)挖掘在科創(chuàng)園區(qū)中的決策支持系統(tǒng)用有著重要的地位。如何利用關(guān)聯(lián)規(guī)則中的經(jīng)典Apriori算法,利用SQL Server 2005為基礎(chǔ),開發(fā)基于WEB服務(wù)的數(shù)據(jù)挖掘應(yīng)用,使得數(shù)據(jù)挖掘更加簡便合理。為智能化管理提供技術(shù)支持。
參考文獻:
[1]林郎碟,王燦輝.Apriori算法在圖書推薦服務(wù)中的應(yīng)用與研究[J].計算機技術(shù)與發(fā)展,2011,21(5):22-24.
[2]戴小廷.典型Apriori改進算法的分析與比較[J].微型計算機信息,2010,26(3):159-161.
[3]黃鶴.關(guān)聯(lián)規(guī)則算法綜述[J].軟件導(dǎo)刊,2009,8(3):56-58.
[4]康敏旸,張安.改進的Apriori數(shù)據(jù)挖掘算法的應(yīng)用[J].火力與指揮控制,2009,4(10):111-114.
[5]HanJiawei,KamberM.數(shù)據(jù)挖掘:概念與技術(shù)[M].北京:機械工業(yè)出版社,2008.
[6]陳則芝,李冬梅.數(shù)據(jù)挖掘關(guān)聯(lián)規(guī)則Apriori算法的優(yōu)化[J].山西大同大學(xué)學(xué)報(自然科學(xué)版),2008,24(4):35-37.
[7]趙春玲,寧紅云.Apriori算法的改進及其在物流信息挖掘中的應(yīng)用[J].天津理工大學(xué)學(xué)報,2007,23(1):30-33.
作者簡介:汪承焱(1974-),男,安徽太湖人,講師,研究方向:計算機應(yīng)用、網(wǎng)絡(luò)。