李彥廣
(商洛學(xué)院數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西商洛726000)
基于Spark+MLlib分布式學(xué)習(xí)算法的研究
李彥廣
(商洛學(xué)院數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西商洛726000)
電子商務(wù)服務(wù)的關(guān)鍵是用戶的需求,隨著電子商務(wù)業(yè)務(wù)的急速擴(kuò)展,用戶數(shù)據(jù)量的海量增長(zhǎng),針對(duì)傳統(tǒng)的單機(jī)算法很難滿足業(yè)務(wù)需求的現(xiàn)狀,提出了基于Spark+MLlib的分布式學(xué)習(xí)算法,系統(tǒng)在實(shí)現(xiàn)過(guò)程中進(jìn)行了分類和預(yù)測(cè),并實(shí)現(xiàn)了用戶標(biāo)簽系統(tǒng)。通過(guò)測(cè)試,新的算法明顯優(yōu)于單機(jī)算法。
Spark;MLlib;標(biāo)簽系統(tǒng);構(gòu)建
對(duì)用戶需求的了解是電子商務(wù)企業(yè)服務(wù)好用戶的關(guān)鍵[1]。對(duì)用戶進(jìn)行畫(huà)像是了解用戶的屬性和行為特征的最好途徑[2]。一些商業(yè)行為的背后,需要對(duì)海量數(shù)據(jù)進(jìn)行分析,歸類用戶的各種屬性和行為特征,以便做分類和預(yù)測(cè)。機(jī)器學(xué)習(xí)是實(shí)現(xiàn)分類和預(yù)測(cè)的重要手段,然而,電子商務(wù)業(yè)蓬勃發(fā)展,數(shù)據(jù)量大規(guī)模增長(zhǎng),按文獻(xiàn)[1]所提到的傳統(tǒng)單機(jī)算法很難以滿足需求,文獻(xiàn)[2]所提到的梯度下降法非常費(fèi)時(shí)。Spark的出現(xiàn),便以多迭代、輕量級(jí)的框架設(shè)計(jì),窄依賴流水化的計(jì)算模式擺脫了大量磁盤交換的桎梏[3]。MLlib是Spark對(duì)常用的機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn)庫(kù),同時(shí)包括相關(guān)的測(cè)試和數(shù)據(jù)生成器[4]。鑒于Spark及MLlib的特性,本文提出了基于Spark+MLlib的分布式機(jī)器學(xué)習(xí)算法,主要描述使用Spark+MLlib進(jìn)行分類與預(yù)測(cè)的原理、實(shí)現(xiàn)方法。
1.1 Spark
Spark是一個(gè)基于內(nèi)存的分布式計(jì)算系統(tǒng),是由UC Berkeley AMPLab實(shí)驗(yàn)室于2009年開(kāi)發(fā)的開(kāi)源數(shù)據(jù)分析集群計(jì)算框架,是BDAS (Berkeley Data Analytics Stack)中的核心項(xiàng)目,被設(shè)計(jì)用來(lái)完成交互式的數(shù)據(jù)分析任務(wù)[4]。……