崔辰
(川慶鉆探工程有限公司 長慶鉆井總公司, 西安 710018)
在現(xiàn)代云計(jì)算、社交網(wǎng)絡(luò)、移動通信互聯(lián)網(wǎng)及數(shù)據(jù)自動收集技術(shù)不斷發(fā)展的過程中,人類社會也出現(xiàn)了一定的變化,其中的數(shù)據(jù)量也呈爆發(fā)式的增長。美國互聯(lián)網(wǎng)數(shù)據(jù)中心通過研究表示,目前世界中所產(chǎn)生的數(shù)據(jù)大概呈著50%左右的速度增長,每隔兩年翻一倍,并且大部分?jǐn)?shù)據(jù)都是最近幾年所產(chǎn)生的,大數(shù)據(jù)時(shí)代已經(jīng)到來。數(shù)據(jù)屬于現(xiàn)代社會中尤為重要的資產(chǎn),擁有的信息量已經(jīng)成為制約并且決定社會發(fā)展的主要因素,人們急需要從數(shù)據(jù)中將具有價(jià)值并且寶貴的信息進(jìn)行有效的挖掘,從而促進(jìn)企業(yè)實(shí)現(xiàn)正確決策。云計(jì)算數(shù)據(jù)挖掘平臺能夠滿足海量數(shù)據(jù)挖掘需求,此平臺能夠?qū)崿F(xiàn)資源的動態(tài)分配及調(diào)度,并且具有較高的可靠性及虛擬化特點(diǎn)。
目前對于并沒有統(tǒng)一定義,客戶端利用網(wǎng)絡(luò)自助將運(yùn)算任務(wù)為服務(wù)端發(fā)送,服務(wù)器運(yùn)算之后將運(yùn)算結(jié)果對客戶端進(jìn)行發(fā)送,此過程就是云計(jì)算。云計(jì)算的主要形式包括:
其一,軟件即服務(wù)(SaaS)。軟件即服務(wù)包括客戶和服務(wù)供應(yīng)商,應(yīng)用軟件在服務(wù)供應(yīng)商服務(wù)器端統(tǒng)一部署,在客戶對軟件具有使用需求的時(shí)候,就可以對供應(yīng)商購買應(yīng)用軟件,并且利用瀏覽器實(shí)現(xiàn)接收。此種模式的優(yōu)勢為:客戶在具備軟件使用需求的時(shí)候,不需要投入大量資金在軟件、硬件及相應(yīng)維護(hù)中;服務(wù)供應(yīng)商能夠?qū)崿F(xiàn)應(yīng)用額元件實(shí)現(xiàn)統(tǒng)一管理及維護(hù)[1]。
其二,平臺即服務(wù)(PaaS)。在此種模式中,服務(wù)供應(yīng)商提供服務(wù)屬于平臺,也就是對客戶提供多種服務(wù)器資源、硬件資源及開發(fā)環(huán)境。用戶在供應(yīng)商所提供的平臺中實(shí)現(xiàn)滿足自身需求應(yīng)用程序的開發(fā),并且通過互聯(lián)網(wǎng)和相關(guān)服務(wù)器對客戶進(jìn)行傳遞。根據(jù)此模式,用戶能夠?qū)崿F(xiàn)相應(yīng)數(shù)據(jù)庫管理軟件、應(yīng)用程序的開發(fā)。
其三,基礎(chǔ)設(shè)備服務(wù)(IaaS)。此服務(wù)模式主要是以托管型為基礎(chǔ)的硬件方式,用戶在支付費(fèi)用之后,就能夠使用服務(wù)供應(yīng)商中的虛擬服務(wù)器及資源等[2]。
數(shù)據(jù)挖掘指的是從大量數(shù)據(jù)中實(shí)現(xiàn)關(guān)聯(lián)、變化、有意義及異常結(jié)構(gòu)抽取的過程,此數(shù)據(jù)大部分都具有噪音,并且不完全,而且隨機(jī)、模糊。以此表示,數(shù)據(jù)挖掘技術(shù)涉及了人工智能、統(tǒng)計(jì)學(xué)、模式識別、機(jī)器學(xué)習(xí)等。目前,數(shù)據(jù)技術(shù)已經(jīng)被廣泛應(yīng)用到金融、典型、科學(xué)研究及互聯(lián)網(wǎng)等多領(lǐng)域中,比如實(shí)現(xiàn)商品銷售量預(yù)測、銀行分析客戶分銷使用渠道等。傳統(tǒng)數(shù)據(jù)挖掘技術(shù)是以數(shù)據(jù)倉庫及關(guān)系數(shù)據(jù)庫為基礎(chǔ)實(shí)現(xiàn)數(shù)據(jù)計(jì)算、統(tǒng)計(jì)及分析,尋找其中的關(guān)系,從而使挖掘理論價(jià)值得到提高,此過程會消耗大量存儲及計(jì)算資源。
在移動互聯(lián)網(wǎng)不斷發(fā)展的過程中,數(shù)據(jù)規(guī)模從傳統(tǒng)TB級發(fā)展為ZB級,并且還在持續(xù)增加, 從而使傳統(tǒng)數(shù)據(jù)挖掘系統(tǒng)無法滿足此需求,主要為:挖掘效率較低;軟件及硬件的成本較高,以此消耗大量資源及空間;體系架構(gòu)較為薄弱,傳統(tǒng)數(shù)據(jù)挖掘技術(shù)都是通過單一算法作為主體,沒有適應(yīng)普遍性[3]。數(shù)據(jù)挖掘的邏輯結(jié)構(gòu),在實(shí)現(xiàn)數(shù)據(jù)挖掘過程中,首先要對數(shù)據(jù)進(jìn)行前處理,之后實(shí)現(xiàn)數(shù)據(jù)挖掘,通過相應(yīng)算法得到結(jié)果評價(jià)及表達(dá),之后將其中有價(jià)值的信息進(jìn)行提取,如圖1所示。
在數(shù)據(jù)挖掘中使用云計(jì)算,是因?yàn)樵朴?jì)算自身具備海量存儲能力及分布式的并行處理能力。具體來說,云計(jì)算在數(shù)據(jù)挖掘中使用的主要優(yōu)勢為:
其一,云計(jì)算具備高效且實(shí)時(shí)的分布式并行數(shù)據(jù)挖掘能力。在面對海量數(shù)據(jù)實(shí)現(xiàn)挖掘的過程中,能夠更加展現(xiàn)出其優(yōu)越性。另外,云計(jì)算服務(wù)業(yè)能夠?yàn)椴煌?guī)模組織提供優(yōu)質(zhì)服務(wù),并且使計(jì)算成本降低,實(shí)現(xiàn)大型數(shù)據(jù)快速處理,提高企業(yè)效益,還能夠避免企業(yè)過于依賴大型高端機(jī)。
其二,對大部分用戶來說,不需要重視使用云計(jì)算技術(shù)實(shí)現(xiàn)數(shù)據(jù)挖掘過程中地層實(shí)現(xiàn)的過程。在數(shù)據(jù)塊劃分、計(jì)算任務(wù)調(diào)度及加載節(jié)點(diǎn)的時(shí)候,都是通過系統(tǒng)實(shí)現(xiàn)自動分配[4]。
其三,云計(jì)算技術(shù)數(shù)據(jù)的挖掘門檻比較低,大眾用戶利用云計(jì)算服務(wù)平臺就能夠根據(jù)自身需求服務(wù),為需求量較大的網(wǎng)絡(luò)用戶提供一定的個(gè)性化信息服務(wù)。
其四,基于并行化,云計(jì)算具備結(jié)點(diǎn)動態(tài)增刪的能力,充分使用原本的設(shè)備添加結(jié)點(diǎn),使海量數(shù)據(jù)處理速度及能力得到有效提高,并且使設(shè)備生命力和使用率得到有效提高[5]。
在海量數(shù)據(jù)挖掘中使用云計(jì)算技術(shù),能夠充分展現(xiàn)云計(jì)算中的大容量存儲及并行處理的能力,并且還能夠有效解決目前海量數(shù)據(jù)挖掘過程中的難點(diǎn)內(nèi)容。云計(jì)算下海量數(shù)據(jù)挖掘的模型。如圖2所示。
通過圖2可以看出來,基于云計(jì)算技術(shù)的海量數(shù)據(jù)挖掘模型主要包括三層,分別為云服務(wù)層、數(shù)據(jù)運(yùn)算層及用戶層。其中云服務(wù)層屬于最基層,其主要目的就是實(shí)現(xiàn)海量數(shù)據(jù)的存儲,并且具備分布并行數(shù)據(jù)的處理。云計(jì)算環(huán)境不僅要保證數(shù)據(jù)實(shí)用性,還要保證數(shù)據(jù)安全性及可靠性。在數(shù)據(jù)存儲過程中,云計(jì)算技術(shù)使用分布存儲方式,具備數(shù)據(jù)副本冗余存儲功能,保證如果數(shù)據(jù)丟失,用戶還能夠正常的運(yùn)轉(zhuǎn)。目前,普遍使用功能的云計(jì)算數(shù)據(jù)存儲技術(shù)包括開源HDFS與非開源GFS兩種。另外,云計(jì)算數(shù)據(jù)充分實(shí)現(xiàn)數(shù)據(jù)并行處理的挖掘,能夠基于多用戶指令,對用戶進(jìn)行及時(shí)回復(fù),還能夠提供數(shù)據(jù)挖掘服務(wù)[6]。
圖2 云計(jì)算下海量數(shù)據(jù)挖掘的模型
數(shù)據(jù)挖掘運(yùn)算層屬于第二層,其主要目的就是實(shí)現(xiàn)數(shù)據(jù)預(yù)處理及挖掘算法并行處理。數(shù)據(jù)預(yù)處理指的是對大量沒有規(guī)則數(shù)據(jù)實(shí)現(xiàn)預(yù)先處理,以云計(jì)算并行運(yùn)算模式開展的數(shù)據(jù)挖掘,一般實(shí)現(xiàn)數(shù)據(jù)預(yù)處理過程中主要使用數(shù)據(jù)分類、轉(zhuǎn)化、約束及抽調(diào)等。實(shí)現(xiàn)數(shù)據(jù)預(yù)處理,能夠提高數(shù)據(jù)挖掘質(zhì)量,并且提高海量數(shù)據(jù)挖掘的快速性及實(shí)時(shí)性。
用戶層屬于最頂層,其是直接面向用戶的,主要目的就是對用戶請求進(jìn)行有效接收,并且使數(shù)據(jù)對下一層進(jìn)行傳遞,使數(shù)據(jù)挖掘運(yùn)算結(jié)果對用戶進(jìn)行反饋。另外,用戶還能夠利用可視化界面對任務(wù)的進(jìn)度進(jìn)行控制和監(jiān)督,并且對任務(wù)執(zhí)行結(jié)果進(jìn)行實(shí)時(shí)的查看[7]。
云計(jì)算中海量數(shù)據(jù)挖掘?qū)崿F(xiàn)的流程為:用戶在輸入模塊中發(fā)送數(shù)據(jù)挖掘指令,并且對系統(tǒng)服務(wù)器進(jìn)行傳遞,服務(wù)器就能夠自動根據(jù)用戶挖掘指令通過數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的調(diào)出,并且在算法庫中實(shí)現(xiàn)最優(yōu)挖掘算法的調(diào)出,在實(shí)現(xiàn)數(shù)據(jù)預(yù)處理以后,到運(yùn)算模塊中傳遞,實(shí)現(xiàn)數(shù)據(jù)的深入挖掘,最后將挖掘結(jié)果對可視化界面進(jìn)行反饋,從而便于用戶的查看及了解[8]。
3.2.1 SPRINT算法
SPRINT算法主要包括數(shù)創(chuàng)建及剪枝過程,因?yàn)樵趯?shí)現(xiàn)決策樹創(chuàng)建過程中要實(shí)現(xiàn)多次數(shù)據(jù)遍歷,但是剪枝不需要此過程。那么,對于樹剪枝時(shí)間只是創(chuàng)建數(shù)的百分之一。所以,重點(diǎn)就是創(chuàng)建樹。SPRINT算法能夠?qū)?shù)據(jù)特征充分的展現(xiàn)出來,使用直方圖及屬性表兩種數(shù)據(jù)結(jié)構(gòu)。直方圖是以屬性表為基礎(chǔ),屬性表在節(jié)點(diǎn)劃分過程中分裂。其會根據(jù)不同屬性性質(zhì)展現(xiàn)出針對性的展現(xiàn)形式。屬性表屬于屬性值,記錄索引和類標(biāo)記創(chuàng)建三元組,其能夠在除了內(nèi)存以外介質(zhì)中停留。直方圖能夠?qū)⒐?jié)點(diǎn)屬性類分布的情況進(jìn)行充分的展現(xiàn),在屬性術(shù)連續(xù)數(shù)值型的時(shí)候,節(jié)點(diǎn)就與兩個(gè)直方圖相關(guān),其中Cbelow指的是已經(jīng)處理樣本的類型分布,Cabove指的是沒有處理的樣本,其能夠利用不間斷刷新尋找最佳分裂點(diǎn)。在屬性屬于離散型的時(shí)候,要只是需要直方圖,其中具有此屬性值的類分布信息,只需要對計(jì)數(shù)矩陣統(tǒng)計(jì)圖進(jìn)行維護(hù)[9]。
3.2.2 算法并行設(shè)計(jì)
算法并行與傳統(tǒng)算法多加入了哈希表,從而對每次節(jié)點(diǎn)分裂以后子節(jié)點(diǎn)數(shù)據(jù)信息進(jìn)行存儲,利用此子節(jié)點(diǎn)信息記錄,將其作為節(jié)點(diǎn)并行分割的基礎(chǔ)。其中的哈希表主要包括兩種信息,第一種為決策時(shí)候節(jié)點(diǎn)號碼,使用TreeNodeID表示;第二種為目前樹節(jié)點(diǎn)子節(jié)點(diǎn)號,使用ChildNodeID表示。
在算法移植的過程中,只要是實(shí)現(xiàn)算法MapReduce化,利用Map及Reduce函數(shù)開展。函數(shù)的N-S圖,如圖3與圖4所示。
圖3 Map函數(shù)的N-S圖
圖4 Reduce函數(shù)的N-S圖
在以上處理結(jié)束之后,屬性表就已經(jīng)到相應(yīng)葉子節(jié)點(diǎn)中發(fā)送,這個(gè)時(shí)候決策樹的創(chuàng)建已經(jīng)全部結(jié)束,目前節(jié)點(diǎn)相關(guān)文件都已經(jīng)到分布式文件系統(tǒng)中存儲,表1為節(jié)點(diǎn)信息的保存格式。不管是葉子節(jié)點(diǎn),或者是非葉子節(jié)點(diǎn),都通過N進(jìn)行表示。其中fleaf表示非葉子節(jié)點(diǎn),tleaf表示葉子節(jié)點(diǎn)。使用此種方法,能夠有效提取決策樹結(jié)果,如表1所示。
表1 節(jié)點(diǎn)信息的保存格式
本文實(shí)驗(yàn)是使用駕車風(fēng)險(xiǎn)高低預(yù)測公用數(shù)據(jù)及作為本文的訓(xùn)練集,其能夠?qū)⒈\囯U(xiǎn)車主的信息進(jìn)行記錄,決策樹創(chuàng)建中的節(jié)點(diǎn)信息,如圖5所示。
圖5 決策樹創(chuàng)建中的節(jié)點(diǎn)信息
為了能夠?qū)λ惴ㄍ诰蚰J降恼_性進(jìn)行判斷,所以在實(shí)際操作過程中要將所有樣本集分割成為5個(gè)沒有交集的組,從而對精準(zhǔn)性進(jìn)行測試,(此方面預(yù)測的正確數(shù)量較多,表示預(yù)測正確率較高,算法精準(zhǔn)。)如表2所示。
表2 算法測試結(jié)果
通過測算結(jié)果表示,算法的精準(zhǔn)率為89.25%。以此可以看出來,本文所設(shè)計(jì)的挖掘算法具有較高的精準(zhǔn)性,實(shí)驗(yàn)成功,能夠?qū)崿F(xiàn)有效分類挖掘[10]。
目前云存儲平臺中的數(shù)據(jù)量在不斷的增加,傳統(tǒng)數(shù)據(jù)挖掘模式已經(jīng)無法和現(xiàn)代社會相互匹配,并且也無法實(shí)現(xiàn)數(shù)據(jù)中內(nèi)在信息的有效挖掘。所以,其對于數(shù)據(jù)挖掘工作提出了更加全面的需求,在實(shí)現(xiàn)云計(jì)算和處理系統(tǒng)過程中,要求具備對海量信息存儲及變化的能力,從而實(shí)現(xiàn)資源的內(nèi)在有效挖掘,并且對大量數(shù)據(jù)進(jìn)行有效的處理。本文所設(shè)計(jì)的數(shù)據(jù)挖掘算法挖掘進(jìn)度較高,其中的用戶數(shù)據(jù)性及安全性需要進(jìn)一步的加強(qiáng)。