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