前言:想要寫出一篇引人入勝的文章?我們特意為您整理了Hadoop物聯網數據挖掘的算法分析范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:介紹了物聯網數據處理的若干關鍵技術,如大數據采集、大數據存儲、大數據的分析與挖掘等。以hadoop為平臺對物聯網數據進行挖掘與分析,為了提高處理龐大數據的實效性,基于MapReduce架構采用了樸素貝葉斯分類算法、K-modes聚類算法以及ECLAT算法。分析認為,應用這三類算法,提高了數據分類效率,優化了類內對象之間的相似性以及類間對象之間的關聯性,為更高效的數據挖掘提供了很好的思路。
關鍵詞:物聯網;Hadoop;樸素貝葉斯;K-modes;ECLAT
0引言
當前計算機技術發展迅速,物聯網是在計算機、互聯網之后信息產業發展的第三次浪潮,它必將成為社會發展的重要推力,它能夠實現人與人、人與物和物與物之間的溝通與交流。物聯網的興起也必將再次引發數據的快速增長,對許多行業來說既是更嚴峻的挑戰,也是更寶貴的機遇。物聯網正在深刻改變著人們的生活習慣、工作方式。本文主要采用Hadoop分布式系統架構處理物聯網環境下的大數據,Hadoop是一個分布式計算平臺,具有高可靠性、高擴展性、高效性以及高容錯性等優點。其主要由三大部分構成,HDFS(HadoopDistributedFileSystem)分布式文件系統、HadoopMapReduce分布式計算模型和HBase分布式數據庫。因此,如何更好地應用Hadoop計算平臺處理好物聯網大數據,將是一個待攻克的難題。本文主要分析如何運用Hadoop平臺處理大數據的理論依據,以及物聯網的應用前景。
1物聯網概述
物聯網[1]底層網絡通過RFID(RadioFrequencyIdentification)、WSNs(WirelessSensorNetworks)、無線局域網等網絡技術采集物物交換信息并傳輸到智能匯聚網關,通過智能匯聚網關接入到網絡融合體系,最后利用包括廣播電視網、互聯網、電信網等網絡途徑使信息到達終端用戶應用系統。作為底層的數據感知層次[2],在這個階段主要感知各種各樣的信息內容,例如二維標簽、識別器、攝像頭信息、傳感網絡等。然后,整理收集到的數據通過傳輸層進行傳遞,例如網絡管理中心、通信網絡和智能處理等。最后,系統處理傳輸層的數據,通過人機交互解決信息處理和人機界面的問題。
2Hadoop工作原理
2.1Hadoop基本架構
Hadoop主要是處理大數據的開源式平臺,其具有海量存儲、成本低廉、效率高以及牢靠性高等特點,因此可以應用到物聯網平臺的大數據處理[3]。Hadoop的兩大主要元件是HDFS和MapReduce。前者的工作主要是存儲海量的數據,其存儲方式是分布式的;后者主要是計算處理這些大數據,其計算方式也是分布式處理[4]。為了更好的理解這兩個元件的體系結構及其工作流程.
2.2HDFS分布式文件系統
HDFS是一個分布式文件系統,其具有高容錯性和低廉的成本。HDFS實現的主要目標有以下幾點。①以最快的速度檢查出硬件異常情況并且及時解決異常。②進行批量化處理文件,提高效率節省時間,重點強調數據的吞吐量。③支持大數據集,不僅可以處理聚集式的高寬帶數據,而且可以支持成百個節點的單個集群。④其訪問模式是“一次輸入,多次讀取”,保證了數據訪問吞吐量的高效性。⑤HDFS設計可實現不同平臺間的互相轉移,因而促進了大數據程序平臺的廣泛應用。HDFS以主從(Master/Slave)結構為主,HDFS集群由一個NameNode和許多個DataNode組成。NameNode為主服務器,主要負責管理存儲文件以及訪問客戶端操作文件。DataNode主要負責管理存儲數據,也就是存儲小的數據塊。
2.3MapReduce分布式計算框架
MapReduce的兩大階段主要是Map階段和Reduce階段。Map階段構成:①輸入數據格式解析(InputFormat);②輸入數據處理(Mapper);③數據分組(Partitioner)。而Reduce階段構成:①數據遠程拷貝;②數據按照KEY排序;③數據處理(Reduce);④數據輸出格式(OutputFormat)。其工作流程如下。⑴數據預處理:從HDFS數據庫中讀取數據,分析輸入數據格式。⑵MAP映射任務:讀取自己所屬的文件分片,將每一條數據轉換成鍵值對,運用MAP函數得到新的鍵值對并將其存儲到中間節點上。⑶定位緩存文件:將上一步得到的鍵值對的存儲位置信息發送給Reducer。⑷Reduce階段:通過位置信息讀取文件,將所有數據進行重新排序并且合并同一KEY值,再通過Reduce函數化簡,最后輸出最終結果值。
3數據挖掘算法分析
MapReduce架構具有簡易性、效率高、靠譜性以及并行的運算方式等特點,同時MapReduce架構的運用廣度也有局限性,不能實現全部算法的應用。因此,最關鍵的是此算法需滿足可伸縮性的特點,這里采用三類算法:分類算法、聚類算法和關聯規則算法,研究改造并且能夠應用到MapReduce架構中。
3.1樸素貝葉斯分類算法
樸素貝葉斯分類算法[5](NaiveBayesianclassifi-cation,NBC),即將所有數據進行分類,先以一個特定的點定義好類別,建造一個分類器,其作用是將待定的數據先通過映射,劃分到確定的類別。簡言之,首先需構建一個分類器,獲得某個已知樣本的先驗概率的前提,再運用貝葉斯公式:()()()()PABPBPBAPA=⑴得出一個后驗概率,最后確定后驗概率最大的類是對象所屬的類。樸素貝葉斯分類算法采用的是掃描式方式,其算法操作如下:⑴Main函數:讀取數據集;⑵Map函數:計算離散屬性取值的總和、其連續屬性的平均值μ以及標準差δ;⑶Reduce函數:整合輸出統計值;⑷Main函數:由步驟3的結果生成分類器。
3.2K-modes聚類算法
K-modes聚類算法[6],即先將對象進行聚集劃分成不同的類別和子集,通過靜態分類的方法將相似的成員對象分為一類,以區別于其他簇中的對象。由于這種方式不需要進行人工標注處理,因而具有一定的自適應性即無需看管監督的算法。K-modes算法不僅其算法思想容易實現,而且本身簡單易用,因此成為最常用的聚類算法之一。K-modes算法是K-means算法基礎上的延伸,不僅可以處理數值型數值,也可以處理分類屬性型的數據,這是一個大的改進。K-modes算法可以很好的處理數量少的數據集,同時也可以高效處理龐大的數據集,其算法時間復雜度為O(tnkm),共同決定于迭代數t,數據集中對象數n,劃分子類數k,以及屬性數量m。K-modes算法中modes可直接描述每一個類的屬性和特性,便于解析聚類結果。K-modes算法是收斂的。以上是傳統的K-modes算法的優點,其也有缺點。K-modes算法雖然是收斂的,但是Huang證明其只能在局限收斂中實現最小值,在全局收斂中實現不了。聚類算法的好壞取決于相異度度量方法,K-modes算法在展示兩者的差異性不占優勢。聚類算法中modes決定了結果的精確度,而此算法的modes不是獨一無二的。因此,采用改進的K-modes算法。K-modes聚類算法[7]采用迭代式的方式,其算法操作如下。⑴main函數:讀取數據集中的初始中心點。⑵map函數:主要計算差異值、眾數和目標函數值。⑶main函數:最后讀取和判斷目標函數值,若連續兩輪的結果無變化,則結束這次過程,得出中心點,反之需要進行下一輪的迭代進程。因此,聚類算法的應用能夠將類內對象的相似性達到最大,類間對象的相似性盡量的小,從而可以更好的區分對象間的差別。
3.3ECLAT頻繁項集挖掘算法
關聯規則挖掘算法的主要作用是找出不同項集之間的關聯性,并且應用到大數據中。例如,顧客去便利超市買東西,觀察分析顧客的購物車,會發現商品間的聯系。因而調整商品的擺放位置,可以更好的促銷商品。ECLAT算法[8]其本質是一種頻繁項集挖掘算法,其異于傳統的數據結構,是基于垂直數據結構格式。其工作流程如下:首先全面掃描所有數據,然后將數據的格式展示為垂直的,最后得到一個項集的長度值,即項集支持度的計數。依據算法Apriori的特性,從K=1開始,對頻繁K項集的交進行計算,構建備選的K+1項集并且選出第K+1項時,反復操作,將K的值加一,當不能挖掘出頻繁項集便結束這個工作。ECLAT頻繁項集挖掘算法也是采用迭代式,其算法操作如下。⑴Main函數:讀取上一輪的挖掘數據。⑵Map函數:存儲垂直K項集。⑶Reduce函數:對垂直K項集挖掘出頻繁K項集。⑷Main函數:讀取最終的Reduce函數中的結果,如果不是空值,繼續進行下一輪挖掘,反之就結束此程序。因此,ECLAT算法的最大優勢是更快地找出數據間的關聯性,為數據挖掘提供了很好的解決方法。
4應用前景
隨著物聯網技術的發展,其能夠廣泛應用到各行各業[9]。例如,農業物聯網即物聯網技術應用于農業領域,從農業的生產、經營、管理到服務都可以提供支持,通過農業信息感知設備,提高農業生產的品質與效率。智能交通中,將物聯網技術應用到交通運輸領域,實現交通運輸的智能化,提高國家的整體實力和科技水平。城市安全管理是將物聯網技術應用到公共安全領域。例如城軌站點安全監測,人員密集的公共場所安全監測,橋梁建筑物安全監測,以及特定危險品的生產場所的安全監測等。同時,物聯網可以應用到石油行業中,從油氣勘探、鉆井、油田生產到管理運輸和煉油化工等方面,物聯網技術大大提高了生產和管理效率,從而增強我國石油行業的可持續發展能力和國際影響力。
5結束語
本文通過Hadoop平臺挖掘分析物聯網數據,并且將樸素貝葉斯分類算法、K-modes聚類算法以及ECLAT頻繁項集挖掘算法應用于MapReduce架構。結果表明,這三類算法的運用可以更高效的處理大數據,從而獲取更有價值的信息。優化物聯網數據挖掘分析方法,進而促進物聯網產業的發展。物聯網作為新一代信息技術的典型代表,不僅滲透到農業生產、智能交通、公共安全、石油產業等領域,而且對將來的經濟發展和社會生活都將產生深遠影響。物聯網的挖掘分析方法在實際運用中還需要進一步探索與研究。
作者:陳娟 單位:揚州大學廣陵學院