廖竹銘
(中國人民銀行 湘潭市中心支行,湖南 湘潭 411000)
數(shù)據(jù)挖掘就是從存放在數(shù)據(jù)庫、數(shù)據(jù)倉庫或者其他信息庫中的大量數(shù)據(jù)中挖掘有趣知識的過程[1]。它是在多種數(shù)據(jù)存儲方式的基礎上,借助有效的分析方法和工具,從傳統(tǒng)的事務型數(shù)據(jù)庫功能(增加、刪除、修改、查詢、統(tǒng)計等)背后,獲得更深層次的信息。在數(shù)據(jù)挖掘技術的不斷發(fā)展過程中,如何將數(shù)據(jù)挖掘 (DM)系統(tǒng)與數(shù)據(jù)庫 (DB)系統(tǒng)和數(shù)據(jù)倉庫(DW)系統(tǒng)緊密耦合[2](所謂耦合,即是數(shù)據(jù)挖掘系統(tǒng)和數(shù)據(jù)庫或者數(shù)據(jù)倉庫的集成程度)在一起是始終困擾著人們設計一個好的數(shù)據(jù)挖掘工具的最大問題。從最初的不耦合到松散耦合再到半緊密耦合,人們一直尋求著如何將DM系統(tǒng)平滑的集成到DB/DW中(即緊密藕合)[3]。目前眾多數(shù)據(jù)挖掘系統(tǒng)、數(shù)據(jù)挖掘工具中,大部分都是實現(xiàn)一個與數(shù)據(jù)倉庫系統(tǒng)獨立開來的數(shù)據(jù)挖掘系統(tǒng),這樣便使得數(shù)據(jù)挖掘過程中要花費大量的時間進行數(shù)據(jù)加載轉換,算法運行時間長、效率低,特別是面對當前數(shù)據(jù)倉庫中保存的海量數(shù)據(jù)時,更是效率低下。
文中在已有的數(shù)據(jù)挖掘系統(tǒng)體系基礎上,應用數(shù)據(jù)挖掘系統(tǒng)與數(shù)據(jù)倉庫系統(tǒng)緊密耦合的策略,提出了嵌入式數(shù)據(jù)挖模型,把數(shù)據(jù)挖掘系統(tǒng)和整個數(shù)據(jù)挖掘流程完全控制在數(shù)據(jù)倉庫系統(tǒng)中,從而大大提高數(shù)據(jù)挖掘的效率。并且針對市面上的一些用于銀行卡業(yè)務的數(shù)據(jù)挖掘系統(tǒng)過于繁瑣,但是效率不高、針對性不強等問題,本文提出將嵌入式數(shù)據(jù)挖掘應用于銀行卡業(yè)務中,使得應用針對性更強,在節(jié)約了開發(fā)成本的同時也提高了挖掘效率。
嵌入式數(shù)據(jù)挖掘模型主要是采用多種數(shù)據(jù)庫訪問技術[4]把算法嵌入到數(shù)據(jù)挖掘系統(tǒng)中。該模型支持按照一定的標準規(guī)范來開發(fā)挖掘算法,并把算法發(fā)布嵌入到多種數(shù)據(jù)庫、數(shù)據(jù)倉庫當中,將數(shù)據(jù)挖掘過程完全控制在數(shù)據(jù)庫、數(shù)據(jù)倉庫系統(tǒng)中,將數(shù)據(jù)挖掘功能轉換成大家熟悉的、通用的、靈活的、可二次開發(fā)的數(shù)據(jù)倉庫功能。
該系統(tǒng)框架主要由數(shù)據(jù)層、算法嵌入層、數(shù)據(jù)挖掘層以及用戶層,系統(tǒng)模型如圖1所示。

圖1 嵌入式數(shù)據(jù)挖掘模型Fig.1 Embedded data mining model
數(shù)據(jù)層主要包括數(shù)據(jù)庫或數(shù)據(jù)倉庫中的海量業(yè)務數(shù)據(jù)以及元數(shù)據(jù),它是數(shù)據(jù)挖掘過程中最基礎的部分。
在該模型中,用戶層包括算法發(fā)布人員、數(shù)據(jù)分析人員、數(shù)據(jù)庫管理人員,即使得數(shù)據(jù)挖掘面向更多的用戶,擺脫了以前數(shù)據(jù)挖掘對專業(yè)人士的過多依賴性。
整個嵌入流程可以分為兩個過程:算法發(fā)布和算法調用。算法發(fā)布過程主要是把算法發(fā)布到特定的數(shù)據(jù)倉庫系統(tǒng)中,為數(shù)據(jù)挖掘系統(tǒng)在數(shù)據(jù)倉庫系統(tǒng)中的執(zhí)行奠下基礎;算法調用過程則是在數(shù)據(jù)倉庫系統(tǒng)中進行的,主要通過數(shù)據(jù)倉庫系統(tǒng)中的存儲過程,讓用戶傳入相關參數(shù),然后調用第一步發(fā)布的算法對用戶指定的數(shù)據(jù)進行挖掘。
1)算法發(fā)布
算法發(fā)布過程首先就是把算法封裝成DLL文件,同時把調用算法的接口編譯成EXE文件,然后把算法DLL文件和相應的EXE文件發(fā)布到數(shù)據(jù)庫或數(shù)據(jù)倉庫中,最后在相應的數(shù)據(jù)庫中創(chuàng)建存儲過程(簡稱SP),流程如圖2所示。

圖2 算法發(fā)布過程Fig.2 Process of algorithm publishing
2)算法調用
在調用過程中,由于不同數(shù)據(jù)倉庫系統(tǒng)的存儲過程的功能大小不同,不同數(shù)據(jù)倉庫系統(tǒng)對EXE文件,DLL文件的調用方式都有很大的區(qū)別,所以具體的實現(xiàn)細節(jié)在不同數(shù)據(jù)倉庫系統(tǒng)下還是有很大的區(qū)別的。在該模型中,數(shù)據(jù)倉庫終端調用存儲過程(SP),把算法參數(shù)和用戶參數(shù)傳進存儲過程,然后讓存儲過程調用EXE文件,EXE文件主要是處理存儲過程傳入的參數(shù),然后調用DLL算法生成挖掘結果。具體流程如圖3所示。

圖3 算法調用過程Fig.3 Process of algorithm called
1)預處理模塊
數(shù)據(jù)預處理在數(shù)據(jù)倉庫(或數(shù)據(jù)庫)中進行,主要有兩個途徑可以實現(xiàn):一種是直接利用數(shù)據(jù)倉庫管理系統(tǒng)(SQL等)來對數(shù)據(jù)倉庫的數(shù)據(jù)表進行加工處理,還有一種就是像挖掘算法一樣,用高級語言實現(xiàn),然后嵌入到數(shù)據(jù)倉庫系統(tǒng)中,用戶就可以像一般的存儲過程一樣調用相應的預處理方法來對數(shù)據(jù)進行預處理。這兩種預處理可以相互循環(huán)使用,直到加工滿意的數(shù)據(jù)為止。
2)結果處理模塊
結果處理流程其實和算法調用過程是同時進行的,在EXE文件中通過數(shù)據(jù)庫訪問技術獲取數(shù)據(jù),在EXE中調用DLL算法產(chǎn)生文本結果返回到EXE文件中。這時候,這個文本結果可以經(jīng)過加工處理寫回數(shù)據(jù)倉庫,同時也可以展示給用戶。具體如圖4所示。分析處理后,生成結果表查詢結果。

圖4 結果處理流程Fig.4 Flow of results processes
目前的數(shù)據(jù)挖掘技術在銀行卡業(yè)務上的應用大多存在3個方面的局限:l)效率不高:面對目前的海量數(shù)據(jù)挖掘時,顯得無能為力;2)專業(yè)化程度較低:不能很好的專門針對銀行卡業(yè)務進行挖掘;3)開銷較大:需要開發(fā)專門的系統(tǒng)來進行數(shù)據(jù)挖掘,而且大多數(shù)系統(tǒng)不能進行二次開發(fā)[5]。
嵌入式數(shù)據(jù)挖掘顯然很好的彌補了普通數(shù)據(jù)挖掘技術所帶來的缺陷。首先,嵌入式數(shù)據(jù)挖據(jù)是把算法直接嵌入到數(shù)據(jù)倉庫下,從而減少數(shù)據(jù)轉換的時間,充分利用整個數(shù)據(jù)倉庫的處理能力,大大提高數(shù)據(jù)挖掘的效率;其次,它實現(xiàn)了算法的組件化管理,針對不同的行業(yè)開發(fā)不同的算法組件,對銀行卡業(yè)務進行數(shù)據(jù)挖掘的主要目的是對客戶進行分類,從中發(fā)現(xiàn)對銀行貢獻度較大的優(yōu)質客戶,嵌入式數(shù)據(jù)挖掘可以開發(fā)單獨的算法專門滿足客戶分類的需要,從而具備了很好的專業(yè)性。最后,嵌入式數(shù)據(jù)挖掘系統(tǒng)是個種很靈活的數(shù)據(jù)挖掘系統(tǒng),客戶可以在系統(tǒng)中不斷添加新的算法、改進算法,同時進行二次開發(fā),從而省去了重新開發(fā)大型系統(tǒng)的開支,這點對于當今企業(yè)來說顯得尤為重要。
為了證實嵌入式數(shù)據(jù)挖掘模型的有效性,我們與中國銀行湖南分行進行了合作,采用其信用卡業(yè)務數(shù)據(jù)分別對嵌入式數(shù)據(jù)挖掘模型系統(tǒng)和非嵌入式數(shù)據(jù)挖掘模型系進行運行對比,測試是在 PC 機(P4 2.5G CPU,HY DDR512M RAM)上進行的,選取CMP和Apriori兩種數(shù)據(jù)挖掘算法。選擇嵌入的數(shù)據(jù)庫為SQL Server 2005實驗錢據(jù)從10 000條記錄到160 000條記錄,以測試上述兩種算法在大小不同數(shù)據(jù)集上采用嵌入式數(shù)據(jù)挖掘和非嵌入式數(shù)據(jù)挖掘所表現(xiàn)出的性能差異。嵌入式數(shù)據(jù)挖掘在銀行卡業(yè)務中的應用主要包括關聯(lián)規(guī)則挖掘和分類挖掘[6]。
1)關聯(lián)規(guī)則挖掘
綜合持卡人用卡行為和基本情況進行分析,導出具有一定支持度和可信度的用卡習慣的人群組成之間的關聯(lián)規(guī)則。在算法選擇方面,選擇了由wang H[7]等提出的一種新型高效決策數(shù)算法:CMP算法。在實例中,當實例數(shù)據(jù)呈倍數(shù)增長時,數(shù)據(jù)挖掘所需時間對比如表1所示。

表1 CMP算法運行時間對比Tab.1 Comparison in CMP algorithm run time
算法運行效率曲線如圖5所示。

圖5 CMP算法運行時間比較Fig.5 Comparison in CMP algorithm run time
2)分類挖掘
根據(jù)持卡人的使用情況和交易方式,對持卡人群進行分類,主要分為優(yōu)質客戶、潛在優(yōu)質客戶、流失客戶和潛在流失客戶等,這也是當前比較流行的用法。在分類挖掘過程中,使用關聯(lián)規(guī)則中的Apriori算法對實例進行了數(shù)據(jù)的挖掘[8],算法時間對比如表2所示。

表2 Apriori算法運行時間對比Tab.2 Comparison in Apriori algorithm run time
算法運行效率曲線如圖6所示。

圖6 Apriori算法運行時間比較Fig.6 Comparison in Apriori algorithm run time
從以上對比數(shù)據(jù)可以看出,在將嵌入式數(shù)據(jù)挖掘[9]應用到銀行卡業(yè)務數(shù)據(jù)的挖掘當中后,對于兩種不同的算法,其效率的提高都是顯而易見的,從圖形中可以看出,不管是CMP還是Apriori,其效率上都有2~3倍的提高。從應用實例中,還可以看出,隨著業(yè)務數(shù)據(jù)量的不斷加大,嵌入式數(shù)據(jù)挖掘能更進一步的節(jié)省時間。整體說來,嵌入式數(shù)據(jù)挖掘模型是非常有效的,同時把它應用于銀行卡業(yè)務數(shù)據(jù)的挖掘中也是切實可行的。
嵌入式數(shù)據(jù)挖掘模型使挖掘算法更加簡單易用、方便,它將成為第四代數(shù)據(jù)挖掘系統(tǒng)的一個重要發(fā)展方向之一,也是數(shù)據(jù)倉庫系統(tǒng),商業(yè)智能平臺的一個重要發(fā)展方向。把新的嵌入式數(shù)據(jù)挖掘技術應用到銀行卡業(yè)務中,一方面可以驗證嵌入式數(shù)據(jù)挖掘技術的優(yōu)越性,推動數(shù)據(jù)挖掘技術的發(fā)展;另一方面,為商務智能應用軟件升級做出貢獻,這是一個極具吸引力的課題,具有十分重要的社會效益和經(jīng)濟價值。
[1]HAN Jia-wei,Kamber M.數(shù)據(jù)挖掘概念與技術 [M].北京:機械工業(yè)出版社,2001.
[2]Meo R,Psaila G,Ceri S.A Tightly-Coupled Architecture for Data Mining [C]//Proceedings of the 14th International Conference on Data Engineering, Budapest,1998:316-323.
[3]Berson,Smith S,Thearling K.Building Data Mining Application for CRM[M].NewYork:McGraw-Hill Companies,2000.
[4]陳京民.數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術[M].北京:電子工業(yè)出版社,2002.
[5]胡錕.數(shù)據(jù)挖掘技術在銀行信用卡業(yè)務中的應用研究[D].杭州:浙江大學,2002.
[6]何俊,溫家明.數(shù)據(jù)挖掘及其在銀行業(yè)的應用[J].華南金融電腦,2002,10(6):51-55.HE Jun,WEN Jia-ming.Data mining and its applications in the banking industry[J].Financial Computer of Huanan,2002,10(6):51-55.
[7]Wang H,Zaniolo C.CMP:a Fast Decision Tree Classifier Using Multivariate predictions[C]//Proceedings of the 16th International Conference on Data Engineering,2000:449-460.
[8]越云,王永強,劉曉飛.基于IEC61850標準的互感器數(shù)據(jù)傳輸研究[J].陜西電力,2012(2):43-46.YUE Yun,WANG Yong-qiang,LIU Xiao-fei.Research on transformers data transmission based on IEC61850[J].Shaanxi Electric Power,2012(2):43-46.
[9]吳記群,李雙科.嵌入式數(shù)字音頻系統(tǒng)在車載導航系統(tǒng)中的應用研究[J].工業(yè)儀表與自動化裝置,2012(2):105-107,112.WU Ji-qun,LI Shuang-ke.Application study on embedded digital audio system applied in car navigation system[J].Industrial Instrumentation&Automation,2012(2):105-107,112.