公務員期刊網(wǎng) 論文中心 正文

Hadoop物聯(lián)網(wǎng)數(shù)據(jù)挖掘的算法分析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了Hadoop物聯(lián)網(wǎng)數(shù)據(jù)挖掘的算法分析范文,希望能給你帶來靈感和參考,敬請閱讀。

Hadoop物聯(lián)網(wǎng)數(shù)據(jù)挖掘的算法分析

摘要:介紹了物聯(lián)網(wǎng)數(shù)據(jù)處理的若干關鍵技術,如大數(shù)據(jù)采集、大數(shù)據(jù)存儲、大數(shù)據(jù)的分析與挖掘等。以hadoop為平臺對物聯(lián)網(wǎng)數(shù)據(jù)進行挖掘與分析,為了提高處理龐大數(shù)據(jù)的實效性,基于MapReduce架構采用了樸素貝葉斯分類算法、K-modes聚類算法以及ECLAT算法。分析認為,應用這三類算法,提高了數(shù)據(jù)分類效率,優(yōu)化了類內(nèi)對象之間的相似性以及類間對象之間的關聯(lián)性,為更高效的數(shù)據(jù)挖掘提供了很好的思路。

關鍵詞:物聯(lián)網(wǎng);Hadoop;樸素貝葉斯;K-modes;ECLAT

0引言

當前計算機技術發(fā)展迅速,物聯(lián)網(wǎng)是在計算機、互聯(lián)網(wǎng)之后信息產(chǎn)業(yè)發(fā)展的第三次浪潮,它必將成為社會發(fā)展的重要推力,它能夠?qū)崿F(xiàn)人與人、人與物和物與物之間的溝通與交流。物聯(lián)網(wǎng)的興起也必將再次引發(fā)數(shù)據(jù)的快速增長,對許多行業(yè)來說既是更嚴峻的挑戰(zhàn),也是更寶貴的機遇。物聯(lián)網(wǎng)正在深刻改變著人們的生活習慣、工作方式。本文主要采用Hadoop分布式系統(tǒng)架構處理物聯(lián)網(wǎng)環(huán)境下的大數(shù)據(jù),Hadoop是一個分布式計算平臺,具有高可靠性、高擴展性、高效性以及高容錯性等優(yōu)點。其主要由三大部分構成,HDFS(HadoopDistributedFileSystem)分布式文件系統(tǒng)、HadoopMapReduce分布式計算模型和HBase分布式數(shù)據(jù)庫。因此,如何更好地應用Hadoop計算平臺處理好物聯(lián)網(wǎng)大數(shù)據(jù),將是一個待攻克的難題。本文主要分析如何運用Hadoop平臺處理大數(shù)據(jù)的理論依據(jù),以及物聯(lián)網(wǎng)的應用前景。

1物聯(lián)網(wǎng)概述

物聯(lián)網(wǎng)[1]底層網(wǎng)絡通過RFID(RadioFrequencyIdentification)、WSNs(WirelessSensorNetworks)、無線局域網(wǎng)等網(wǎng)絡技術采集物物交換信息并傳輸?shù)街悄軈R聚網(wǎng)關,通過智能匯聚網(wǎng)關接入到網(wǎng)絡融合體系,最后利用包括廣播電視網(wǎng)、互聯(lián)網(wǎng)、電信網(wǎng)等網(wǎng)絡途徑使信息到達終端用戶應用系統(tǒng)。作為底層的數(shù)據(jù)感知層次[2],在這個階段主要感知各種各樣的信息內(nèi)容,例如二維標簽、識別器、攝像頭信息、傳感網(wǎng)絡等。然后,整理收集到的數(shù)據(jù)通過傳輸層進行傳遞,例如網(wǎng)絡管理中心、通信網(wǎng)絡和智能處理等。最后,系統(tǒng)處理傳輸層的數(shù)據(jù),通過人機交互解決信息處理和人機界面的問題。

2Hadoop工作原理

2.1Hadoop基本架構

Hadoop主要是處理大數(shù)據(jù)的開源式平臺,其具有海量存儲、成本低廉、效率高以及牢靠性高等特點,因此可以應用到物聯(lián)網(wǎng)平臺的大數(shù)據(jù)處理[3]。Hadoop的兩大主要元件是HDFS和MapReduce。前者的工作主要是存儲海量的數(shù)據(jù),其存儲方式是分布式的;后者主要是計算處理這些大數(shù)據(jù),其計算方式也是分布式處理[4]。為了更好的理解這兩個元件的體系結構及其工作流程.

2.2HDFS分布式文件系統(tǒng)

HDFS是一個分布式文件系統(tǒng),其具有高容錯性和低廉的成本。HDFS實現(xiàn)的主要目標有以下幾點。①以最快的速度檢查出硬件異常情況并且及時解決異常。②進行批量化處理文件,提高效率節(jié)省時間,重點強調(diào)數(shù)據(jù)的吞吐量。③支持大數(shù)據(jù)集,不僅可以處理聚集式的高寬帶數(shù)據(jù),而且可以支持成百個節(jié)點的單個集群。④其訪問模式是“一次輸入,多次讀取”,保證了數(shù)據(jù)訪問吞吐量的高效性。⑤HDFS設計可實現(xiàn)不同平臺間的互相轉(zhuǎn)移,因而促進了大數(shù)據(jù)程序平臺的廣泛應用。HDFS以主從(Master/Slave)結構為主,HDFS集群由一個NameNode和許多個DataNode組成。NameNode為主服務器,主要負責管理存儲文件以及訪問客戶端操作文件。DataNode主要負責管理存儲數(shù)據(jù),也就是存儲小的數(shù)據(jù)塊。

2.3MapReduce分布式計算框架

MapReduce的兩大階段主要是Map階段和Reduce階段。Map階段構成:①輸入數(shù)據(jù)格式解析(InputFormat);②輸入數(shù)據(jù)處理(Mapper);③數(shù)據(jù)分組(Partitioner)。而Reduce階段構成:①數(shù)據(jù)遠程拷貝;②數(shù)據(jù)按照KEY排序;③數(shù)據(jù)處理(Reduce);④數(shù)據(jù)輸出格式(OutputFormat)。其工作流程如下。⑴數(shù)據(jù)預處理:從HDFS數(shù)據(jù)庫中讀取數(shù)據(jù),分析輸入數(shù)據(jù)格式。⑵MAP映射任務:讀取自己所屬的文件分片,將每一條數(shù)據(jù)轉(zhuǎn)換成鍵值對,運用MAP函數(shù)得到新的鍵值對并將其存儲到中間節(jié)點上。⑶定位緩存文件:將上一步得到的鍵值對的存儲位置信息發(fā)送給Reducer。⑷Reduce階段:通過位置信息讀取文件,將所有數(shù)據(jù)進行重新排序并且合并同一KEY值,再通過Reduce函數(shù)化簡,最后輸出最終結果值。

3數(shù)據(jù)挖掘算法分析

MapReduce架構具有簡易性、效率高、靠譜性以及并行的運算方式等特點,同時MapReduce架構的運用廣度也有局限性,不能實現(xiàn)全部算法的應用。因此,最關鍵的是此算法需滿足可伸縮性的特點,這里采用三類算法:分類算法、聚類算法和關聯(lián)規(guī)則算法,研究改造并且能夠應用到MapReduce架構中。

3.1樸素貝葉斯分類算法

樸素貝葉斯分類算法[5](NaiveBayesianclassifi-cation,NBC),即將所有數(shù)據(jù)進行分類,先以一個特定的點定義好類別,建造一個分類器,其作用是將待定的數(shù)據(jù)先通過映射,劃分到確定的類別。簡言之,首先需構建一個分類器,獲得某個已知樣本的先驗概率的前提,再運用貝葉斯公式:()()()()PABPBPBAPA=⑴得出一個后驗概率,最后確定后驗概率最大的類是對象所屬的類。樸素貝葉斯分類算法采用的是掃描式方式,其算法操作如下:⑴Main函數(shù):讀取數(shù)據(jù)集;⑵Map函數(shù):計算離散屬性取值的總和、其連續(xù)屬性的平均值μ以及標準差δ;⑶Reduce函數(shù):整合輸出統(tǒng)計值;⑷Main函數(shù):由步驟3的結果生成分類器。

3.2K-modes聚類算法

K-modes聚類算法[6],即先將對象進行聚集劃分成不同的類別和子集,通過靜態(tài)分類的方法將相似的成員對象分為一類,以區(qū)別于其他簇中的對象。由于這種方式不需要進行人工標注處理,因而具有一定的自適應性即無需看管監(jiān)督的算法。K-modes算法不僅其算法思想容易實現(xiàn),而且本身簡單易用,因此成為最常用的聚類算法之一。K-modes算法是K-means算法基礎上的延伸,不僅可以處理數(shù)值型數(shù)值,也可以處理分類屬性型的數(shù)據(jù),這是一個大的改進。K-modes算法可以很好的處理數(shù)量少的數(shù)據(jù)集,同時也可以高效處理龐大的數(shù)據(jù)集,其算法時間復雜度為O(tnkm),共同決定于迭代數(shù)t,數(shù)據(jù)集中對象數(shù)n,劃分子類數(shù)k,以及屬性數(shù)量m。K-modes算法中modes可直接描述每一個類的屬性和特性,便于解析聚類結果。K-modes算法是收斂的。以上是傳統(tǒng)的K-modes算法的優(yōu)點,其也有缺點。K-modes算法雖然是收斂的,但是Huang證明其只能在局限收斂中實現(xiàn)最小值,在全局收斂中實現(xiàn)不了。聚類算法的好壞取決于相異度度量方法,K-modes算法在展示兩者的差異性不占優(yōu)勢。聚類算法中modes決定了結果的精確度,而此算法的modes不是獨一無二的。因此,采用改進的K-modes算法。K-modes聚類算法[7]采用迭代式的方式,其算法操作如下。⑴main函數(shù):讀取數(shù)據(jù)集中的初始中心點。⑵map函數(shù):主要計算差異值、眾數(shù)和目標函數(shù)值。⑶main函數(shù):最后讀取和判斷目標函數(shù)值,若連續(xù)兩輪的結果無變化,則結束這次過程,得出中心點,反之需要進行下一輪的迭代進程。因此,聚類算法的應用能夠?qū)㈩悆?nèi)對象的相似性達到最大,類間對象的相似性盡量的小,從而可以更好的區(qū)分對象間的差別。

3.3ECLAT頻繁項集挖掘算法

關聯(lián)規(guī)則挖掘算法的主要作用是找出不同項集之間的關聯(lián)性,并且應用到大數(shù)據(jù)中。例如,顧客去便利超市買東西,觀察分析顧客的購物車,會發(fā)現(xiàn)商品間的聯(lián)系。因而調(diào)整商品的擺放位置,可以更好的促銷商品。ECLAT算法[8]其本質(zhì)是一種頻繁項集挖掘算法,其異于傳統(tǒng)的數(shù)據(jù)結構,是基于垂直數(shù)據(jù)結構格式。其工作流程如下:首先全面掃描所有數(shù)據(jù),然后將數(shù)據(jù)的格式展示為垂直的,最后得到一個項集的長度值,即項集支持度的計數(shù)。依據(jù)算法Apriori的特性,從K=1開始,對頻繁K項集的交進行計算,構建備選的K+1項集并且選出第K+1項時,反復操作,將K的值加一,當不能挖掘出頻繁項集便結束這個工作。ECLAT頻繁項集挖掘算法也是采用迭代式,其算法操作如下。⑴Main函數(shù):讀取上一輪的挖掘數(shù)據(jù)。⑵Map函數(shù):存儲垂直K項集。⑶Reduce函數(shù):對垂直K項集挖掘出頻繁K項集。⑷Main函數(shù):讀取最終的Reduce函數(shù)中的結果,如果不是空值,繼續(xù)進行下一輪挖掘,反之就結束此程序。因此,ECLAT算法的最大優(yōu)勢是更快地找出數(shù)據(jù)間的關聯(lián)性,為數(shù)據(jù)挖掘提供了很好的解決方法。

4應用前景

隨著物聯(lián)網(wǎng)技術的發(fā)展,其能夠廣泛應用到各行各業(yè)[9]。例如,農(nóng)業(yè)物聯(lián)網(wǎng)即物聯(lián)網(wǎng)技術應用于農(nóng)業(yè)領域,從農(nóng)業(yè)的生產(chǎn)、經(jīng)營、管理到服務都可以提供支持,通過農(nóng)業(yè)信息感知設備,提高農(nóng)業(yè)生產(chǎn)的品質(zhì)與效率。智能交通中,將物聯(lián)網(wǎng)技術應用到交通運輸領域,實現(xiàn)交通運輸?shù)闹悄芑?,提高國家的整體實力和科技水平。城市安全管理是將物聯(lián)網(wǎng)技術應用到公共安全領域。例如城軌站點安全監(jiān)測,人員密集的公共場所安全監(jiān)測,橋梁建筑物安全監(jiān)測,以及特定危險品的生產(chǎn)場所的安全監(jiān)測等。同時,物聯(lián)網(wǎng)可以應用到石油行業(yè)中,從油氣勘探、鉆井、油田生產(chǎn)到管理運輸和煉油化工等方面,物聯(lián)網(wǎng)技術大大提高了生產(chǎn)和管理效率,從而增強我國石油行業(yè)的可持續(xù)發(fā)展能力和國際影響力。

5結束語

本文通過Hadoop平臺挖掘分析物聯(lián)網(wǎng)數(shù)據(jù),并且將樸素貝葉斯分類算法、K-modes聚類算法以及ECLAT頻繁項集挖掘算法應用于MapReduce架構。結果表明,這三類算法的運用可以更高效的處理大數(shù)據(jù),從而獲取更有價值的信息。優(yōu)化物聯(lián)網(wǎng)數(shù)據(jù)挖掘分析方法,進而促進物聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展。物聯(lián)網(wǎng)作為新一代信息技術的典型代表,不僅滲透到農(nóng)業(yè)生產(chǎn)、智能交通、公共安全、石油產(chǎn)業(yè)等領域,而且對將來的經(jīng)濟發(fā)展和社會生活都將產(chǎn)生深遠影響。物聯(lián)網(wǎng)的挖掘分析方法在實際運用中還需要進一步探索與研究。

作者:陳娟 單位:揚州大學廣陵學院