高 華
(大連藝術(shù)學(xué)院 文化藝術(shù)管理學(xué)院, 遼寧 大連 116600)
?
計算機海量數(shù)據(jù)處理SLIQ算法研究
高華
(大連藝術(shù)學(xué)院 文化藝術(shù)管理學(xué)院, 遼寧 大連116600)
探討云計算在SLIQ算法中的應(yīng)用,研究結(jié)果顯示,云計算下的SLIQ算法能夠?qū)τ嬎銠C海量數(shù)據(jù)存儲中的節(jié)點失效問題有效解決,并且顯著提升計算機數(shù)據(jù)處理效率,進一步降低數(shù)據(jù)處理難度與復(fù)雜度,還可以快速挖掘海量數(shù)據(jù)信息。
云計算; 海量數(shù)據(jù);SLIQ算法
數(shù)據(jù)挖掘中的海量數(shù)據(jù)處理及計算是不可忽視的問題,處理技術(shù)及海量計算直接影響到數(shù)據(jù)挖掘速度,以前主要是針對小規(guī)模數(shù)據(jù)量采取相應(yīng)的計算方法,而現(xiàn)在數(shù)據(jù)量有了顯著增加,還使用原來計算方法將極大地降低計算速度,數(shù)據(jù)挖掘也無法正常進行,這是數(shù)據(jù)挖掘過程中存在的問題[1]。云計算加入其中將能夠很好地解決這個問題,能夠有效地對海量數(shù)據(jù)信息進行處理,提升了數(shù)據(jù)處理速度。云計算能夠以更為快捷的方式向用戶提供相應(yīng)的計算資源,提升云計算下的計算機處理能力,減少用戶終端的數(shù)據(jù)處理負擔,簡化計算機數(shù)據(jù)終端,使其成為一種輸入輸出設(shè)備,云計算的計算處理能力非常強大,能夠滿足用戶的多種需求[2]。其中云計算涉及內(nèi)容主要有網(wǎng)絡(luò)計算、并行計算以及分布式計算等,它借助了網(wǎng)絡(luò)方式整合一些較低的計算實體,最終使用戶終端具備強大的計算能力,經(jīng)過商業(yè)模式得到推廣應(yīng)用[3]。云計算下的并行SLIQ算法指的是在云計算技術(shù)平臺基礎(chǔ)上構(gòu)建分布式時空數(shù)據(jù)庫,并建立具有海量數(shù)據(jù)計算機系統(tǒng)的數(shù)據(jù)挖掘模型,而且在云計算技術(shù)下,計算機海量數(shù)據(jù)不容易出現(xiàn)成批或成片丟失、錯誤狀況,有效地解決了海量數(shù)據(jù)存儲中的節(jié)點失效幾率,提高了計算機數(shù)據(jù)的安全性。其中云計算技術(shù)下海量數(shù)據(jù)挖掘系統(tǒng)主要分為四層,分別是平臺應(yīng)用層、數(shù)據(jù)分析中間件層、分布式計算層以及分布式文件系統(tǒng)層。
不同層的具體作用如圖1所示。
圖1云計算技術(shù)下海量數(shù)據(jù)挖掘系統(tǒng)體系架構(gòu)
1.1SLIQ算法分析
SLIQ算法最早在1996年提出,是一種用來對數(shù)據(jù)進行挖掘與分類的算法,旨在對那些數(shù)據(jù)量巨大且不能夠全部進內(nèi)存的數(shù)據(jù)進行處理,迅速而準確地完成決策樹需求。預(yù)排列思路在這種算法中得到了極大體現(xiàn),解決了數(shù)據(jù)量大、無法存入磁盤的數(shù)據(jù)排序問題,離散及連續(xù)字段也得到了很好處理。產(chǎn)生決策樹時,應(yīng)使用預(yù)排序技術(shù),降低數(shù)值性屬性及消耗資源,進而提升海量數(shù)據(jù)的處理速度。剛開始處理數(shù)據(jù)時,應(yīng)將所有樣本劃分成屬性節(jié)點,掃描每個數(shù)據(jù)集合,構(gòu)建屬性列表,同時還要構(gòu)建一個類別表[4]。因為數(shù)據(jù)樣本與屬性表中的記錄內(nèi)容全都是一一對應(yīng)的,因此,可以將樣本數(shù)值與類表索引存儲起來,根據(jù)屬性值對連續(xù)型屬性表格中的數(shù)據(jù)進行排列組合。每個樣本類型表中的類別標簽與決策樹節(jié)點索引值都需要存儲起來,并只能存儲在內(nèi)存中[5]。SLIQ算法應(yīng)用于決策樹葉節(jié)點存儲類型圖中時,對需要分類判斷信息進行統(tǒng)計,將屬性類別表依據(jù)類別及頻率構(gòu)成二元組。決策樹算法以往多使用構(gòu)造優(yōu)先方式,掃描每個節(jié)點并完成節(jié)點分裂工作,而SLIQ算法則利用了廣度優(yōu)先方式構(gòu)建決策樹,掃描每層節(jié)點上的屬性表,找到當前最優(yōu)的分裂方式。對形成新節(jié)點的分裂屬性取值,并更新相應(yīng)列表類型中的節(jié)點信息,SLIQ算法在計算最佳分裂點方面是折中方案,屬性取值如果是小于某個閥值,應(yīng)做到遍歷子集選擇方案,如果大于其值,應(yīng)該找到最佳分割點近似解[6]。
1.2SLIQ在MapReduce中的改進
SLIQ算法的改進是在MapReduce編程模式基礎(chǔ)上的,詳細的改進步驟如下:
1)使用MapReduce函數(shù)記錄所有根節(jié)點數(shù)據(jù),并對其劃分,集合產(chǎn)生的M個規(guī)模相似的子數(shù)據(jù),將數(shù)據(jù)塊劃分成InputSplit。
2)格式化處理劃分產(chǎn)生的多個數(shù)據(jù)子集,出現(xiàn)的對應(yīng)的
3)實施Map操作主要是掃描輸入記錄,并劃分歸類輸入記錄,歸結(jié)好key相同的,將其寫入對應(yīng)文件中,還要借助模計算配置文件到特定的Reduce中。
4)將有一定順序的連續(xù)行數(shù)據(jù)段進行排序,并畫出直方圖,設(shè)定初始階段為零,每個Reduce對應(yīng)任務(wù)是極端分裂點的Giniindex值,類對應(yīng)直方圖應(yīng)該實時更新;離散對應(yīng)數(shù)據(jù)不需要排序,也不需要更新直方圖。數(shù)據(jù)進行過第一次掃描后,能夠使用類直方圖,將自己對應(yīng)的Giniindex值計算出來。
5)Reduce的不同操作中,還會依據(jù)分裂點生成哈希表,這個表能夠轉(zhuǎn)化成鍵值相對應(yīng)的數(shù)據(jù)結(jié)構(gòu):
6)分裂點完成后,需要比較輸出Reduce,將最小Giniindex數(shù)值對應(yīng)屬性及分裂點選擇出來,還要選擇相應(yīng)的哈希表將其作為分裂的原始數(shù)據(jù)表,將上述這些及節(jié)點N產(chǎn)生的N1及N2節(jié)點一同放入集合中去。
對于Hadoop分布式云計算環(huán)境且基于高性能計算機系統(tǒng)而言,結(jié)合命名節(jié)點的形式,也即是Namenode,其中數(shù)據(jù)節(jié)點主要有12個,也即是Datanode,任一數(shù)據(jù)節(jié)點中的各種節(jié)點應(yīng)用,結(jié)合6路四核刀片的形式。通過應(yīng)用Linux操作系統(tǒng),并應(yīng)用Redhat5.5系統(tǒng)結(jié)構(gòu),應(yīng)用Hadoop版本模式,注重分布式環(huán)境的部署,將后臺進程啟動,并對相關(guān)例程運行,將集群啟動進而實現(xiàn)計算的過程。
對于分布式文件系統(tǒng)層而言,主要是結(jié)合HadoopHDFS將高可靠的一種分布式數(shù)據(jù)文件存儲功能實現(xiàn)。在電子商務(wù)平臺中海量數(shù)據(jù)的分布存儲過程中實現(xiàn)多臺計算機集群處理,并做好文件的有效性分塊存儲,將容錯自動分塊復(fù)制功能實現(xiàn)。這種平臺上的一種HDFS管理節(jié)點的實現(xiàn)過程,結(jié)合12個數(shù)據(jù)節(jié)點構(gòu)成。節(jié)點管理過程對管理文件系統(tǒng)的名字空間進行負責,在客戶端文件的訪問中,實現(xiàn)數(shù)據(jù)節(jié)點數(shù)據(jù)存儲的應(yīng)用,對客戶端讀寫請求及時處理,做好數(shù)據(jù)塊的有效性創(chuàng)建以及刪除,實現(xiàn)數(shù)據(jù)塊的基礎(chǔ)復(fù)制。在HDFS這種上層分布式的一種計算層應(yīng)用,將數(shù)據(jù)輸入提供,并結(jié)合中間結(jié)果的實現(xiàn),將數(shù)據(jù)載體充分實現(xiàn),并對可伸縮性的具體優(yōu)勢充分發(fā)揮,在業(yè)務(wù)系統(tǒng)的聯(lián)系階段實現(xiàn)分布式文件系統(tǒng)的有效性管理以及訪問。
對于分布式計算層而言,在MapReduce中相關(guān)模式的應(yīng)用,結(jié)合分布式并行計算模型的應(yīng)用,做好數(shù)據(jù)的有效性挖掘,盡可能地結(jié)合任務(wù)分布式的主要形式,實現(xiàn)數(shù)據(jù)節(jié)點的合理調(diào)度計算,并做好海量數(shù)據(jù)的有效性處理和分析。在數(shù)據(jù)分析中間件層的分析過程,將實現(xiàn)聚類分類的一種協(xié)同過濾數(shù)據(jù)挖掘算法,這種允許擴展的應(yīng)用過程實現(xiàn)了平臺應(yīng)用層業(yè)務(wù)相關(guān)需求分析,對鋼化膜電子商務(wù)平臺中的一種Mahout算法庫進行定制,在服務(wù)形式的結(jié)合下,實現(xiàn)應(yīng)用層的基礎(chǔ)調(diào)用和分析。這種云計算平臺中的一種Hadoop應(yīng)用,將云計算中的一種中間件進行協(xié)調(diào)和整合。對于平臺應(yīng)用層的相關(guān)分析,將實現(xiàn)原材料信息分析模式,基于競價參考的形式,結(jié)合目標客戶的一種聚焦過程,實現(xiàn)商業(yè)智能分析,在決策性的支持應(yīng)用過程中,結(jié)合智能搜索的基礎(chǔ)應(yīng)用,將采用電子商務(wù)應(yīng)用模式,進而有效滿足了鋼化膜電子商務(wù)的業(yè)務(wù)需求。
在SLIQ算法中,則一定要具有預(yù)排序及廣度優(yōu)先增長策略,同時再將其最佳分割計算出來的時候,也就會有新的子節(jié)點產(chǎn)生,之后則需要更新對類表,將其和之前的節(jié)點子節(jié)點相對應(yīng),具體的算法代碼則如下:
UpdateLabels()
foreachattributeAusedInasplitdo
traverseattributelistofA
foreachvaluevintheattributelistdo
findthecorrespondingentryintheclasslist(saye)
findthenewclassctowhichvbelongsbyapplyingthe
splittingtestatnodereferencedfrome
updatetheclasslabelforetoc
updatenodereferencedinetothechildcorrespondingto
theclassc
SLIQ算法在實際應(yīng)用中計算過程不但復(fù)雜,還必須不斷更新,一方面影響計算效率,另一方面也影響實際應(yīng)用價值。
2.1構(gòu)建云服務(wù)平臺
云計算技術(shù)現(xiàn)在日益發(fā)展,已經(jīng)應(yīng)用在數(shù)據(jù)處理中的SLIQ算法,基于云計算的計算機海量數(shù)據(jù)處理中的SLIQ算法則需要涉及到“云服務(wù)”,那么也就需要進行云服務(wù)平臺構(gòu)建,基于計算機公共標準及開發(fā)網(wǎng)絡(luò)平臺,對計算機數(shù)據(jù)資源進行有效分類、管理,為云端數(shù)據(jù)安全性提供有效保障,并基于用戶實際需求提供云服務(wù),從而滿足用戶實際需求,并提高數(shù)據(jù)平臺開發(fā)質(zhì)量,充分發(fā)揮計算機在數(shù)據(jù)處理中的應(yīng)用價值。云服務(wù)平臺構(gòu)建時,應(yīng)選擇合適的數(shù)據(jù)分析模型關(guān)聯(lián)規(guī)則,并在此基礎(chǔ)上構(gòu)建數(shù)據(jù)倉庫,實現(xiàn)關(guān)于數(shù)據(jù)清理、消減以及轉(zhuǎn)換等各種操作,SLIQ算法在云計算技術(shù)中的有效應(yīng)用,能夠顯著提升數(shù)據(jù)管理質(zhì)量。
2.2云計算下服務(wù)分層細化
云計算技術(shù)在數(shù)據(jù)處理硬件設(shè)計中具有重要應(yīng)用價值,同時也和 “云端”、計算機系統(tǒng)和局域網(wǎng)等形式具有關(guān)聯(lián),以此顯著提高數(shù)據(jù)系統(tǒng)硬件開發(fā)質(zhì)量。云計算功能在硬件開發(fā)中的應(yīng)用對于計算機數(shù)據(jù)處理速度有顯著提升作用,同時也可以有效防范重復(fù)開發(fā)現(xiàn)象的呈現(xiàn);同時在內(nèi)存管理中也能夠有效滿足用戶需求,顯著提高虛擬存儲管理能力,實現(xiàn)任務(wù)調(diào)度在軟件設(shè)計過程中其創(chuàng)建新任務(wù)的功能,在進行服務(wù)分層過程中,也必須要具有中斷管理、時間管理功能,在云計算數(shù)據(jù)處理基礎(chǔ)上,同時也一定要完成基礎(chǔ)編程始時鐘程序的構(gòu)建。
2.3云計算下的SLIQ算法實現(xiàn)
SLIQ算法中關(guān)于云計算技術(shù)的應(yīng)用,主要是在MDL剪枝原理、編碼數(shù)據(jù)的基礎(chǔ)上生成的初始樹,對其訓(xùn)練集S的子樹T確定,在此基礎(chǔ)上能夠有效提高計算機系統(tǒng)在應(yīng)用中的數(shù)據(jù)處理能力。但是在SLIQ算法中還有問題,例如SLIQ算法中,類別列表存在于內(nèi)存中,在云計算過程中,因為計算機內(nèi)存具有一定限制,所以對于數(shù)據(jù)集大小也具有影響。
在云計算環(huán)境下SLIQ算法主要應(yīng)用的是預(yù)排序技術(shù),本身這種算法就比較復(fù)雜,同時還需要受到數(shù)據(jù)結(jié)構(gòu)線性的可伸縮性限制。在進行數(shù)據(jù)庫內(nèi)數(shù)據(jù)轉(zhuǎn)換的時候,第一步則需要對數(shù)據(jù)具體參數(shù)及定義等基礎(chǔ)內(nèi)容確定;第二步是預(yù)排列數(shù)據(jù),這里以部分學(xué)生的成績?yōu)槔?,進而確定數(shù)據(jù)結(jié)構(gòu)及樹節(jié)點信息,得到的類型字段直方圖如圖2和圖3所示。
圖2 數(shù)據(jù)結(jié)構(gòu)
圖3 直方圖
在SLIQ算法基礎(chǔ)上,需要依照數(shù)據(jù)處理的實際需要實現(xiàn)SLIQ算法改進,以此減少對云計算決策樹中每個節(jié)點指數(shù)頻繁計算,降低每個節(jié)點計算的復(fù)雜性,以此顯著提升計算結(jié)果分類效果。云計算技術(shù)決策樹建立過程中,最大信息增益值算法代碼可以編寫出來,而且建樹過程中,必須要對“確定最佳分裂”的可伸縮性顯著提升,對多耗費的開銷計算降低,最后明確數(shù)值型字段,并在此基礎(chǔ)上確定最佳子集[7]。之后在獨立數(shù)據(jù)集的應(yīng)用基礎(chǔ)上,獲取導(dǎo)致錯誤率最低,并且準確度高的決策樹。最后依照所得決策樹遍歷整個程序,得出海量數(shù)據(jù)的計算處理結(jié)果。
其中云計算決策樹中每個節(jié)點的指數(shù)計算如圖4所示。
圖4 類圖
2.4效益分析
分析基于云計算的計算機海量數(shù)據(jù)處理中的SLIQ算法效益,這里使用的SLIQ算法處理數(shù)據(jù),對之前海量數(shù)據(jù)管理模式有顯著改善,傳統(tǒng)的手工管理工作均可以借助于計算機技術(shù)實現(xiàn)網(wǎng)絡(luò)化管理,顯著提升數(shù)據(jù)處理效果及安全性。對于云計算在海量數(shù)據(jù)中的應(yīng)用,則能夠顯著提高數(shù)據(jù)處理方便性及安全性,在互聯(lián)網(wǎng)上不管是硬件還是軟件資源均能夠?qū)崿F(xiàn)自由流通,降低了數(shù)據(jù)丟失問題發(fā)生率,并顯著降低了計算機海量數(shù)據(jù)處理人員的工作量,數(shù)據(jù)設(shè)備、處理管理得到了加強,開支有效地被縮小,工作效率及準確率得到了極大提升[8]。
實施數(shù)據(jù)處理的重要技術(shù)是云計算,基于云計算下的海量數(shù)據(jù)處理中用到了SLIQ算法,它能夠處理不同數(shù)據(jù)類型及格式的信息,計算機數(shù)據(jù)處理難度也隨之降低,處理效率隨之提高,是一種先進的信息技術(shù)。文中重點分析云計算下的計算機海量數(shù)據(jù)處理中的SLIQ算法,首先,明確云計算技術(shù)的特點及優(yōu)勢;然后,分析數(shù)據(jù)處理中的SLIQ算法并給予改進;最后,將云計算技術(shù)應(yīng)用在數(shù)據(jù)處理中的SLIQ算法中,實現(xiàn)計算機的快速查詢與處理。
[1]楊長春,沈曉玲.基于云計算的SLIQ并行算法研究[J].計算機工程與科學(xué),2012,34(3):62-66.
[2]李曉飛.云計算環(huán)境下Apriori算法的MapReduce并行化[J].長春工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2013,34(6):736-740.
[3]耿家禮,王會穎.云計算技術(shù)在數(shù)據(jù)SLIQ算法中的應(yīng)用[J].通化師范學(xué)院學(xué)報,2015,36(10):8-10,93.
[4]余先昊.計算機海量數(shù)據(jù)SLIQ算法中云計算技術(shù)的應(yīng)用研究[J].科學(xué)導(dǎo)報,2015(10):257.
[5]王嘉佳.云計算技術(shù)在計算機海量數(shù)據(jù)SLIQ算法中的應(yīng)用[J].數(shù)字通信世界,2015(10):251-251,317.
[6]畢叢娣.關(guān)于“云計算”的探究[J].長春工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2011,32(4):413-416.
[7]王曉嘉,余建坤.基于類標簽變化的改進SLIQ算法研究[J].微型電腦應(yīng)用,2015(10):27-31.
[8]張薇.一種基于改進SLIQ決策樹分類算法的應(yīng)用研究[J].蘇州大學(xué)學(xué)報:工科版,2010,30(1):72-77.
SLIQ algorithms in massive data processing
GAO Hua
(School of Management, Dalian Art College, Dalian 116600, China)
TheapplicationofcloudcomputinginSLIQalgorithmshowthatitcansignificantlysolvenode-failureproblemindatastorage,improvetheprocessingefficiencyandsimplifythedatacalculation.Alsomassivedatainformationcanbemined.
cloudcomputing;massivedata;SLIQalgorithm.
2016-03-20
遼寧省教育廳科研課題(W2012253)
高華(1975-),女,漢族,遼寧大連人,大連藝術(shù)學(xué)院副教授,碩士,主要從事計算機應(yīng)用技術(shù)及電子商務(wù)方向研究,E-mail:gao_hua@foxmail.com.
10.15923/j.cnki.cn22-1382/t.2016.4.18
TP312
A
1674-1374(2016)04-0406-05