亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Hadoop平臺下Mahout隨機(jī)森林算法的分析與實(shí)現(xiàn)?

        2018-09-27 01:23:44曹蒙蒙郭朝有
        艦船電子工程 2018年9期
        關(guān)鍵詞:描述性原始數(shù)據(jù)決策樹

        曹蒙蒙 郭朝有

        (海軍工程大學(xué)動力工程學(xué)院 武漢 430033)

        1 引言

        隨著信息技術(shù)、物聯(lián)網(wǎng)及互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)正在以空前的速度產(chǎn)生和被收集。目前,各個行業(yè)都存儲了海量的數(shù)據(jù),如何從這些海量的數(shù)據(jù)中挖掘出有價(jià)值的信息是亟需解決的問題。分類方法可以有效地解決該問題,它通過對已知類別的數(shù)據(jù)集進(jìn)行學(xué)習(xí),從中找出分類規(guī)則,進(jìn)而對新的數(shù)據(jù)集進(jìn)行預(yù)測判斷。但海量數(shù)據(jù)的處理對傳統(tǒng)分類算法提出了新的要求。為了提高分類算法的準(zhǔn)確率和減輕計(jì)算機(jī)的計(jì)算負(fù)載,采用大規(guī)模計(jì)算機(jī)集群對海量數(shù)據(jù)進(jìn)行分布式處理是一種有效的方法。

        Hadoop是Apache軟件基金會旗下的一個開源分布式計(jì)算平臺,其源于Google的云計(jì)算基礎(chǔ)架構(gòu)系統(tǒng),核心組成是HDFS分布式文件系統(tǒng)架構(gòu)和MapReduce分布式處理機(jī)制,可用于實(shí)現(xiàn)大規(guī)模分布式計(jì)算和并行處理。Mahout是來自Apache的、開源的機(jī)器學(xué)習(xí)軟件庫,它基于MapReduce模式封裝了大量的適用于數(shù)據(jù)挖掘的經(jīng)典算法,其中的部分算法通過轉(zhuǎn)換可以直接在Hadoop框架上進(jìn)行使用,從而大大降低了大數(shù)據(jù)應(yīng)用中并行數(shù)據(jù)挖掘產(chǎn)品的開發(fā)[1]。在大數(shù)據(jù)的處理上,目前Hadoop已經(jīng)成為搭建云計(jì)算平臺的主流,國外IBM的藍(lán)云、雅虎及英特爾的“云計(jì)劃”等,國內(nèi)阿里巴巴、百度等云平臺均是基于Hadoop基礎(chǔ)架構(gòu)實(shí)現(xiàn)的[2]。而Mahout算法庫的機(jī)器學(xué)習(xí)主要集中在三個領(lǐng)域,即協(xié)同過濾(推薦引擎)、聚類和分類。分類模塊作為其中一種重要的方法具體包括Logistic Regression(邏輯回歸)、Naive Bayesian(樸素貝葉斯)、Support Vector Machine(支持向量機(jī))、Random Forests(隨機(jī)森林)和Hidden Markov Models(隱馬爾科夫模型)。目前Mahout分類算法在Hadoop平臺上的應(yīng)用包括:第一,基于Hadoop平臺的分類算法在某方面的具體應(yīng)用,如高一男等[3]基于Hadoop平臺,利用Mahout的貝葉斯算法通過對郵件進(jìn)行特征提取以檢測是否為釣魚郵件,并通過真實(shí)郵件數(shù)據(jù)進(jìn)行測試,取得較好效果;梁世磊[4]基于Hadoop平臺利用MapReduce并行計(jì)算模型分布式設(shè)計(jì)了隨機(jī)森林算法,提高了圖像的分類效率;滿蔚仕等[5]通過將傳統(tǒng)的網(wǎng)格法與粒子群算法結(jié)合,提出一種新型衛(wèi)星并行粒子群算法,相比于單機(jī)支持向量機(jī)(SVM),Hadoop平臺分布式SVM在分類準(zhǔn)確率和計(jì)算速度上均有明顯提高。第二,在Hadoop、Spark等不同云計(jì)算平臺中比較Mahout中的分類算法的運(yùn)行效率和效果,如郭成林[6]在Hadoop和Spark平臺分別實(shí)現(xiàn)了決策樹、貝葉斯等機(jī)器學(xué)習(xí)算法并對改進(jìn)算法進(jìn)行了試驗(yàn)和比較分析。

        綜上所述,基于Hadoop的云計(jì)算平臺已經(jīng)是大數(shù)據(jù)分析與應(yīng)用的重要基礎(chǔ)架構(gòu),而將傳統(tǒng)的分類算法運(yùn)用到以MapReduce為模式的并行計(jì)算編程框架上,能夠有效解決對海量數(shù)據(jù)處理的瓶頸問題。因此,本文在搭建Hadoop物理集群平臺的基礎(chǔ)上,對Mahout分類算法中的隨機(jī)森林算法進(jìn)行深入分析與研究,最后通過實(shí)際數(shù)據(jù)分析傳統(tǒng)森林算法在分布式環(huán)境下的優(yōu)點(diǎn)與不足。

        2 Hadoop簡介

        Hadoop是一種典型的Master∕Slave架構(gòu),由一個Master節(jié)點(diǎn)和多個Slave節(jié)點(diǎn)組成,Master節(jié)點(diǎn)負(fù)責(zé)Slave節(jié)點(diǎn)上的任務(wù)調(diào)度,是整個系統(tǒng)的控制和調(diào)度中心,Slave節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)的存儲和具體任務(wù)的執(zhí)行。其核心組成是HDFS分布式文件系統(tǒng)和MapReduce分布式并行計(jì)算框架[7]。Hadoop基本架構(gòu)如圖1所示。

        圖1 Hadoop基本架構(gòu)

        由圖1可知,Master節(jié)點(diǎn)由NameNode和Job?Tracker組成,其中NameNode是HDFS的Master,主要負(fù)責(zé)Hadoop分布式文件系統(tǒng)元數(shù)據(jù)的管理工作,包括文件系統(tǒng)的名字空間(namespace)以及客戶端對文件的訪問;JobTracker是MapReduce的Master,主要任務(wù)是啟動、跟蹤和調(diào)度各個Task?Tracker的任務(wù)執(zhí)行。Slave節(jié)點(diǎn)由DataNode和TaskTracker組成,其中DataNode主要負(fù)責(zé)數(shù)據(jù)的存儲并對數(shù)據(jù)進(jìn)行冗余備份;TaskTracker主要根據(jù)任務(wù)需求然后結(jié)合本地?cái)?shù)據(jù)執(zhí)行Map和Reduce任務(wù)。

        3 隨機(jī)森林算法

        Leo Breiman[8]最早提出隨機(jī)森林算法(Ran?dom Forests,RF),它是集成學(xué)習(xí)Bagging算法的一個擴(kuò)展。隨機(jī)森林是由多棵決策樹組成的組合分類器,分類時(shí)使用森林里的多棵決策樹同時(shí)對某一對象進(jìn)行分類,結(jié)果遵循“以少服多”的原則,并且相同深度的每一棵決策樹和每一個節(jié)點(diǎn)都能獨(dú)立進(jìn)行訓(xùn)練和分類,因此它的訓(xùn)練效率和分類效果非常高[9]。決策樹是隨機(jī)森林的組成部分,下面首先對決策樹進(jìn)行簡單介紹。

        3.1 決策樹

        決策樹是一種有監(jiān)督的分類學(xué)習(xí)方法,通過對對象的各個特征屬性進(jìn)行分類然后形成樹狀預(yù)測模型[10]。在建立決策樹的過程中,決策樹的屬性和類別之間的關(guān)系需要根據(jù)屬性度量值來決定,其中熵和信息增益是兩種重要的度量準(zhǔn)則[11]。

        熵的計(jì)算公式如(1)所示:

        其中,Yt表示類別Y中的第代表類別Y的總記錄數(shù),N為類別Y的總數(shù)目。

        增益的計(jì)算公式如(2)所示:

        3.2 隨機(jī)森林算法工作原理

        隨機(jī)森林方法原理可以大致描述為從N個原始數(shù)據(jù)集中,采用bootstrap抽樣方式(即有放回抽樣)抽取N次,形成一組包含N個訓(xùn)練集的訓(xùn)練樣本;按照上述方式,重復(fù)T次,形成新的訓(xùn)練樣本集D;從訓(xùn)練樣本集D中選取m個特征屬性,并從中選擇最優(yōu)屬性以最佳的分裂方式形成決策樹;將T棵決策樹組合形成隨機(jī)森林,最后以“投票”的方式對測試集進(jìn)行評估。隨機(jī)森林算法形成的流程圖如圖2所示。

        4 Mahout中隨機(jī)森林算法的實(shí)現(xiàn)過程

        在Mahout中,隨機(jī)森林算法的實(shí)現(xiàn)可由以下三個步驟完成[12]:第一,根據(jù)原始數(shù)據(jù)生成描述性

        文件;第二,根據(jù)描述性文件、輸入數(shù)據(jù)及其他參數(shù)通過決策樹算法生成多棵決策樹,然后將這些決策樹轉(zhuǎn)換成隨機(jī)森林模型;第三,使用測試數(shù)據(jù)對上面生成的隨機(jī)森林模型進(jìn)行評估,以檢驗(yàn)生成模型的好壞。

        圖2 隨機(jī)森林算法形成流程圖

        4.1 生成描述性文件

        描述性文件是對原始輸入數(shù)據(jù)數(shù)據(jù)屬性的集中概括,如每個特征屬性的數(shù)據(jù)格式、不參與建模的屬性列及輸出類別屬性列等。在Mahout中,用I(Ignore)表示不參與建模屬性列;用C(Categorical)表 示 離散的屬性列;用N(Numerical)表示連續(xù)的屬性列;用L(Label)表示輸出類別屬性列。下面用一個實(shí)例說明描述性文件的生成策略,具體見表1。

        表1 隨機(jī)森林算法輸入數(shù)據(jù)訓(xùn)練集

        首先對原始數(shù)據(jù)進(jìn)行分析,由表1可以看出,第一列為行號,不參與建模;第二、三列為連續(xù)屬性的數(shù)據(jù)格式;第四列為離散屬性的數(shù)據(jù)格式;第五列為輸出類別。因此,描述性字符串為[I 2 N C L],其中[2 N]即為[N N]。然后,將其存入描述性文件。

        4.2 構(gòu)建隨機(jī)森林模型

        隨機(jī)森林模型由多棵決策樹組合而成,形成隨機(jī)森林模型的過程如流程圖2所示。在構(gòu)建隨機(jī)森林的過程中,每生成一棵決策樹就會將其寫入文件,直至所有的樹都建立完成,這時(shí)所有的決策樹都存在同一個文件,然后再將這些樹封裝成一個鏈表,形成一個變量,即為隨機(jī)森林模型。

        4.3 評估隨機(jī)森林模型

        隨機(jī)森林模型建好之后的效果需要利用測試數(shù)據(jù)集進(jìn)行測試,并根據(jù)分類的質(zhì)量進(jìn)行評價(jià)。隨機(jī)森林模型評估過程描述如下:利用測試集對構(gòu)建的隨機(jī)森林模型進(jìn)行評估,首先預(yù)設(shè)變量i為0;遍歷隨機(jī)森林中每棵決策樹對測試集的每條記錄進(jìn)行分類,分類結(jié)果采用投票方式,選取分類次數(shù)重復(fù)最多的作為分類結(jié)果;將分類結(jié)果與原始數(shù)據(jù)集進(jìn)行比較,如果分類正確則變量i循環(huán)增加,否則進(jìn)行測試集中下一條記錄的分類,直至測試集中的N條記錄分類完畢;分類正確率由i∕N計(jì)算得出。隨機(jī)森林模型的評估的具體流程如圖3。

        5 實(shí)驗(yàn)及結(jié)果分析

        5.1 實(shí)驗(yàn)環(huán)境搭建及部署

        本實(shí)驗(yàn)環(huán)境基于物理機(jī)搭建了完全分布式的Hadoop集群,形成了以服務(wù)器為主節(jié)點(diǎn),三臺PC機(jī)為從節(jié)點(diǎn)的主從架構(gòu),集群環(huán)境部署如下:

        1)硬件環(huán)境

        實(shí)驗(yàn)室共有服務(wù)器一臺,閑置電腦3臺?;谶@4臺機(jī)器搭建Hadoop完全分布式物理集群。其中服務(wù)器作為NameNode主節(jié)點(diǎn),其余四臺機(jī)器作為DataNode從節(jié)點(diǎn),各機(jī)器硬件配置信息如表2所示。

        圖3 隨機(jī)森林模型評估流程圖

        2)軟件環(huán)境

        軟件環(huán)境具體配置如表3所示。

        軟件環(huán)境配置說明:由于服務(wù)器和PC機(jī)的操作系統(tǒng)分別是64位和32位,因此上述各軟件版本有64位和32位之分。具體配置如下:在服務(wù)器 上 安 裝 VM?ware-worksta?

        tion-full-12.0版本的虛擬機(jī),并安裝Cen?tos-7 64位桌面版Linux操作系統(tǒng),然后安裝對應(yīng)64位的JDK,即 JDK-8u144 64位,最后安裝Java開發(fā)工具Eclipse。在3臺PC機(jī)中任選2臺安裝VMware-work?station-full-10.0虛擬機(jī),并安裝Centos-7 32位桌面版Linux操作系統(tǒng),然后安裝對應(yīng)的32位JDK,即JDK-8u144 32位。在剩余一臺PC機(jī)上直接安裝Linux系統(tǒng),即Cen?tos-7 32位桌面版操作系統(tǒng)和32位的JDK。

        表2 實(shí)驗(yàn)環(huán)境硬件配置

        表3 實(shí)驗(yàn)環(huán)境軟件配置

        5.2 實(shí)驗(yàn)數(shù)據(jù)分析

        本次實(shí)驗(yàn)原始數(shù)據(jù)集使用的是UCI公開數(shù)據(jù)庫中的banknote authentication數(shù)據(jù)集,它是利用小波變換工具對紙幣圖像進(jìn)行鑒別,然后從圖片中進(jìn)行特征提取的。該數(shù)據(jù)集共有1372條記錄,每條記錄含5列數(shù)據(jù),其中前4列為樣本特征屬性,均為連續(xù)數(shù)值型數(shù)據(jù)格式,最后一列為樣本的類別標(biāo)簽即真鈔或偽造鈔票。該數(shù)據(jù)集的特征屬性分別為小波變換圖像的方差、小波變換圖像的偏度、小波變換圖像的峰度以及圖像熵。圖4為部分?jǐn)?shù)據(jù)集的數(shù)據(jù)格式。

        圖4 原始數(shù)據(jù)集部分?jǐn)?shù)據(jù)

        5.3 實(shí)驗(yàn)過程

        1)將數(shù)據(jù)集分為訓(xùn)練集和測試集

        由于該數(shù)據(jù)集并沒有提供測試數(shù)據(jù)集,因此首先用Mahout提供的split方法將原始數(shù)據(jù)集分為訓(xùn)練集和測試集兩部分,其中,選擇原始數(shù)據(jù)集的20%作為測試集。

        2)生成描述性文件

        由圖4分析可知,描述性字符串為[4 N L]。[4 N]說明數(shù)據(jù)集前4列為連續(xù)數(shù)值型數(shù)據(jù),L表明這一列為類別標(biāo)簽。圖5顯示了生成描述性文件的運(yùn)行結(jié)果。

        3)用訓(xùn)練集構(gòu)建隨機(jī)森林模型

        在建樹的過程中,決策樹的個數(shù)不同,生成的隨機(jī)森林模型就不相同。本實(shí)驗(yàn)分別選擇使用3棵、5棵和10棵決策樹形成隨機(jī)森林,并對生成的隨機(jī)森林模型進(jìn)行比較分析。

        4)用測試集評估隨機(jī)森林模型

        用測試集去檢驗(yàn)分別由3棵、5棵和10棵決策樹生成的隨機(jī)森林模型,結(jié)果如下。

        5.4 結(jié)果分析

        由圖5可知,描述性文件已經(jīng)生成且存入HDFS文件系統(tǒng)上了。從圖6、圖7和圖8可以看出測試集總記錄條數(shù)為274,即隨機(jī)從原始數(shù)據(jù)選擇20%作為測試集的數(shù)目,該結(jié)果與預(yù)先設(shè)置一致;從不同決策樹形成的隨機(jī)森林模型評估結(jié)果來看,3棵決策樹形成的隨機(jī)森林模型分類正確率為96.7153%,5棵決策樹形成的隨機(jī)森林模型分類正確率為98.5401%,而10棵決策樹形成的隨機(jī)森林模型分類正確率為98.1752%。由此可見,隨機(jī)森林模型的評估質(zhì)量非常高。此外,由該結(jié)果還能得出,隨機(jī)森林模型的評估效果并不是決策樹越多準(zhǔn)確率就越高。

        圖5 生成描述性文件運(yùn)行結(jié)果信息

        圖6 3棵決策樹形成的隨機(jī)森林模型評估結(jié)果運(yùn)行信息

        圖7 5棵決策樹形成的隨機(jī)森林模型評估結(jié)果運(yùn)行信息

        圖8 10棵決策樹形成的隨機(jī)森林模型評估結(jié)果運(yùn)行信息

        由以上三圖給出的混淆矩陣,可以得出,a、b分別表示分類結(jié)果,即a=0、b=1,代表真鈔和偽造鈔票;Classified as表示本應(yīng)該分到此類的數(shù)目,以圖6為例,分到a類的記錄條數(shù)應(yīng)該為149,但實(shí)際只分了144條記錄,即a類有5條記錄是被誤分了。因此,從混淆矩陣可以分析出哪些類別容易被誤分以及分錯的個數(shù)和其他信息等。

        6 結(jié)語

        本文基于Hadoop平臺實(shí)現(xiàn)了Mahout中的隨機(jī)森林算法,并利用banknote authentication數(shù)據(jù)集對生成的隨機(jī)森林模型進(jìn)行效果評估。實(shí)驗(yàn)結(jié)果表明,利用隨機(jī)森林算法對該數(shù)據(jù)集進(jìn)行分類,準(zhǔn)確率高達(dá)96%以上,說明了隨機(jī)森林模型分類精確度較高、性能較穩(wěn)定。此外,本實(shí)驗(yàn)還選取了不同決策樹的個數(shù)以生成不同的隨機(jī)森林模型并分別進(jìn)行驗(yàn)證,結(jié)果表明隨機(jī)森林算法的魯棒性較高、分類效果較好。

        但是,本文也存在一定的不足。從隨機(jī)森林模型的評估效果來看,分類準(zhǔn)確率基本上都在96%以上,這與原始數(shù)據(jù)集的數(shù)據(jù)模式簡單、數(shù)據(jù)特征質(zhì)量高有一定的關(guān)系。因此,下一步,還將針對包含較多特征屬性及數(shù)據(jù)有一定缺失值的數(shù)據(jù)集展開針對性研究,以期對Mahout中的隨機(jī)森林算法的效果做出更進(jìn)一步的評估。

        猜你喜歡
        描述性原始數(shù)據(jù)決策樹
        GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
        虛構(gòu)人名的內(nèi)涵意義分析*——描述性理論面臨的挑戰(zhàn)和反駁
        受特定變化趨勢限制的傳感器數(shù)據(jù)處理方法研究
        一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
        決策樹和隨機(jī)森林方法在管理決策中的應(yīng)用
        電子制作(2018年16期)2018-09-26 03:27:06
        全新Mentor DRS360 平臺借助集中式原始數(shù)據(jù)融合及直接實(shí)時(shí)傳感技術(shù)實(shí)現(xiàn)5 級自動駕駛
        汽車零部件(2017年4期)2017-07-12 17:05:53
        淺析獨(dú)立主格結(jié)構(gòu)在大學(xué)英語四六級段落翻譯中的運(yùn)用
        考試周刊(2016年90期)2016-12-01 19:39:34
        基于決策樹的出租車乘客出行目的識別
        一種基于英文網(wǎng)頁描述性信息的摘要算法
        淺談?wù)Z文課堂中引讀的運(yùn)用
        蜜桃视频在线免费视频| 女同国产日韩精品在线| 亚洲肥老太bbw中国熟女| 91国际视频| 国产乱子伦农村xxxx| 人妻尤物娇呻雪白丰挺| 人妻人妇av一区二区三区四区| 日韩一区av二区三区| 无码a级毛片免费视频内谢| 香蕉人人超人人超碰超国产| 国产香蕉97碰碰视频va碰碰看| 亚洲天堂中文| 亚洲av中文aⅴ无码av不卡| 性色av一区二区三区四区久久| 青青草激情视频在线播放 | 国产狂喷潮在线观看| 亚洲国产激情一区二区三区| 免费一区二区三区在线视频| 中文字幕乱码人妻无码久久久1| 白白白色视频在线观看播放| 国产亚洲精品一区在线| 夜夜躁日日躁狠狠久久av| 一本一道av无码中文字幕﹣百度 | 久久久久无码精品国产app| 美女大量吞精在线观看456| 亚洲日韩精品久久久久久| 久久伊人精品只有这里有| 国产精品久久av色婷婷网站| 夜夜高潮夜夜爽夜夜爱爱一区| 国产精品多p对白交换绿帽| 色窝窝免费播放视频在线| 在线免费欧美| 日本免费一区二区精品| 日本道免费一区二区三区日韩精品| 久久久亚洲av成人网站| 三上悠亚av影院在线看| 中日无码精品一区二区三区| 日韩精品人妻视频一区二区三区 | 久久精品无码专区免费青青| 尤物AV无码色AV无码麻豆| 极品尤物在线精品一区二区三区|