況莉莉
(淮北職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)技術(shù)系,安徽淮北 235000)
·計(jì)算機(jī)研究·
數(shù)據(jù)挖掘中數(shù)據(jù)預(yù)處理在圖書借閱中的應(yīng)用
況莉莉
(淮北職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)技術(shù)系,安徽淮北 235000)
數(shù)據(jù)預(yù)處理是數(shù)據(jù)挖掘過程中前期的數(shù)據(jù)準(zhǔn)備階段,預(yù)處理后的數(shù)據(jù)質(zhì)量直接影響到后期的挖掘結(jié)果和效率。通過對高校圖書館讀者借閱數(shù)據(jù)的預(yù)處理,研究分析了幾種常用的預(yù)處理技術(shù),為進(jìn)一步的圖書借閱數(shù)據(jù)挖掘奠定了基礎(chǔ)。
數(shù)據(jù)挖掘;數(shù)據(jù)預(yù)處理;圖書借閱
數(shù)據(jù)挖掘(Data Mining)就是從大量的、隨機(jī)的、模糊的數(shù)據(jù)中發(fā)現(xiàn)潛在的、有用的信息和知識的過程?,F(xiàn)實(shí)世界的數(shù)據(jù)庫中數(shù)據(jù)量很大,常達(dá)數(shù)千兆,這就不可避免地包含數(shù)據(jù)冗余、數(shù)據(jù)分散、數(shù)據(jù)不一致等問題。在這樣的數(shù)據(jù)中進(jìn)行挖掘必然會影響挖掘的效率。高質(zhì)量的決策依賴于高質(zhì)量的數(shù)據(jù)[1],因此,數(shù)據(jù)預(yù)處理是數(shù)據(jù)挖掘前最重要的、必不可少的一個(gè)步驟。預(yù)處理后的數(shù)據(jù)質(zhì)量能夠得到很大提高,從而有助于提高其后的數(shù)據(jù)挖掘的精度和性能。本文將對數(shù)據(jù)預(yù)處理技術(shù)在高校圖書館圖書借閱數(shù)據(jù)中的應(yīng)用進(jìn)行研究。
數(shù)據(jù)預(yù)處理簡單的講就是消除“臟”的數(shù)據(jù)(即包含噪音、不完整、不一致的數(shù)據(jù)),從而得到數(shù)據(jù)挖掘所需的干凈的、簡潔的、準(zhǔn)確的數(shù)據(jù)。它主要包括數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)歸約等幾個(gè)部分。這幾種數(shù)據(jù)預(yù)處理方法不是相互獨(dú)立的,而是相互關(guān)聯(lián)的,如對數(shù)據(jù)冗余的處理中既有數(shù)據(jù)清理又有數(shù)據(jù)歸約。
1.1 數(shù)據(jù)清理
數(shù)據(jù)清理(data cleaning)是指消除數(shù)據(jù)中所存在的噪聲、填充遺漏值、識別孤立點(diǎn)以及糾正數(shù)據(jù)不一致等操作。
1.1.1 噪音數(shù)據(jù)的處理
噪聲是指數(shù)據(jù)中存在的錯(cuò)誤或異常的數(shù)據(jù)。針對噪聲數(shù)據(jù)的處理通常采用以下方法:
(1)分箱法。將數(shù)據(jù)排序后平均放入幾個(gè)箱中,再使用平滑規(guī)則對每個(gè)箱子里的數(shù)據(jù)進(jìn)行平均值、中值或者邊界值轉(zhuǎn)換等操作。
(2)回歸法。利用回歸分析方法獲得擬合函數(shù),再利用擬合函數(shù)對數(shù)據(jù)進(jìn)行平滑,除去數(shù)據(jù)中的噪聲。
(3)聚類法。利用聚類分析方法識別孤立點(diǎn),即相似或相鄰近的數(shù)據(jù)聚合在一起形成了各個(gè)聚類集合,而在這些聚類集合之外的數(shù)據(jù),就是孤立點(diǎn)。
(4)人機(jī)結(jié)合法。利用人與計(jì)算機(jī)相結(jié)合的方法,比如人工設(shè)置閾值,幫助計(jì)算機(jī)識別孤立點(diǎn)。
1.1.2 遺漏值的處理
數(shù)據(jù)庫某些屬性值可能存在遺漏,對含有遺漏值比例較小的數(shù)據(jù)庫,可以直接刪除這些記錄。然而當(dāng)遺漏值較多時(shí),如果采用直接刪除法將大大減少數(shù)據(jù)量,從而導(dǎo)致錯(cuò)誤的挖掘結(jié)果。因此,遺漏值處理是數(shù)據(jù)清理中一項(xiàng)重要工作。
針對遺漏值的處理通常采用以下方法:
(1)刪除。若一條記錄中有多個(gè)屬性值被遺漏時(shí),可以采用此方法。但當(dāng)每個(gè)屬性遺漏值的記錄比例都很高時(shí),這種方法是不可行的。
(2)填充。對于記錄中各種屬性值遺漏情況,可采用不同的方法。常用的填充方法有:人工填充、默認(rèn)值填充、平均值填充、同類別均值填充和最可能的值填充。
1.2 數(shù)據(jù)集成
在數(shù)據(jù)集成時(shí),通常需要考慮三個(gè)問題:
(1)“模式集成”問題[1],是指如何使來自多個(gè)數(shù)據(jù)源的實(shí)體相匹配,即實(shí)體識別問題。例如,如何確定圖書借閱表中的“R_NONUME”與讀者類型表中的“R_NO”表示的是同一實(shí)體,即讀者類型編號。解決這個(gè)問題,通常使用數(shù)據(jù)庫中的元數(shù)據(jù)—關(guān)于數(shù)據(jù)的數(shù)據(jù)。
(2)“冗余”問題[1],這是數(shù)據(jù)集成的另一個(gè)重要問題。若一個(gè)屬性可以從其它屬性中推導(dǎo)出來,那么這個(gè)屬性就是冗余的。例如,在讀書信息表中“BIRTHDAY”(出生年月)和“AGE”(年齡)可以相互導(dǎo)出,所以有一個(gè)屬性就是冗余的,可刪除。
(3)“數(shù)據(jù)值沖突的檢測與處理”問題[1]。比如,對于同一實(shí)體,來自不同數(shù)據(jù)源的屬性值可能不同,這主要是由于數(shù)據(jù)表示、數(shù)據(jù)單位或編碼不一致造成的。例如,表中的日期格式可能是“YY-MM-DD”、“DD-MM-YY”或“MM-DD-YYYY”等。為了消除沖突,可以統(tǒng)一格式,從而消除語義上的差異。
1.3 數(shù)據(jù)轉(zhuǎn)換
數(shù)據(jù)轉(zhuǎn)換(data transformation)[2]就是對數(shù)據(jù)進(jìn)行規(guī)格化操作。首先找到數(shù)據(jù)的特征表示,然后將數(shù)據(jù)轉(zhuǎn)換或歸并成一個(gè)適合數(shù)據(jù)挖掘的形式。數(shù)據(jù)轉(zhuǎn)換通常包含以下處理方法:
(1)平滑處理。即去除數(shù)據(jù)中的噪聲,主要技術(shù)方法有:分箱法、聚類法和回歸法(見2.1.1)。
按照十八大報(bào)告健全反腐敗法律體系的要求,一方面應(yīng)清理已經(jīng)過時(shí)、重復(fù)、操作性弱等的反腐敗法律法規(guī)規(guī)定,另一方面應(yīng)該重點(diǎn)制定制定出臺如下若干關(guān)鍵性反腐敗單行法規(guī)與配套法規(guī)。
(2)聚集處理。對數(shù)據(jù)進(jìn)行匯總或聚合操作。例如,表2中“已借圖書數(shù)”就可以通過聚合、匯總操作獲得。通常這一操作用來構(gòu)造數(shù)據(jù)方或?qū)?shù)據(jù)進(jìn)行多粒度的分析。
(3)數(shù)據(jù)泛化處理。所謂泛化處理就是使用概念分層,用更抽象(更高層次)的概念來取代低層次的原始數(shù)據(jù)。例如,“單位”屬性,就可以泛化到更高層次的概念,如所屬系部。同樣對于數(shù)值型的屬性,如“年齡”屬性,就可以映射到更高層次概念,如:年輕、中年和老年。
(4)規(guī)格化處理。格式化就是將有關(guān)屬性數(shù)據(jù)按比例縮放,使之投射到一個(gè)特定小范圍之中[1]。如將“年齡”屬性值映射到-1.0到+1.0或0.0到1.0范圍內(nèi)。
(5)屬性構(gòu)造處理。根據(jù)已有的屬性構(gòu)造新的屬性并添加到屬性集中,以幫助挖掘過程。例如,“專業(yè)”屬性就是用“單位”屬性取子串構(gòu)造的新屬性。
1.4 數(shù)據(jù)歸約
數(shù)據(jù)歸約(data reduction)[5]用來得到數(shù)據(jù)集的歸約表示,它比原數(shù)據(jù)集小得多,卻盡可能地保留了原數(shù)據(jù)的完整性。數(shù)據(jù)歸約技術(shù)可大大地提高數(shù)據(jù)挖掘的效率,并且可以得到與在源數(shù)據(jù)上挖掘的結(jié)果相同或幾乎相同的結(jié)果。數(shù)據(jù)歸約的方法主要有數(shù)據(jù)方聚集、維歸約、數(shù)據(jù)壓縮、離散化和概念層次樹生成。本文進(jìn)行數(shù)據(jù)歸約時(shí)主要采用的是離散化和概念層次樹生成技術(shù)。
離散化技術(shù)可以通過將連續(xù)取值的屬性域值范圍劃分為若干區(qū)間(離散化),從而減少屬性的取值個(gè)數(shù)。概念層次樹可以通過數(shù)據(jù)泛化,利用高層次概念替代低層次概念(如年齡的數(shù)值),從而壓縮原來的數(shù)據(jù)集[1]。在數(shù)據(jù)泛化過程中,雖然一些細(xì)節(jié)消失了,但這樣處理后所獲得的泛化數(shù)據(jù)會更易于理解、更有意義,并且使數(shù)據(jù)挖掘效率更高。
本文數(shù)據(jù)源來自淮北職業(yè)技術(shù)學(xué)院圖書流通系統(tǒng)數(shù)據(jù)庫從2008年1月1日到2008年12月30日共36802條的圖書借閱數(shù)據(jù),相關(guān)的有四張表:圖書信息表:Books(BID B-Name,B-Barcoad,Author,Press,Pub-Date,Price,Tctal-Number,col-Area,Introduction);圖書借閱表:Readers(Lib-No,lend-Date,B-ID,B-Name,R-Nonume,B-Total,Handler,lend-Rule,lend-Approach);讀書信息表:Booklend(Lib-No,R-Name、R-Sex,Birthday,Age,Unit,T-No,Tel);讀者類型表:R-Type(R-No,R-Type,Lend-Number, Lend-Period)。下面將對數(shù)據(jù)源進(jìn)行數(shù)據(jù)集成、數(shù)據(jù)清理、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)歸約等預(yù)處理,為以后的針對讀者特征與所借圖書之間的關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘做好準(zhǔn)備。
2.1 數(shù)據(jù)集成
由于圖書借閱數(shù)據(jù)分散在四張數(shù)據(jù)表里,所以需要整合這些數(shù)據(jù)表中各字段。
從Books、Readers、Book_Lend和R_Types中提取所需的數(shù)據(jù)字段構(gòu)成Reader_Transaction(讀者借閱事務(wù)表),讀者借閱事務(wù)表:Reader-Transation(Lib-No,R-sex,Grade,Unit,B-ID,R-No)。其中Book_Lend表中的LIB_NO(借書證號)與Readers表中的LIB_NO(借書證號)進(jìn)行外鍵關(guān)聯(lián);Book_Lend表中的B_ID(索書號)與Books表中的B_ID(索書號)進(jìn)行外鍵關(guān)聯(lián);Book_Lend表中R_NO(類型編號)與R_Types表中的R_NO(類型編號)進(jìn)行外鍵關(guān)聯(lián)。
2.2 數(shù)據(jù)清理
本文采用SQL Server 2005的SSIS中提供的數(shù)據(jù)清理功能。比如,有一些記錄借書證號或索書號字段值遺漏,這些是錯(cuò)誤信息,應(yīng)將其刪除。針對這一問題,首先,編寫用于刪除的SQL腳本命令;然后,選擇SSIS包中的EXECUTE SQL TASK對象,執(zhí)行包含在*.sql文件中的Transact_SQL查詢,這樣就可以實(shí)現(xiàn)數(shù)據(jù)的清理。
數(shù)據(jù)清理還包括數(shù)據(jù)的一致性確認(rèn)。手工進(jìn)行數(shù)據(jù)一致性確認(rèn)的時(shí)間和費(fèi)用開銷都很大,只適用于小規(guī)模的數(shù)據(jù)集,對于大規(guī)模的數(shù)據(jù)集通常需要進(jìn)行自動數(shù)據(jù)清理。自動數(shù)據(jù)清理主要包括三個(gè)步驟:定義錯(cuò)誤類型;識別錯(cuò)誤實(shí)例;糾正發(fā)現(xiàn)的錯(cuò)誤。比如,在圖書借閱信息表中索書號中含有“_”、“:”、“·”以及空格等不利于數(shù)據(jù)的處理,所以應(yīng)該統(tǒng)一將數(shù)據(jù)用“·”做為分隔符。
數(shù)據(jù)清理后,讀者借閱事務(wù)表中還有30560條記錄。
2.3 數(shù)據(jù)篩選
數(shù)據(jù)篩選也稱為數(shù)據(jù)取樣[1][4],是指在對數(shù)據(jù)內(nèi)容和挖掘任務(wù)理解的基礎(chǔ)上,發(fā)現(xiàn)數(shù)據(jù)特征,在盡可能保持?jǐn)?shù)據(jù)原貌的前提下,壓縮數(shù)據(jù)規(guī)模,最大限度地精簡數(shù)據(jù)量。通過數(shù)據(jù)篩選可以使得數(shù)據(jù)的規(guī)律性和潛在特性更加明顯。
由于讀者的圖書借閱信息與所學(xué)的專業(yè)有很大的聯(lián)系,因此還需要對讀者的專業(yè)加以考慮。本文只選取計(jì)算機(jī)系學(xué)生7426條圖書借閱記錄進(jìn)行挖掘。計(jì)算機(jī)系圖書借閱歷史表1主要包括借書證號、性別、年級、專業(yè)(通過“單位”屬性構(gòu)造的新屬性)和索書號等內(nèi)容,如圖1所示。

圖1 計(jì)算機(jī)系圖書借閱歷史表1
2.4 數(shù)據(jù)轉(zhuǎn)換
基于以后使用的Microsoft關(guān)聯(lián)規(guī)則算法,在這里需要將計(jì)算機(jī)系讀者借閱表轉(zhuǎn)換成事例表和嵌套表。事例表是指存放一次事務(wù)的標(biāo)識信息表。嵌套表是事例表中事務(wù)的具體細(xì)節(jié)內(nèi)容表。下面將建立一個(gè)事例表—計(jì)算機(jī)系讀者標(biāo)識表和一個(gè)嵌套表—計(jì)算機(jī)系圖書借閱歷史表,其結(jié)構(gòu)如表1所示。

表1 計(jì)算機(jī)系讀者標(biāo)識表和圖書借閱歷史表結(jié)構(gòu)
計(jì)算機(jī)系讀者借閱標(biāo)識表中“讀者標(biāo)識號”設(shè)置為標(biāo)識字段,這樣就可以通過“讀者標(biāo)識號”來區(qū)分不同讀者的單次借閱行為。因?yàn)樵诿看谓栝唸D書時(shí)會先在計(jì)算機(jī)系讀者借閱標(biāo)識表中插入自增標(biāo)識號,當(dāng)計(jì)算機(jī)系讀者借閱歷史表增加新記錄時(shí)則使用剛插入的自增標(biāo)識號作為“讀者標(biāo)識號”,這樣兩張表便形成一對多的關(guān)系。
為了實(shí)現(xiàn)計(jì)算機(jī)系讀者借閱標(biāo)識表,可通過執(zhí)行以下SQL腳本命令:

數(shù)據(jù)轉(zhuǎn)換后,得到所需的計(jì)算機(jī)系圖書借閱歷史表2,如圖2所示。

圖2 計(jì)算機(jī)系圖書借閱歷史表2
2.5 數(shù)據(jù)歸約
根據(jù)Microsoft關(guān)聯(lián)規(guī)則算法的需要,在進(jìn)行關(guān)聯(lián)規(guī)則挖掘前,應(yīng)先將數(shù)據(jù)離散化,如表2所示。

表2 讀者分類參數(shù)表
離散化的計(jì)算機(jī)系圖書借閱歷史表,如圖3所示。

圖3 計(jì)算機(jī)系圖書借閱歷史表
數(shù)據(jù)歸約前數(shù)據(jù)庫的大小為98M,壓縮后數(shù)據(jù)庫的大小為20.6M,大大節(jié)省了數(shù)據(jù)占用的內(nèi)存資源。至此,就完成了對淮北職業(yè)技術(shù)學(xué)院圖書館圖書借閱數(shù)據(jù)的預(yù)處理工作,以后就可以對得到的計(jì)算機(jī)系圖書借閱歷史表進(jìn)行數(shù)據(jù)挖掘。
3 結(jié)束語
目前,數(shù)據(jù)挖掘的研究大多集中在算法的開發(fā)和改進(jìn),而對數(shù)據(jù)預(yù)處理的探討不多。實(shí)際上,數(shù)據(jù)預(yù)處理占整個(gè)數(shù)據(jù)挖掘過程的70%以上,預(yù)處理后的數(shù)據(jù)質(zhì)量直接影響數(shù)據(jù)挖掘的后期工作。本文將數(shù)據(jù)預(yù)處理技術(shù)應(yīng)用到高校圖書館圖書流通系統(tǒng),節(jié)省了圖書流通數(shù)據(jù)庫的占用空間,并對其后的關(guān)聯(lián)規(guī)則挖掘做好了準(zhǔn)備,從而能更好地為讀者提供個(gè)性化服務(wù)。
[1]JiaweiHan,MichelineKamber.數(shù)據(jù)挖掘-概念與技術(shù)[M].范明,孟小峰,等,譯.北京:機(jī)械工業(yè)出版社,2005(11):70-93.
[2]蘇成.數(shù)據(jù)挖掘中不可忽視的環(huán)節(jié)—數(shù)據(jù)預(yù)處理[J].華南金融電腦,2006(1):64-66.
[3]鮑靜,范生萬.基于數(shù)據(jù)挖掘的圖書數(shù)據(jù)預(yù)處理[J].大學(xué)圖書情報(bào)學(xué)刊,2008,26(2):31-33.
[4]彭高輝,王志良.數(shù)據(jù)挖掘中的數(shù)據(jù)預(yù)處理方法[J].華北水利水電學(xué)院學(xué)報(bào),2008,29(6):61-63.
[5]劉越江,黃今慧.數(shù)據(jù)挖掘中的數(shù)據(jù)預(yù)處理技術(shù)[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2003,13(5):170-171.
TP311
A
1671-8275(2011)03-0117-03
2010-12-06
本文系淮北職業(yè)技術(shù)學(xué)院課題“高校圖書館數(shù)字化建設(shè)”(項(xiàng)目編號:2001-A-4)階段性研究成果。
況莉莉(1976-),女,安徽淮北人,淮北職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系講師,碩士研究生。研究方向:數(shù)據(jù)挖掘。
孟云玲