• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Hadoop的網(wǎng)絡(luò)大數(shù)據(jù)挖掘應(yīng)用與實(shí)踐

      2014-04-29 00:00:00邵曉

      摘 要:網(wǎng)絡(luò)大數(shù)據(jù)是指“人、機(jī)、物”三元世界在網(wǎng)絡(luò)空間(Cyberspace)中交互、融合所產(chǎn)生并在互聯(lián)網(wǎng)上可獲得的大數(shù)據(jù)。本文提出了基于Hadoop平臺(tái)的關(guān)于大數(shù)據(jù)級(jí)協(xié)同數(shù)據(jù)挖掘系統(tǒng)的一系列關(guān)鍵技術(shù)和實(shí)踐,通過(guò)選擇一個(gè)具有代表性開放數(shù)據(jù)源作為處理對(duì)象,給出了處理的預(yù)測(cè)結(jié)果。

      關(guān)鍵詞:大數(shù)據(jù);Hadoop;數(shù)據(jù)挖掘

      中圖分類號(hào):TP311.13

      “大數(shù)據(jù)”時(shí)代的數(shù)據(jù)處理需要更強(qiáng)的決策力、洞察力和流程優(yōu)化能力才能形成海量、高增長(zhǎng)率和多樣化的信息資產(chǎn)。從技術(shù)上看,大數(shù)據(jù)與云計(jì)算的關(guān)系就像一枚硬幣的正反面一樣密不可分,由于大數(shù)據(jù)必然無(wú)法用單臺(tái)的計(jì)算機(jī)進(jìn)行處理,因此依托云計(jì)算的分布式處理、分布式數(shù)據(jù)庫(kù)、云存儲(chǔ)和虛擬化技術(shù)是解決大數(shù)據(jù)問(wèn)題的關(guān)鍵技術(shù)。

      Hadoop作為一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序,從而充分利用集群的威力高速運(yùn)算和存儲(chǔ)。Hadoop實(shí)現(xiàn)了一個(gè)具有高容錯(cuò)性的分布式文件系統(tǒng)HDFS(Hadoop Distributed File System)。HDFS可以設(shè)計(jì)用來(lái)部署在低廉的(low-cost)硬件上;而它同時(shí)具有高傳輸率(high throughput)來(lái)訪問(wèn)應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序,具有高可靠性、高擴(kuò)展性和高效性的特點(diǎn),是大數(shù)據(jù)數(shù)據(jù)挖掘處理比較理想的架構(gòu)平臺(tái)。

      1 基于Hadoop的網(wǎng)絡(luò)大數(shù)據(jù)挖掘應(yīng)用設(shè)計(jì)

      1.1 硬件設(shè)計(jì)

      實(shí)驗(yàn)的硬件平臺(tái)由網(wǎng)絡(luò)連接的若干臺(tái)計(jì)算機(jī)組成,這些計(jì)算機(jī)分別屬于兩個(gè)機(jī)架,機(jī)架內(nèi)部通過(guò)10GB的交換機(jī)連接。其中一臺(tái)作為namenode,其余的作為datanode,由于每臺(tái)計(jì)算機(jī)本地硬盤容量?jī)H250G,這個(gè)值遠(yuǎn)遠(yuǎn)低于Hadoop在2010中采用的典型規(guī)格4T,每臺(tái)計(jì)算機(jī)硬盤容量不足在很大程度上局限了后繼計(jì)算工作的性能。

      1.2 軟件設(shè)計(jì)

      基于上述硬件平臺(tái)設(shè)計(jì)部署并配置Hadoop,配置環(huán)境及有關(guān)工具版本為:ubuntu10.04、hadoop0.20.2、jdk1.6.0_29。配置的核心組件包括:

      (1)GFS分布式文件系統(tǒng),隱藏下層負(fù)載均衡,冗余復(fù)制等細(xì)節(jié),對(duì)上層程序提供一個(gè)統(tǒng)一的文件系統(tǒng)API接口。GFS把文件分成64MB的塊,分布在集群的機(jī)器上,使用Linux的文件系統(tǒng)存放。同時(shí)每塊文件至少有3份以上的冗余。中心是一個(gè)Master節(jié)點(diǎn),根據(jù)文件索引,找尋文件塊。

      (2)MapReduce。Map是把輸入Input分解成中間的鍵值對(duì),Reduce把鍵值對(duì)合成最終輸出Output。這兩個(gè)函數(shù)由程序員提供給系統(tǒng),下層設(shè)施把Map和Reduce操作分布在集群上運(yùn)行,并把結(jié)果存儲(chǔ)在GFS上。

      (3)BigTable大型分布式數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)不是關(guān)系式的數(shù)據(jù)庫(kù)而是一個(gè)巨大的表格,用來(lái)存儲(chǔ)結(jié)構(gòu)化的數(shù)據(jù)。

      1.3 挖掘工具選擇

      Mahout是Apache Software Foundation(ASF)旗下的一個(gè)開源項(xiàng)目,Myhout提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。它包含許多實(shí)現(xiàn),包括聚類、分類、推薦過(guò)濾、頻繁子項(xiàng)挖掘,此外,通過(guò)使用Apache的Hadoop庫(kù),Mahout可以有效地?cái)U(kuò)展到云中。在算法上,Mahout針對(duì)性很強(qiáng),在小數(shù)量級(jí)別上運(yùn)行順利,但在計(jì)算機(jī)硬盤容量全部消耗完后可能會(huì)發(fā)生崩潰。

      1.4 數(shù)據(jù)挖掘過(guò)程設(shè)計(jì)

      在搭建的平臺(tái)上使用數(shù)據(jù)挖掘技術(shù),可以設(shè)計(jì)成以下幾個(gè)步驟:

      (1)對(duì)指定的訓(xùn)練數(shù)據(jù)通過(guò)算法進(jìn)行訓(xùn)練。

      (2)評(píng)測(cè)待測(cè)試數(shù)據(jù)的數(shù)據(jù)進(jìn)行分類。

      (3)統(tǒng)計(jì)分類的正確率。

      根據(jù)實(shí)驗(yàn)內(nèi)容和實(shí)驗(yàn)的要求,算法需要實(shí)現(xiàn)對(duì)訓(xùn)練數(shù)據(jù)的訓(xùn)練,以及對(duì)測(cè)試數(shù)據(jù)的預(yù)測(cè),并與原始測(cè)試數(shù)據(jù)進(jìn)行比對(duì)計(jì)算正確率三個(gè)方面。

      2 基于Hadoop的網(wǎng)絡(luò)大數(shù)據(jù)挖掘應(yīng)用實(shí)現(xiàn)

      根據(jù)設(shè)計(jì),整個(gè)實(shí)驗(yàn)需要分為三個(gè)部分進(jìn)行,第一,選擇適合的算法對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練;第二,使用訓(xùn)練數(shù)據(jù)的模型對(duì)測(cè)試數(shù)據(jù)分類進(jìn)行預(yù)測(cè);第三,根據(jù)原始測(cè)試數(shù)據(jù)的分類,比對(duì)預(yù)測(cè)分類和原始分類的差異,計(jì)算準(zhǔn)確率。

      2.1 數(shù)據(jù)準(zhǔn)備

      實(shí)驗(yàn)的原始數(shù)據(jù)是Netflix Prize提供的兩個(gè)數(shù)據(jù)集,包括訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集。訓(xùn)練數(shù)據(jù)集是從Netflix網(wǎng)站1998年10月到2005年12月的電影評(píng)分?jǐn)?shù)據(jù)中,隨機(jī)抽樣48萬(wàn)用戶對(duì)1萬(wàn)7千多部電影的1億多條評(píng)分記錄,評(píng)分的分值在1-5之間。測(cè)試數(shù)據(jù)集供用戶對(duì)預(yù)測(cè)結(jié)果的精度進(jìn)行測(cè)試,該數(shù)據(jù)集的內(nèi)容是從訓(xùn)練數(shù)據(jù)集抽取的一部分記錄,但是記錄不包括評(píng)分部分。訓(xùn)練數(shù)據(jù)集的詳細(xì)特性:

      (1)電影代號(hào)是1-17770的流水號(hào)。

      (2)用戶代號(hào)的取值范圍1-2649429,其中有空缺,共計(jì)480189個(gè)用戶。

      (3)評(píng)分的分值1-5。

      (4)用戶評(píng)分日期的格式為年一月一日。

      2.2 算法選擇及實(shí)現(xiàn)

      在本實(shí)驗(yàn)中,共選擇了兩種分類算法對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練和分類,這兩種算法分別是:樸素貝葉斯(Naive Bayes)以及支持向量機(jī)(SVM,Support Vector Machine)。數(shù)據(jù)預(yù)處理時(shí)將Netflix提供的兩個(gè)原始數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集(Training-set)和測(cè)試數(shù)據(jù)集(Probe),將原有的Training-set進(jìn)一步處理為包括用戶評(píng)分的測(cè)試數(shù)據(jù)集Target-probe,并將測(cè)試數(shù)據(jù)集從原始訓(xùn)練數(shù)據(jù)集中完全剔除。

      2.2.1 樸素貝葉斯算法實(shí)現(xiàn)

      樸素貝葉斯的思想基礎(chǔ)是對(duì)于給出的待分類項(xiàng),求解在此項(xiàng)出現(xiàn)的條件下各個(gè)類別出現(xiàn)的概率,最大的就認(rèn)為此待分類項(xiàng)屬于該類別。使用貝葉斯分類算法主要有三個(gè)步驟:步驟一,針對(duì)特征屬性進(jìn)行適當(dāng)劃分,形成訓(xùn)練樣本集合;步驟二,生成分類器,進(jìn)行條件概率估計(jì),記錄結(jié)果集;步驟三,使用分類器進(jìn)行分類,輸出待分類項(xiàng)與類別的映射關(guān)系。

      2.2.2 SVM支持向量機(jī)算法

      SVM分類算法是通過(guò)核函數(shù)將原始數(shù)據(jù)映射到高維空間,在高維空間進(jìn)行線性分類。分類之間的分界面即為SVM的最優(yōu)分類面。在高維空間,這兩類數(shù)據(jù)應(yīng)該是線性可分的,即:最優(yōu)分類面應(yīng)該是一條直線,而展示出來(lái)的是將高維空間分類的結(jié)果又映射回原始空間所呈現(xiàn)的分類結(jié)果,即:非線性的分類面。

      由于SVM支持向量機(jī)方式對(duì)于數(shù)據(jù)離散還是連續(xù)并沒(méi)有嚴(yán)格的要求,因此使用SVM支持向量機(jī)進(jìn)行分類并不會(huì)嚴(yán)格要求數(shù)據(jù)是否連續(xù),但是SVM不支持按照字符串進(jìn)行分類,則必須將分類中的字符串按照對(duì)應(yīng)的格式轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字型變量即可。除此之外,只需要將數(shù)據(jù)按照SVM預(yù)定的格式轉(zhuǎn)換即可,同時(shí)調(diào)整不同的核函數(shù),從而達(dá)到更優(yōu)的效果。通過(guò)改變Lib_SVM的一些參數(shù),來(lái)選擇不同的核函數(shù)、不同的SVM類型等來(lái)達(dá)到最好的分類效果

      2.2.3 結(jié)果分析

      由于樸素貝葉斯方法不支持連續(xù)數(shù)據(jù)的分類,因此該算法重點(diǎn)在于將數(shù)據(jù)的離散化,不同的數(shù)據(jù)離散化方法對(duì)于數(shù)據(jù)的精度的影響很大。算法中對(duì)離散化的數(shù)據(jù)不予處理,對(duì)于連續(xù)性數(shù)據(jù),從最小值到最大值進(jìn)行遍歷,并在最小值到最大值之間分為等步長(zhǎng)的10個(gè)區(qū)間進(jìn)行劃分的方式,然后重新生成適合于貝葉斯算法的訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),依次計(jì)算兩種分類的概率大小,選擇最大概率的類別作為該測(cè)試數(shù)據(jù)的最后的預(yù)測(cè)的類型,并與原始的測(cè)試數(shù)據(jù)的類型進(jìn)行比較,對(duì)于SVM支持向量機(jī)算法,則將離散的字符串?dāng)?shù)據(jù)使用數(shù)字離散型數(shù)據(jù)進(jìn)行表示,將每一個(gè)字符串類型的字段的數(shù)據(jù)全部保存在一個(gè)ArrayList中,使用ArrayList的標(biāo)號(hào)來(lái)標(biāo)記每一個(gè)離散的字符串。在將訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)按行讀入的時(shí)候,依次格式化每一行的數(shù)據(jù),使之符合SVM的格式,使用重寫的LibSVM的訓(xùn)練和預(yù)測(cè)算法即可算出準(zhǔn)確率,結(jié)果對(duì)比。

      3 結(jié)束語(yǔ)

      針對(duì)項(xiàng)目實(shí)踐中對(duì)大數(shù)據(jù)處理的需求,開展了大量探索與實(shí)踐工作。本文選擇了其中代表性的一組實(shí)驗(yàn),著重分兩階段對(duì)實(shí)驗(yàn)進(jìn)行了概要總結(jié)。前期側(cè)重于大數(shù)據(jù)處理平臺(tái)Hadoop的搭建及工具選擇;后期圍繞兩種算法,以公開的Netflix prize數(shù)據(jù)集為范例樣本,設(shè)計(jì)了一套協(xié)同過(guò)濾數(shù)據(jù)處理及預(yù)測(cè)實(shí)驗(yàn)。希望為相關(guān)領(lǐng)域的工作提供一些借鑒。

      參考文獻(xiàn):

      [1]維克托·邁爾-舍爾維恩,肯尼斯·庫(kù)克耶(美).大數(shù)據(jù)時(shí)代[M].杭州:浙江人民出版社,2013.

      [2]Daniel Lemire,Anna Maclachlan.Slope One Predictors for Online Rating—Based Collaborative Filtering,In SIAM Data Mining (SDM05),Newport Beach,California,2005:21-23.

      [3]梁維鏗.基于Hadoop的分布式文本聚類研究[D].華南理工大學(xué),2011.

      [4]衛(wèi)潔,石洪波,冀素琴.基于Hadoop的分布式樸素貝葉斯文本分類[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012(02).

      作者簡(jiǎn)介:邵曉(1983-),男,安徽六安人,講師,本科,研究方向:指揮信息系統(tǒng)。

      作者單位:海軍蚌埠士官學(xué)校三系指揮自動(dòng)化教研室,安徽蚌埠 233010

      奇台县| 志丹县| 邢台县| 台前县| 莱阳市| 灌阳县| 达州市| 饶河县| 吴旗县| 米易县| 阿鲁科尔沁旗| 筠连县| 兴海县| 巴林左旗| 濮阳市| 雷州市| 湖南省| 南召县| 大足县| 共和县| 龙游县| 胶南市| 蒙山县| 富裕县| 栾城县| 东港市| 友谊县| 南溪县| 徐汇区| 章丘市| 永登县| 建平县| 汽车| 天津市| 定边县| 四子王旗| 中宁县| 兰坪| 临武县| 遂平县| 紫阳县|