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

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

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

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

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

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

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

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

圖6 Apriori算法運行時間比較Fig.6 Comparison in Apriori algorithm run time
從以上對比數據可以看出,在將嵌入式數據挖掘[9]應用到銀行卡業務數據的挖掘當中后,對于兩種不同的算法,其效率的提高都是顯而易見的,從圖形中可以看出,不管是CMP還是Apriori,其效率上都有2~3倍的提高。從應用實例中,還可以看出,隨著業務數據量的不斷加大,嵌入式數據挖掘能更進一步的節省時間。整體說來,嵌入式數據挖掘模型是非常有效的,同時把它應用于銀行卡業務數據的挖掘中也是切實可行的。
嵌入式數據挖掘模型使挖掘算法更加簡單易用、方便,它將成為第四代數據挖掘系統的一個重要發展方向之一,也是數據倉庫系統,商業智能平臺的一個重要發展方向。把新的嵌入式數據挖掘技術應用到銀行卡業務中,一方面可以驗證嵌入式數據挖掘技術的優越性,推動數據挖掘技術的發展;另一方面,為商務智能應用軟件升級做出貢獻,這是一個極具吸引力的課題,具有十分重要的社會效益和經濟價值。
[1]HAN Jia-wei,Kamber M.數據挖掘概念與技術 [M].北京:機械工業出版社,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]陳京民.數據倉庫與數據挖掘技術[M].北京:電子工業出版社,2002.
[5]胡錕.數據挖掘技術在銀行信用卡業務中的應用研究[D].杭州:浙江大學,2002.
[6]何俊,溫家明.數據挖掘及其在銀行業的應用[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標準的互感器數據傳輸研究[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]吳記群,李雙科.嵌入式數字音頻系統在車載導航系統中的應用研究[J].工業儀表與自動化裝置,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.