廖竹銘
(中國(guó)人民銀行 湘潭市中心支行,湖南 湘潭 411000)
數(shù)據(jù)挖掘就是從存放在數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)或者其他信息庫(kù)中的大量數(shù)據(jù)中挖掘有趣知識(shí)的過(guò)程[1]。它是在多種數(shù)據(jù)存儲(chǔ)方式的基礎(chǔ)上,借助有效的分析方法和工具,從傳統(tǒng)的事務(wù)型數(shù)據(jù)庫(kù)功能(增加、刪除、修改、查詢(xún)、統(tǒng)計(jì)等)背后,獲得更深層次的信息。在數(shù)據(jù)挖掘技術(shù)的不斷發(fā)展過(guò)程中,如何將數(shù)據(jù)挖掘 (DM)系統(tǒng)與數(shù)據(jù)庫(kù) (DB)系統(tǒng)和數(shù)據(jù)倉(cāng)庫(kù)(DW)系統(tǒng)緊密耦合[2](所謂耦合,即是數(shù)據(jù)挖掘系統(tǒng)和數(shù)據(jù)庫(kù)或者數(shù)據(jù)倉(cāng)庫(kù)的集成程度)在一起是始終困擾著人們?cè)O(shè)計(jì)一個(gè)好的數(shù)據(jù)挖掘工具的最大問(wèn)題。從最初的不耦合到松散耦合再到半緊密耦合,人們一直尋求著如何將DM系統(tǒng)平滑的集成到DB/DW中(即緊密藕合)[3]。目前眾多數(shù)據(jù)挖掘系統(tǒng)、數(shù)據(jù)挖掘工具中,大部分都是實(shí)現(xiàn)一個(gè)與數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)獨(dú)立開(kāi)來(lái)的數(shù)據(jù)挖掘系統(tǒng),這樣便使得數(shù)據(jù)挖掘過(guò)程中要花費(fèi)大量的時(shí)間進(jìn)行數(shù)據(jù)加載轉(zhuǎn)換,算法運(yùn)行時(shí)間長(zhǎng)、效率低,特別是面對(duì)當(dāng)前數(shù)據(jù)倉(cāng)庫(kù)中保存的海量數(shù)據(jù)時(shí),更是效率低下。
文中在已有的數(shù)據(jù)挖掘系統(tǒng)體系基礎(chǔ)上,應(yīng)用數(shù)據(jù)挖掘系統(tǒng)與數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)緊密耦合的策略,提出了嵌入式數(shù)據(jù)挖模型,把數(shù)據(jù)挖掘系統(tǒng)和整個(gè)數(shù)據(jù)挖掘流程完全控制在數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中,從而大大提高數(shù)據(jù)挖掘的效率。并且針對(duì)市面上的一些用于銀行卡業(yè)務(wù)的數(shù)據(jù)挖掘系統(tǒng)過(guò)于繁瑣,但是效率不高、針對(duì)性不強(qiáng)等問(wèn)題,本文提出將嵌入式數(shù)據(jù)挖掘應(yīng)用于銀行卡業(yè)務(wù)中,使得應(yīng)用針對(duì)性更強(qiáng),在節(jié)約了開(kāi)發(fā)成本的同時(shí)也提高了挖掘效率。
嵌入式數(shù)據(jù)挖掘模型主要是采用多種數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)[4]把算法嵌入到數(shù)據(jù)挖掘系統(tǒng)中。該模型支持按照一定的標(biāo)準(zhǔn)規(guī)范來(lái)開(kāi)發(fā)挖掘算法,并把算法發(fā)布嵌入到多種數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)當(dāng)中,將數(shù)據(jù)挖掘過(guò)程完全控制在數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中,將數(shù)據(jù)挖掘功能轉(zhuǎn)換成大家熟悉的、通用的、靈活的、可二次開(kāi)發(fā)的數(shù)據(jù)倉(cāng)庫(kù)功能。
該系統(tǒng)框架主要由數(shù)據(jù)層、算法嵌入層、數(shù)據(jù)挖掘?qū)右约坝脩?hù)層,系統(tǒng)模型如圖1所示。
圖1 嵌入式數(shù)據(jù)挖掘模型Fig.1 Embedded data mining model
數(shù)據(jù)層主要包括數(shù)據(jù)庫(kù)或數(shù)據(jù)倉(cāng)庫(kù)中的海量業(yè)務(wù)數(shù)據(jù)以及元數(shù)據(jù),它是數(shù)據(jù)挖掘過(guò)程中最基礎(chǔ)的部分。
在該模型中,用戶(hù)層包括算法發(fā)布人員、數(shù)據(jù)分析人員、數(shù)據(jù)庫(kù)管理人員,即使得數(shù)據(jù)挖掘面向更多的用戶(hù),擺脫了以前數(shù)據(jù)挖掘?qū)?zhuān)業(yè)人士的過(guò)多依賴(lài)性。
整個(gè)嵌入流程可以分為兩個(gè)過(guò)程:算法發(fā)布和算法調(diào)用。算法發(fā)布過(guò)程主要是把算法發(fā)布到特定的數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中,為數(shù)據(jù)挖掘系統(tǒng)在數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中的執(zhí)行奠下基礎(chǔ);算法調(diào)用過(guò)程則是在數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中進(jìn)行的,主要通過(guò)數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中的存儲(chǔ)過(guò)程,讓用戶(hù)傳入相關(guān)參數(shù),然后調(diào)用第一步發(fā)布的算法對(duì)用戶(hù)指定的數(shù)據(jù)進(jìn)行挖掘。
1)算法發(fā)布
算法發(fā)布過(guò)程首先就是把算法封裝成DLL文件,同時(shí)把調(diào)用算法的接口編譯成EXE文件,然后把算法DLL文件和相應(yīng)的EXE文件發(fā)布到數(shù)據(jù)庫(kù)或數(shù)據(jù)倉(cāng)庫(kù)中,最后在相應(yīng)的數(shù)據(jù)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程(簡(jiǎn)稱(chēng)SP),流程如圖2所示。
圖2 算法發(fā)布過(guò)程Fig.2 Process of algorithm publishing
2)算法調(diào)用
在調(diào)用過(guò)程中,由于不同數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的存儲(chǔ)過(guò)程的功能大小不同,不同數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)對(duì)EXE文件,DLL文件的調(diào)用方式都有很大的區(qū)別,所以具體的實(shí)現(xiàn)細(xì)節(jié)在不同數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)下還是有很大的區(qū)別的。在該模型中,數(shù)據(jù)倉(cāng)庫(kù)終端調(diào)用存儲(chǔ)過(guò)程(SP),把算法參數(shù)和用戶(hù)參數(shù)傳進(jìn)存儲(chǔ)過(guò)程,然后讓存儲(chǔ)過(guò)程調(diào)用EXE文件,EXE文件主要是處理存儲(chǔ)過(guò)程傳入的參數(shù),然后調(diào)用DLL算法生成挖掘結(jié)果。具體流程如圖3所示。
圖3 算法調(diào)用過(guò)程Fig.3 Process of algorithm called
1)預(yù)處理模塊
數(shù)據(jù)預(yù)處理在數(shù)據(jù)倉(cāng)庫(kù)(或數(shù)據(jù)庫(kù))中進(jìn)行,主要有兩個(gè)途徑可以實(shí)現(xiàn):一種是直接利用數(shù)據(jù)倉(cāng)庫(kù)管理系統(tǒng)(SQL等)來(lái)對(duì)數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)表進(jìn)行加工處理,還有一種就是像挖掘算法一樣,用高級(jí)語(yǔ)言實(shí)現(xiàn),然后嵌入到數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中,用戶(hù)就可以像一般的存儲(chǔ)過(guò)程一樣調(diào)用相應(yīng)的預(yù)處理方法來(lái)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。這兩種預(yù)處理可以相互循環(huán)使用,直到加工滿(mǎn)意的數(shù)據(jù)為止。
2)結(jié)果處理模塊
結(jié)果處理流程其實(shí)和算法調(diào)用過(guò)程是同時(shí)進(jìn)行的,在EXE文件中通過(guò)數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)獲取數(shù)據(jù),在EXE中調(diào)用DLL算法產(chǎn)生文本結(jié)果返回到EXE文件中。這時(shí)候,這個(gè)文本結(jié)果可以經(jīng)過(guò)加工處理寫(xiě)回?cái)?shù)據(jù)倉(cāng)庫(kù),同時(shí)也可以展示給用戶(hù)。具體如圖4所示。分析處理后,生成結(jié)果表查詢(xún)結(jié)果。
圖4 結(jié)果處理流程Fig.4 Flow of results processes
目前的數(shù)據(jù)挖掘技術(shù)在銀行卡業(yè)務(wù)上的應(yīng)用大多存在3個(gè)方面的局限:l)效率不高:面對(duì)目前的海量數(shù)據(jù)挖掘時(shí),顯得無(wú)能為力;2)專(zhuān)業(yè)化程度較低:不能很好的專(zhuān)門(mén)針對(duì)銀行卡業(yè)務(wù)進(jìn)行挖掘;3)開(kāi)銷(xiāo)較大:需要開(kāi)發(fā)專(zhuān)門(mén)的系統(tǒng)來(lái)進(jìn)行數(shù)據(jù)挖掘,而且大多數(shù)系統(tǒng)不能進(jìn)行二次開(kāi)發(fā)[5]。
嵌入式數(shù)據(jù)挖掘顯然很好的彌補(bǔ)了普通數(shù)據(jù)挖掘技術(shù)所帶來(lái)的缺陷。首先,嵌入式數(shù)據(jù)挖據(jù)是把算法直接嵌入到數(shù)據(jù)倉(cāng)庫(kù)下,從而減少數(shù)據(jù)轉(zhuǎn)換的時(shí)間,充分利用整個(gè)數(shù)據(jù)倉(cāng)庫(kù)的處理能力,大大提高數(shù)據(jù)挖掘的效率;其次,它實(shí)現(xiàn)了算法的組件化管理,針對(duì)不同的行業(yè)開(kāi)發(fā)不同的算法組件,對(duì)銀行卡業(yè)務(wù)進(jìn)行數(shù)據(jù)挖掘的主要目的是對(duì)客戶(hù)進(jìn)行分類(lèi),從中發(fā)現(xiàn)對(duì)銀行貢獻(xiàn)度較大的優(yōu)質(zhì)客戶(hù),嵌入式數(shù)據(jù)挖掘可以開(kāi)發(fā)單獨(dú)的算法專(zhuān)門(mén)滿(mǎn)足客戶(hù)分類(lèi)的需要,從而具備了很好的專(zhuān)業(yè)性。最后,嵌入式數(shù)據(jù)挖掘系統(tǒng)是個(gè)種很靈活的數(shù)據(jù)挖掘系統(tǒng),客戶(hù)可以在系統(tǒng)中不斷添加新的算法、改進(jìn)算法,同時(shí)進(jìn)行二次開(kāi)發(fā),從而省去了重新開(kāi)發(fā)大型系統(tǒng)的開(kāi)支,這點(diǎn)對(duì)于當(dāng)今企業(yè)來(lái)說(shuō)顯得尤為重要。
為了證實(shí)嵌入式數(shù)據(jù)挖掘模型的有效性,我們與中國(guó)銀行湖南分行進(jìn)行了合作,采用其信用卡業(yè)務(wù)數(shù)據(jù)分別對(duì)嵌入式數(shù)據(jù)挖掘模型系統(tǒng)和非嵌入式數(shù)據(jù)挖掘模型系進(jìn)行運(yùn)行對(duì)比,測(cè)試是在 PC 機(jī)(P4 2.5G CPU,HY DDR512M RAM)上進(jìn)行的,選取CMP和Apriori兩種數(shù)據(jù)挖掘算法。選擇嵌入的數(shù)據(jù)庫(kù)為SQL Server 2005實(shí)驗(yàn)錢(qián)據(jù)從10 000條記錄到160 000條記錄,以測(cè)試上述兩種算法在大小不同數(shù)據(jù)集上采用嵌入式數(shù)據(jù)挖掘和非嵌入式數(shù)據(jù)挖掘所表現(xiàn)出的性能差異。嵌入式數(shù)據(jù)挖掘在銀行卡業(yè)務(wù)中的應(yīng)用主要包括關(guān)聯(lián)規(guī)則挖掘和分類(lèi)挖掘[6]。
1)關(guān)聯(lián)規(guī)則挖掘
綜合持卡人用卡行為和基本情況進(jìn)行分析,導(dǎo)出具有一定支持度和可信度的用卡習(xí)慣的人群組成之間的關(guān)聯(lián)規(guī)則。在算法選擇方面,選擇了由wang H[7]等提出的一種新型高效決策數(shù)算法:CMP算法。在實(shí)例中,當(dāng)實(shí)例數(shù)據(jù)呈倍數(shù)增長(zhǎng)時(shí),數(shù)據(jù)挖掘所需時(shí)間對(duì)比如表1所示。
表1 CMP算法運(yùn)行時(shí)間對(duì)比Tab.1 Comparison in CMP algorithm run time
算法運(yùn)行效率曲線如圖5所示。
圖5 CMP算法運(yùn)行時(shí)間比較Fig.5 Comparison in CMP algorithm run time
2)分類(lèi)挖掘
根據(jù)持卡人的使用情況和交易方式,對(duì)持卡人群進(jìn)行分類(lèi),主要分為優(yōu)質(zhì)客戶(hù)、潛在優(yōu)質(zhì)客戶(hù)、流失客戶(hù)和潛在流失客戶(hù)等,這也是當(dāng)前比較流行的用法。在分類(lèi)挖掘過(guò)程中,使用關(guān)聯(lián)規(guī)則中的Apriori算法對(duì)實(shí)例進(jìn)行了數(shù)據(jù)的挖掘[8],算法時(shí)間對(duì)比如表2所示。
表2 Apriori算法運(yùn)行時(shí)間對(duì)比Tab.2 Comparison in Apriori algorithm run time
算法運(yùn)行效率曲線如圖6所示。
圖6 Apriori算法運(yùn)行時(shí)間比較Fig.6 Comparison in Apriori algorithm run time
從以上對(duì)比數(shù)據(jù)可以看出,在將嵌入式數(shù)據(jù)挖掘[9]應(yīng)用到銀行卡業(yè)務(wù)數(shù)據(jù)的挖掘當(dāng)中后,對(duì)于兩種不同的算法,其效率的提高都是顯而易見(jiàn)的,從圖形中可以看出,不管是CMP還是Apriori,其效率上都有2~3倍的提高。從應(yīng)用實(shí)例中,還可以看出,隨著業(yè)務(wù)數(shù)據(jù)量的不斷加大,嵌入式數(shù)據(jù)挖掘能更進(jìn)一步的節(jié)省時(shí)間。整體說(shuō)來(lái),嵌入式數(shù)據(jù)挖掘模型是非常有效的,同時(shí)把它應(yīng)用于銀行卡業(yè)務(wù)數(shù)據(jù)的挖掘中也是切實(shí)可行的。
嵌入式數(shù)據(jù)挖掘模型使挖掘算法更加簡(jiǎn)單易用、方便,它將成為第四代數(shù)據(jù)挖掘系統(tǒng)的一個(gè)重要發(fā)展方向之一,也是數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng),商業(yè)智能平臺(tái)的一個(gè)重要發(fā)展方向。把新的嵌入式數(shù)據(jù)挖掘技術(shù)應(yīng)用到銀行卡業(yè)務(wù)中,一方面可以驗(yàn)證嵌入式數(shù)據(jù)挖掘技術(shù)的優(yōu)越性,推動(dòng)數(shù)據(jù)挖掘技術(shù)的發(fā)展;另一方面,為商務(wù)智能應(yīng)用軟件升級(jí)做出貢獻(xiàn),這是一個(gè)極具吸引力的課題,具有十分重要的社會(huì)效益和經(jīng)濟(jì)價(jià)值。
[1]HAN Jia-wei,Kamber M.數(shù)據(jù)挖掘概念與技術(shù) [M].北京:機(jī)械工業(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ù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘技術(shù)[M].北京:電子工業(yè)出版社,2002.
[5]胡錕.數(shù)據(jù)挖掘技術(shù)在銀行信用卡業(yè)務(wù)中的應(yīng)用研究[D].杭州:浙江大學(xué),2002.
[6]何俊,溫家明.數(shù)據(jù)挖掘及其在銀行業(yè)的應(yīng)用[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]越云,王永強(qiáng),劉曉飛.基于IEC61850標(biāo)準(zhǔn)的互感器數(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)在車(chē)載導(dǎo)航系統(tǒng)中的應(yīng)用研究[J].工業(yè)儀表與自動(dòng)化裝置,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.