孫馬莉
(安徽新華學(xué)院 財(cái)會與金融學(xué)院,安徽 合肥 230088)
?
大數(shù)據(jù)環(huán)境下數(shù)據(jù)挖掘平臺的設(shè)計(jì)研究
孫馬莉
(安徽新華學(xué)院 財(cái)會與金融學(xué)院,安徽 合肥 230088)
大數(shù)據(jù)時(shí)代的到來給人們帶來豐富信息量的同時(shí),也給人們獲取有效數(shù)據(jù)帶來了不便。怎樣從海量的數(shù)據(jù)里迅速、準(zhǔn)確的獲取所需信息是目前亟待解決的難題。為了解決這一問題,本文設(shè)計(jì)了大數(shù)據(jù)環(huán)境下數(shù)據(jù)挖掘平臺;并對平臺中應(yīng)該的數(shù)據(jù)挖掘技術(shù)和算法做了進(jìn)一步研究分析。
大數(shù)據(jù)環(huán)境;數(shù)據(jù)挖掘;平臺設(shè)計(jì)
互聯(lián)網(wǎng)的用戶伴隨互聯(lián)網(wǎng)和信息技術(shù)的飛速發(fā)展也在快速增加,目前每天使用人數(shù)達(dá)到數(shù)十億,用戶的互聯(lián)網(wǎng)操作行為會導(dǎo)致大量信息數(shù)據(jù)的產(chǎn)生。有統(tǒng)計(jì)數(shù)據(jù)顯示,全球數(shù)據(jù)總量每年在以ZB(1ZB=10^21KB)為單位增長,其中有接近9成以上的數(shù)據(jù)產(chǎn)生于近幾年[1]。全球的數(shù)據(jù)總量預(yù)計(jì)在2020年能達(dá)到40ZB。飛速增長的數(shù)據(jù)量帶領(lǐng)人們直接邁入了“信息過載”的時(shí)代環(huán)境中[2]。人們希望通過這些數(shù)據(jù)的保存和分析,對其背后隱含的價(jià)值和模式進(jìn)行深入的研究和提取。新的問題和需求必將帶來新的挑戰(zhàn),具體體現(xiàn)為大數(shù)據(jù)的處理、存儲以及具體的數(shù)據(jù)挖掘方法。
本文基于上述研究背景,在大數(shù)據(jù)環(huán)境下構(gòu)建設(shè)計(jì)了數(shù)據(jù)挖掘平臺。其目的和意義是在數(shù)據(jù)量激增的時(shí)代,通過平臺的海量數(shù)據(jù)存儲和挖掘能力,方便用戶的使用,用戶只需對平臺接口進(jìn)行訪問即可獲取具體的服務(wù),也即是說用戶在應(yīng)用過程中只需重點(diǎn)關(guān)注本身的業(yè)務(wù)邏輯即可,有效的節(jié)約了數(shù)據(jù)挖掘方面的成本。
1.1 平臺整體架構(gòu)設(shè)計(jì)
在設(shè)計(jì)的數(shù)據(jù)挖掘平臺中,大數(shù)據(jù)的存儲和挖掘能力是主要核心功能所在。本文在設(shè)計(jì)系統(tǒng)架構(gòu)時(shí)通過分層思想的應(yīng)用,根據(jù)系統(tǒng)模塊的功能作用,把整個(gè)系統(tǒng)劃分為服務(wù)中間層、基礎(chǔ)能力支持層以及業(yè)務(wù)應(yīng)用層三個(gè)層次,圖1給出了具體的系統(tǒng)架構(gòu)示意圖。
圖1 大數(shù)據(jù)環(huán)境下數(shù)據(jù)挖掘平臺系統(tǒng)框架
首先是業(yè)務(wù)應(yīng)用層,在基于云計(jì)算的數(shù)據(jù)挖掘平臺中,該層是作為使用者存在的,只要有數(shù)據(jù)挖掘能力需求即可應(yīng)用,值得注意的是,該層并不屬于數(shù)據(jù)挖掘平臺,只是屬于用戶層面的業(yè)務(wù)應(yīng)用,是系統(tǒng)的重要參與者。這里的用戶指的是業(yè)務(wù)系統(tǒng)的開發(fā)者,其根據(jù)具體的業(yè)務(wù)需求,對數(shù)據(jù)挖掘平臺提供的接口進(jìn)行調(diào)用,進(jìn)一步的獲取大數(shù)據(jù)存儲和挖掘能力,實(shí)現(xiàn)對應(yīng)用層系統(tǒng)的構(gòu)建。這樣設(shè)計(jì)的優(yōu)點(diǎn)體現(xiàn)在應(yīng)用系統(tǒng)無需對底層的實(shí)現(xiàn)投入過多精力,只需重點(diǎn)研究系統(tǒng)的業(yè)務(wù)邏輯即可,使系統(tǒng)的復(fù)雜性降到最低,節(jié)約了開發(fā)投入和維護(hù)的成本,同時(shí)開發(fā)者的效率也得到了顯著提升。
其次是服務(wù)中間層,該層的作用是承上啟下,是基礎(chǔ)能力支持層與業(yè)務(wù)應(yīng)用層之間的連接橋梁,簡單來說,服務(wù)中間層的實(shí)現(xiàn)是通過封裝系統(tǒng)的管理功能和基礎(chǔ)服務(wù)支持層的能力,通過Restful方式,把服務(wù)接口提供給用戶使用。從功能上來說,服務(wù)中間層包括數(shù)據(jù)挖掘算法、數(shù)據(jù)文件管理、用戶管理以及權(quán)限管理四個(gè)模塊。
最后是基礎(chǔ)能力支持層,在整個(gè)系統(tǒng)架構(gòu)中,基礎(chǔ)能力支持層處在最底層,其能力是最基本的大數(shù)據(jù)處理和存儲能力。嚴(yán)格來說,對海量數(shù)據(jù)的處理和存儲使用并不局限在分布式技術(shù)上,對于業(yè)務(wù)應(yīng)用層的應(yīng)用而言,基礎(chǔ)能力支持層的實(shí)現(xiàn)是透明公開的。
1.2 系統(tǒng)平臺的功能設(shè)計(jì)
在通用數(shù)據(jù)挖掘平臺中,目前多設(shè)計(jì)為數(shù)據(jù)挖掘、處理和可視化三個(gè)功能模塊,圖2給出了具體的功能模塊示意圖。
圖2 平臺功能模塊圖
圖3給出了三個(gè)模塊之間的關(guān)系示意圖,三個(gè)模塊之間通過相互聯(lián)系、相互制約,形成了一個(gè)有機(jī)整體。
圖3 系統(tǒng)平臺功能模塊關(guān)系圖
1.3 平臺主要模塊設(shè)計(jì)
首先是數(shù)據(jù)處理模塊,該模塊共包含兩個(gè)子模塊,分別負(fù)責(zé)數(shù)據(jù)的提取和預(yù)處理。數(shù)據(jù)提取子模塊的功能是在數(shù)據(jù)庫服務(wù)器中,把外部數(shù)據(jù)源的數(shù)據(jù)集成到指定的數(shù)據(jù)表中。數(shù)據(jù)預(yù)處理子模塊的功能是對數(shù)據(jù)庫服務(wù)器集成的外部數(shù)據(jù)源數(shù)據(jù)進(jìn)行通用處理,如處理噪聲和缺失值等。數(shù)據(jù)經(jīng)過處理之后提供給數(shù)據(jù)挖掘模塊使用。
數(shù)據(jù)挖掘模塊是對各類數(shù)據(jù)挖掘算法的集成,共包含四個(gè)子模塊,分別為分類分析、聚類分析、預(yù)測分析以及關(guān)聯(lián)分析。數(shù)據(jù)挖掘使用的是數(shù)據(jù)提取和預(yù)處理子模塊處理完成的數(shù)據(jù)。本文研究的重點(diǎn)就是數(shù)據(jù)挖掘模塊,下文會更加詳細(xì)的介紹該模塊。
可視化模塊共包含兩個(gè)子模塊,分別為挖掘結(jié)果可視化和原始數(shù)據(jù)可視化。其中原始數(shù)據(jù)可視化主要是展示在數(shù)據(jù)庫中集成的數(shù)據(jù),便于用戶對數(shù)據(jù)特征的了解,使其在對數(shù)據(jù)挖掘算法進(jìn)行選擇時(shí)更具針對性。比如,當(dāng)我們從散點(diǎn)圖上看到呈線性分布的數(shù)據(jù)時(shí),在建模分析時(shí)就可以采用線性回歸分析方法[3]。挖掘結(jié)果可視化主要是展示具體的數(shù)據(jù)挖掘結(jié)果,便于用戶對數(shù)據(jù)挖掘結(jié)果的理解和查看。在結(jié)果可視化的設(shè)計(jì)中,針對數(shù)據(jù)挖掘算法的不同,可以有針對性的對可視化功能進(jìn)行設(shè)計(jì)。
在數(shù)據(jù)挖掘的研究中,分類技術(shù)一直是其中的研究熱點(diǎn)和重點(diǎn),并廣泛應(yīng)用在多個(gè)領(lǐng)域[4]。在訓(xùn)練數(shù)據(jù)中,我們把y=f(x1,x2,…,xd)確定為函數(shù)模型,其中,分類變量為yi,特征變量為xi,i=1,2,…,d。當(dāng)分類變量為離散變量時(shí)被稱為分類,也即是dom(y)={y1,y2,…,yn},目前主要有兩種分類觀點(diǎn)。
首先是在決策邊界基礎(chǔ)上的分類,在空間中,yk類的決策區(qū)域是指所有存在yk的區(qū)域,當(dāng)在yk類的決策區(qū)域內(nèi)落有一個(gè)數(shù)據(jù)點(diǎn)時(shí),該數(shù)據(jù)點(diǎn)就相應(yīng)的屬于yk類。采用這種分類觀點(diǎn)的代表是決策樹分類。
一般而言,分類操作包括以下步驟[5]:首先,基于給定的訓(xùn)練集對合適的映射函數(shù)進(jìn)行挑選,也可稱為模型訓(xùn)練階段;其次,通過訓(xùn)練完成的函數(shù)模型對大數(shù)據(jù)的具體類別進(jìn)行預(yù)測,或者通過函數(shù)模型的使用,描述數(shù)據(jù)集中每一類別的數(shù)據(jù),生成相應(yīng)的分類規(guī)則。圖4給出了具體的分類應(yīng)用流程示意圖。
圖4 分類的應(yīng)用程序
在聚類算法中,基于劃分的經(jīng)典算法是K-means算法,其參數(shù)為k,對象共有n個(gè),對象劃分的k個(gè)簇內(nèi)相似度較高,但是簇間的相似度相對較低[6]。我們用兩個(gè)對象之間的歐氏距離計(jì)算他們的相似度。
K-means算法具有以下流程:從n個(gè)對象中隨機(jī)的對k個(gè)對象進(jìn)行挑選,每個(gè)對象默認(rèn)為該簇的中心。在其余的n-k個(gè)對象中,按照簇中心與對象距離的遠(yuǎn)近進(jìn)行簇的劃分。簇劃分完成之后,對每個(gè)簇的平均值進(jìn)行計(jì)算,并把計(jì)算結(jié)果作為簇的新中心。并不斷反復(fù)以上過程,直至準(zhǔn)則函數(shù)收斂為止。在計(jì)算過程中,該算法使用的準(zhǔn)則是平方誤差方法,具體的定義為:
其中,對每一個(gè)聚類數(shù)據(jù)對象求平方誤差,對其求和就組成了E,P是給定的數(shù)據(jù)對象,也可表示為空間點(diǎn),簇Ci的平均值用mi表示。
K-means算法試圖通過k的劃分達(dá)到平方誤差函數(shù)值最小的目的。實(shí)驗(yàn)結(jié)果表明,當(dāng)簇與簇之間有較明顯區(qū)別,同時(shí)簇是密集的時(shí)候,具有較好的應(yīng)用效果。該算法在大數(shù)據(jù)的處理過程中,表現(xiàn)出了較高的效率和可伸縮性。
只有在定義了簇的平均值的情況下才能使用K-means算法,對于一些行業(yè)來說,這點(diǎn)適用性不強(qiáng),該算法還有一個(gè)缺點(diǎn)就是必須給定一個(gè)聚類個(gè)數(shù)k。K-means算法還不能應(yīng)用在對大小差異很大以及非凸面形狀的簇上。而且K-means面向孤立點(diǎn)和噪聲數(shù)據(jù)的時(shí)候敏感性較強(qiáng),這類數(shù)據(jù)能極大的影響到數(shù)據(jù)的平均值,容易導(dǎo)致在出現(xiàn)局部最優(yōu)解的同時(shí)不能實(shí)現(xiàn)全局最優(yōu)解,也即是說在輸入同樣參數(shù)的情況下,不穩(wěn)定的聚類結(jié)果也可能導(dǎo)致出現(xiàn)完全不同的聚類結(jié)果。
一些研究者定義了關(guān)聯(lián)規(guī)則挖掘問題的概念,這些定義目前也得到了大多數(shù)研究者的認(rèn)可,下面列出了一些具體的定義描述[7]。
事物和項(xiàng)目:把D={T1,T2,…,Tm} Tk={i1,i2,…,in}記為關(guān)聯(lián)規(guī)則挖掘的數(shù)據(jù)集,其中事務(wù)就是其中Tk=(k=1,2,…,m),事務(wù)數(shù)據(jù)庫為D,項(xiàng)目定義為ip=(p=1,2,…,n)。
項(xiàng)集:D中所有項(xiàng)目的集合設(shè)為I=(i1,i2,…,it)是。其中I的子集就是事務(wù)Tk包含的項(xiàng)集。按照關(guān)聯(lián)規(guī)則分析,一個(gè)包含k個(gè)項(xiàng)的項(xiàng)集,被稱為k-項(xiàng)集。
關(guān)聯(lián)規(guī)則:一般用R:X?Y表示關(guān)聯(lián)規(guī)則,其表達(dá)的規(guī)律是當(dāng)出現(xiàn)X中的項(xiàng)目時(shí),Y中的項(xiàng)目也會隨之出現(xiàn)。
項(xiàng)集的最小支持度閥值:當(dāng)項(xiàng)集滿足最小支持度閾值時(shí),可以產(chǎn)生關(guān)聯(lián)規(guī)則。
關(guān)聯(lián)規(guī)則產(chǎn)生的條件是項(xiàng)集必須滿足的,最小支持度閥值通常被記作min_sup。支持度大于或等于min_sup的項(xiàng)集稱為頻繁項(xiàng)集。如果k-項(xiàng)集的支持度大于或等于min_sup,則稱其為頻繁k-項(xiàng)集,記作Lk。
頻繁項(xiàng)集:當(dāng)項(xiàng)集滿足最小支持度閾值時(shí),可以產(chǎn)生關(guān)聯(lián)規(guī)則。當(dāng)最小支持度閾值小于或等于項(xiàng)集時(shí),該項(xiàng)集被稱為頻繁項(xiàng)集。
為了更好的對關(guān)聯(lián)規(guī)則的置信度和支持度進(jìn)行闡述,我們給出了一個(gè)具體的商品購買實(shí)例加以說明和分析。假設(shè)在某一個(gè)關(guān)聯(lián)規(guī)則中,X4為條件項(xiàng)集,Y為結(jié)果項(xiàng)集,支持度是對X和Y一起出現(xiàn)的概率進(jìn)行計(jì)算,置信度是對X中含有Y概率的計(jì)算。
表1給出了具體的購買記錄,表2是與其對應(yīng)的商品購買二維表。
表1 商品舉例
表2 商品購買二維表
綜上所述,在數(shù)據(jù)挖掘過程中使用關(guān)聯(lián)規(guī)則其實(shí)就是在給定的數(shù)據(jù)庫中,找出用戶設(shè)定關(guān)聯(lián)規(guī)則中置信度和支持度的最小值,也被稱為強(qiáng)關(guān)聯(lián)規(guī)則。
本文通過對大數(shù)據(jù)環(huán)境下數(shù)據(jù)挖掘平臺的設(shè)計(jì)及平臺中應(yīng)用的典型技術(shù)和算法的研究,有效緩解了當(dāng)前海量數(shù)據(jù)對人們有效信息收索工作的沖擊。平臺通過先進(jìn)的挖掘算法和可視化的顯示技術(shù),使人們能夠更快速、準(zhǔn)確、直觀的獲取所需信息。
[1] 邵峰晶,于忠清,王金龍,等.數(shù)據(jù)挖掘原理與算法(第二版)[M].北京:科學(xué)出版社,2009.
[2]林霞,等.一種數(shù)據(jù)挖掘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2010:1293-1295.
[3]王熙照,等.學(xué)習(xí)特征權(quán)值對K-均值聚類算法的優(yōu)化[J].計(jì)算機(jī)研究與發(fā)展,2003(06):869-873.
[4]Yang Lai,Shi Zhong Zhiusing Java Persistence API,Information Technology,An Efficient Data Mining Framework on Hadoop IEEE International Conference on Computer and2011,156-159.
[5]Wang C, Ren K, Yu S, et al. Achieving usable and privacy-assured similarity search over outsourced cloud data [C]//INFOCOM,2012 Proceedings IEEE.IEEE,2012,451-459.
[6]Xue,G.,Lin,C.,Yang,Q.,etal. Scalable collabor Ativecluster-based smoothing[C].In:Proceedings of the ACM SIGIRpp.114-121.filtering usingConference 2005.
[7]Ruoing Jin. Ge Parallelization of Yang Gagan Mining Agrawal. gorithmsemer. Shared Memory Data Techniques. Programming Interface. And Performance[J].Engineering.2005.17(1).71-89IEEE Transactions on Knowledge and Data.
[責(zé)任編輯:張懷濤]
2016-05-26
2014省質(zhì)量工程“軟件工程綜合實(shí)踐教育中心”(項(xiàng)目號:2014SXZX021);2013校級質(zhì)量工程項(xiàng)目:《新華—達(dá)內(nèi)科技校企合作實(shí)踐教學(xué)基地》(項(xiàng)目編號:2013xqjdx02)
孫馬莉(1981-),女,安徽蚌埠人,講師,研究方向?yàn)閿?shù)據(jù)挖掘。
TP311
A
1671-5330(2016)05-0105-04
安陽師范學(xué)院學(xué)報(bào)2016年5期