国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop平臺(tái)的Spark快數(shù)據(jù)推薦算法解析

2020-07-22 09:57吳榮段宏濤
關(guān)鍵詞:項(xiàng)集數(shù)據(jù)挖掘圖書

吳榮 段宏濤

摘要:在大數(shù)據(jù)挖掘方面,基于Hadoop平臺(tái)的Spark快數(shù)據(jù)推薦算法具有一定優(yōu)勢(shì)?;谶@種認(rèn)識(shí),本文從平臺(tái)算法組成和算法實(shí)現(xiàn)兩個(gè)角度對(duì)該算法進(jìn)行了解析,并對(duì)算法在圖書推薦系統(tǒng)中的應(yīng)用方法展開了探討。從系統(tǒng)功能仿真分析結(jié)果來看,應(yīng)用Spark快數(shù)據(jù)推薦算法進(jìn)行圖書推薦,能夠使圖書推薦系統(tǒng)推薦準(zhǔn)確度得到提高,并且大幅度縮短圖書推薦時(shí)間。

關(guān)鍵詞:Hadoop平臺(tái);Spark快數(shù)據(jù)推薦算法;圖書推薦系統(tǒng)

中圖分類號(hào):G250.74 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2020)06-0115-03

0 引言

面對(duì)海量圖書資源,想要從中篩選出適合圖書還要依賴信息技術(shù)支撐。而目前在圖書推薦算法開發(fā)方面,采用傳統(tǒng)算法難以滿足數(shù)據(jù)實(shí)時(shí)處理需求。應(yīng)用基于Hadoop平臺(tái)的Spark快數(shù)據(jù)推薦算法,能夠?qū)崿F(xiàn)系統(tǒng)推薦性能優(yōu)化,因此還應(yīng)加強(qiáng)算法解析和運(yùn)用,滿足讀者圖書借閱需求。

1 基于Hadoop平臺(tái)的Spark快數(shù)據(jù)推薦算法分析

1.1 平臺(tái)算法分析

Spark快數(shù)據(jù)推薦算法實(shí)現(xiàn)需要依靠Hadoop基礎(chǔ)平臺(tái),作為開源組織Apache開發(fā)的分布式架構(gòu),Hadoop能夠完成Yarn搭建以實(shí)現(xiàn)平臺(tái)資源管理,并搭建Mahout框架為機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)提供支撐,利用MapReduce模型實(shí)現(xiàn)數(shù)據(jù)信息挖掘,借助Storm完成在線數(shù)據(jù)實(shí)時(shí)處理。在Hadoop平臺(tái)上完成Spark框架的搭建,可以采用基于內(nèi)存的編程模型實(shí)現(xiàn)數(shù)據(jù)快速挖掘,通過節(jié)省中間迭代過程提高程序執(zhí)行速率。實(shí)際在框架建立過程中,需要完成四個(gè)數(shù)據(jù)處理單元設(shè)計(jì),具體包含Spark SQL-RDD、MLlib、Sprak Streaming和Graphx,分別為數(shù)據(jù)執(zhí)行單元、機(jī)器學(xué)習(xí)、實(shí)時(shí)處理和圖計(jì)算單元,均屬于RDD,因此能夠保證各種應(yīng)用場(chǎng)景編程一致,體現(xiàn)算法強(qiáng)大數(shù)據(jù)整合能力[1]。按照RDD數(shù)據(jù)處理機(jī)制,算法能夠完成數(shù)據(jù)結(jié)構(gòu)包裝,通過機(jī)器學(xué)習(xí)ALS算法進(jìn)行數(shù)據(jù)推薦,利用圖計(jì)算PageRank算法進(jìn)行排名,所以能夠成為快數(shù)據(jù)推薦算法。應(yīng)用該算法,需要先完成框架初始化,然后進(jìn)行原始數(shù)據(jù)加載,在將數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)集后,可以進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練,完成需要預(yù)測(cè)內(nèi)容的提取。重復(fù)進(jìn)行數(shù)據(jù)合并與預(yù)測(cè),能夠?qū)崿F(xiàn)數(shù)據(jù)格式映射,將推薦內(nèi)容排名顯示出來。完成新數(shù)據(jù)接收后,算法可以進(jìn)行數(shù)據(jù)集中數(shù)據(jù)更新,然后重新進(jìn)行推薦排名。

1.2 算法實(shí)現(xiàn)原理

對(duì)Spark快數(shù)據(jù)推薦算法實(shí)現(xiàn)原理展開分析可以發(fā)現(xiàn),該算法主要依靠機(jī)器學(xué)習(xí)算法和PageRank算法進(jìn)行推薦排名。機(jī)器學(xué)習(xí)算法ALS實(shí)際就是交替最小二乘法,能夠在上下文中通過交替最小二乘求解實(shí)現(xiàn)協(xié)同推薦,對(duì)觀察到的全部內(nèi)容進(jìn)行打分,結(jié)合對(duì)用戶喜好的推斷進(jìn)行相應(yīng)內(nèi)容的推薦[2]。如式(1)所示,為推薦打分算法模型,式中U和M分別為評(píng)分專家和推薦內(nèi)容,U×M為打分矩陣,ui指的是第i個(gè)評(píng)分專家,mj指的是第j個(gè)推薦內(nèi)容,rij指的是i專家對(duì)j內(nèi)容的評(píng)分,T則為矩陣轉(zhuǎn)置,λ為矩陣特征向量。采用Spark算法進(jìn)行數(shù)據(jù)集訓(xùn)練,可以得到預(yù)測(cè)函數(shù)進(jìn)行專業(yè)推薦。在數(shù)據(jù)更新后,可以重新訓(xùn)練,從而實(shí)現(xiàn)準(zhǔn)確推薦。在算法應(yīng)用過程中,還應(yīng)完成初始數(shù)據(jù)、迭代次數(shù)及收斂值的設(shè)定,以便使算法能夠在指定時(shí)間內(nèi)完成訓(xùn)練。

由于算法統(tǒng)一利用彈性分布式數(shù)據(jù)集進(jìn)行數(shù)據(jù)表示,RDD本身屬于共享內(nèi)存模型,能夠?qū)Ψ謪^(qū)集合進(jìn)行記錄,并對(duì)確定轉(zhuǎn)換操作進(jìn)行執(zhí)行,所以可以降低算法開銷。

2 Spark快數(shù)據(jù)推薦算法在圖書推薦系統(tǒng)中的應(yīng)用

2.1 算法應(yīng)用思路

設(shè)計(jì)圖書推薦系統(tǒng),可以結(jié)合讀者借閱興趣進(jìn)行圖書推薦。而以往在讀者興趣數(shù)據(jù)挖掘方面,系統(tǒng)多采用聚類分析等方法,需要在開源平臺(tái)上實(shí)現(xiàn)數(shù)據(jù)并行處理,如采用Apriori算法,依靠關(guān)聯(lián)規(guī)則進(jìn)行數(shù)據(jù)挖掘,算法需要經(jīng)過大量迭代運(yùn)算,導(dǎo)致系統(tǒng)無法在短時(shí)間內(nèi)迅速完成信息反饋,無法滿足讀者的圖書借閱需求。針對(duì)這一問題,采用Spark快數(shù)據(jù)推薦算法能夠利用開源集群計(jì)算框架完成讀者個(gè)性化閱讀信息的快速挖掘,從中提取閱讀數(shù)據(jù)偏好,在分析讀者借閱行為數(shù)據(jù)基礎(chǔ)上實(shí)現(xiàn)圖書推薦,因此能夠使系統(tǒng)為讀者提供個(gè)性化服務(wù)。

2.2 系統(tǒng)框架分析

實(shí)際應(yīng)用算法可以將圖書館借閱數(shù)據(jù)當(dāng)成是訓(xùn)練數(shù)據(jù),使系統(tǒng)能夠通過數(shù)據(jù)分析及時(shí)向借閱讀者推薦感興趣的圖書。為保證系統(tǒng)能夠迅速完成大數(shù)據(jù)挖掘,還要采用Hadoop云平臺(tái),利用分布式計(jì)算系統(tǒng)進(jìn)行各種結(jié)構(gòu)類型數(shù)據(jù)集合,提供分布式存儲(chǔ)計(jì)算環(huán)境,保證系統(tǒng)在數(shù)據(jù)分析上具有一定優(yōu)勢(shì)。在該環(huán)境下,系統(tǒng)可以獲得開放信息資源,利用平臺(tái)進(jìn)行數(shù)據(jù)上傳下載管理,使大數(shù)據(jù)吞吐量問題得到解決,保證資源交互的流暢性。從系統(tǒng)平臺(tái)框架上來看,主要包含Map Reduce和HDFS,可以滿足分布式計(jì)算任務(wù)要求,將完整數(shù)據(jù)流拆分成多個(gè)作業(yè)流[3]。針對(duì)每個(gè)作業(yè)流,可以利用Job表示,構(gòu)成相應(yīng)DAG圖,利用圖中各邊進(jìn)行兩個(gè)Job間關(guān)系表示。經(jīng)過處理優(yōu)化,能夠使系統(tǒng)數(shù)據(jù)庫連接次數(shù)得到減少,同時(shí)降低無用候選項(xiàng)集的生成概率,因此能夠使圖書推薦正確率得到提高。

2.3 圖書推薦流程

在系統(tǒng)圖書推薦功能實(shí)現(xiàn)上,需要利用Spark算法完成transformation和action操作程序調(diào)用,根據(jù)上次迭代結(jié)果進(jìn)行迭代求解[4]。在算法并行化偽代碼實(shí)現(xiàn)上,還要先進(jìn)行數(shù)據(jù)輸入,數(shù)據(jù)源路徑為input path,得到的數(shù)據(jù)集為Dataset,可以在系統(tǒng)云平臺(tái)上進(jìn)行存儲(chǔ)。系統(tǒng)算法操作過程中,還要由Master憑借算子完成事物集獲取,并對(duì)數(shù)據(jù)源進(jìn)行預(yù)處理掃描,在HDFS上進(jìn)行存儲(chǔ),得到相應(yīng)RDD。在系統(tǒng)初始化期間,還應(yīng)完成最小支持度閾值和置信度的設(shè)置,分別為0.4和0.7。通過output path路徑,可以進(jìn)行頻繁集的輸出。由Worker利用count,能夠?qū)Ω黜?xiàng)集合求取,將RDD分解為多個(gè)數(shù)據(jù)塊,在m個(gè)worker節(jié)點(diǎn)上得到分配處理。根據(jù)節(jié)點(diǎn)項(xiàng)集Itermsets,可以得到局部K-項(xiàng)集subitemset,完成函數(shù)過濾。針對(duì)每行數(shù)據(jù)記錄,應(yīng)當(dāng)進(jìn)行分割,進(jìn)行事物所有項(xiàng)候選項(xiàng)集的計(jì)算。在Key相同的情況下,可以將選項(xiàng)集歸為同一組。針對(duì)同組,還應(yīng)根據(jù)次數(shù)和規(guī)則完成置信度的計(jì)算。通過對(duì)無法達(dá)到置信度閾值的選項(xiàng)集,可以進(jìn)行過濾刪除,最終返回推薦列表。實(shí)際應(yīng)用Spark算法,能夠?qū)?shù)據(jù)庫中各事物數(shù)據(jù)對(duì)多個(gè)子節(jié)點(diǎn)進(jìn)行均衡分發(fā),利用局部查找頻繁項(xiàng)集進(jìn)行全局操作的替代,以免對(duì)數(shù)據(jù)集進(jìn)行實(shí)時(shí)排序。因此算法應(yīng)用能夠?qū)崿F(xiàn)數(shù)據(jù)挖掘和生成的并行化,達(dá)到提高數(shù)據(jù)挖掘效率的目標(biāo)。

2.4 系統(tǒng)功能仿真

為確定系統(tǒng)圖書推薦功能實(shí)現(xiàn)情況,還要采用Matlab軟件進(jìn)行仿真,共完成圖書館2500位用戶和15000本圖書的數(shù)據(jù)收集和分析。仿真采用Intel Core i5 2.2GHz處理器,擁有400GB硬盤和6GB內(nèi)存,軟件采用Windows 10操作系統(tǒng)。為加強(qiáng)算法對(duì)比,還要采用傳統(tǒng)Apriori算法對(duì)相同測(cè)試數(shù)據(jù)進(jìn)行分析。從分析結(jié)果來看,在系統(tǒng)推薦書籍?dāng)?shù)量從1000提高至15000的過程中,采用Spark算法排序準(zhǔn)確度能夠從0.54提高至0.69,采用傳統(tǒng)算法從0.51提高至0.61。由此可見,在系統(tǒng)推薦圖書數(shù)量不斷增加的過程中,算法的準(zhǔn)確度都能得到提高。但相較于傳統(tǒng)算法,采用Spark算法準(zhǔn)確度提高幅度更大。從時(shí)間變化上來看,在推薦書籍?dāng)?shù)量提高過程中,采用Spark算法耗費(fèi)的時(shí)間從35s逐步增加至500s,采用傳統(tǒng)算法耗費(fèi)時(shí)間從135s提高至2493s。由此可見,推薦圖書數(shù)量的增加將導(dǎo)致系統(tǒng)數(shù)據(jù)處理時(shí)間增加,但采用Spark算法時(shí)間明顯得到了縮短,由此可見算法擁有較強(qiáng)的數(shù)據(jù)處理能力,能夠使系統(tǒng)獲得良好圖書推薦性能。

3 結(jié)論

綜上所述,在海量數(shù)據(jù)分析和挖掘方面,采用基于Hadoop平臺(tái)的Spark快數(shù)據(jù)推薦算法能夠縮短數(shù)據(jù)處理時(shí)間,在一定程度上實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)分析和有價(jià)值信息的提取。在圖書推薦系統(tǒng)中應(yīng)用該算法,能夠在提高圖書推薦準(zhǔn)確度的同時(shí),大幅度縮短圖書推薦時(shí)間,因此能夠使系統(tǒng)推薦功能得到較好實(shí)現(xiàn)。

參考文獻(xiàn)

[1] 陳虹君,吳雪琴.基于Hadoop平臺(tái)的Spark快數(shù)據(jù)推薦算法分析與應(yīng)用[J].現(xiàn)代電子技術(shù),2016(10):18-20.

[2] 高琪娟,劉鍇,陳佳.面向Spark的圖書借閱數(shù)據(jù)關(guān)聯(lián)模型的研究[J].安徽農(nóng)業(yè)大學(xué)學(xué)報(bào),2018(4):768-771.

[3] 曹耀輝.基于Spark平臺(tái)的電商推薦系統(tǒng)的設(shè)計(jì)分析[J].自動(dòng)化與儀器儀表,2017(7):100-103.

[4] 賈旖旎,周新民,曹芳.基于HDFS+Spark的時(shí)空大數(shù)據(jù)存儲(chǔ)與處理——以智慧無錫時(shí)空大數(shù)據(jù)為例[J].軟件,2019,40(11):19-23.

猜你喜歡
項(xiàng)集數(shù)據(jù)挖掘圖書
圖書推薦
歡迎來到圖書借閱角
基于并行計(jì)算的大數(shù)據(jù)挖掘在電網(wǎng)中的應(yīng)用
一種基于Hadoop的大數(shù)據(jù)挖掘云服務(wù)及應(yīng)用
一種頻繁核心項(xiàng)集的快速挖掘算法
基于GPGPU的離散數(shù)據(jù)挖掘研究
一種新的改進(jìn)Apriori算法*
分布式數(shù)據(jù)庫的精簡頻繁模式集及其挖掘算法*
罗田县| 台南市| 池州市| 衡山县| 德兴市| 军事| 邵东县| 澜沧| 廉江市| 竹北市| 和顺县| 永修县| 墨竹工卡县| 阳谷县| 县级市| 巧家县| 柞水县| 东乡族自治县| 通化县| 固阳县| 桃园市| 陇南市| 通海县| 惠东县| 青岛市| 手游| 贵港市| 扎兰屯市| 台东县| 江阴市| 宁南县| 庆安县| 大港区| 杭州市| 桐梓县| 邮箱| 遂川县| 浏阳市| 赤壁市| 翁牛特旗| 涿州市|