論過濾算法在煤炭管理的作用
時(shí)間:2022-06-24 02:52:13
導(dǎo)語:論過濾算法在煤炭管理的作用一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
針對(duì)大規(guī)模消費(fèi)歷史記錄,消費(fèi)者矩陣規(guī)模非常龐大,傳統(tǒng)的算法不能有效地處理該數(shù)據(jù)矩陣。文中基于流行的MapReduce云計(jì)算平臺(tái),提出了分布式基于項(xiàng)目的KNN協(xié)同過濾算法。下面,對(duì)該算法的執(zhí)行過程進(jìn)行描述:(1)將消費(fèi)者歷史記錄平均分配到N個(gè)計(jì)算節(jié)點(diǎn)中;(2)在不同的計(jì)算節(jié)點(diǎn)k中,計(jì)算該節(jié)點(diǎn)中不同頻度乘積,以及頻度平方根,如下:∑u綴N(i)∩N(j)innodekfui•fuj,∑u綴N(i)innodekf2ui;同時(shí),針對(duì)計(jì)算節(jié)點(diǎn)k中的不同消費(fèi)者i,針對(duì)消費(fèi)者對(duì)項(xiàng)目消費(fèi)頻度排序,求出消費(fèi)者消費(fèi)頻度最高的項(xiàng)目;(3)將不同節(jié)點(diǎn)的計(jì)算結(jié)果進(jìn)行合并,即:將不同頻度乘積做和,以及頻度平方根求和:∑NK=1∑u綴N(i)∩N(j)innodekfui•fuj,∑NK=1∑u綴N(i)innodekf2ui;(4)根據(jù)(3)的計(jì)算結(jié)果,求解不同項(xiàng)目之間的相似度;(5)針對(duì)不同用戶u購買頻度最高的項(xiàng)目i,根據(jù)(4)計(jì)算得到的相似度,找出與該項(xiàng)目i相似的前K個(gè)項(xiàng)目,并將該K個(gè)項(xiàng)目推薦給該用戶u。下面的偽代碼為基于MapReduce的分布式、基于項(xiàng)目的KNN算法的偽代碼:
實(shí)驗(yàn)部分使用了公開的網(wǎng)站消費(fèi)歷史記錄做為實(shí)驗(yàn)數(shù)據(jù),如表1所示描述了4組實(shí)驗(yàn)數(shù)據(jù)。文中的算法是基于MapReduce的分布式計(jì)算環(huán)境,運(yùn)行在20個(gè)計(jì)算節(jié)點(diǎn)的集群環(huán)境下完成的。文中的所有計(jì)算都是基于最新版本的Hadoop-0.20.2做為MapReduce分布式編程環(huán)境。每個(gè)節(jié)點(diǎn)的配置為:4.0Hz的Intel處理器,32G內(nèi)存,CentOsLinux操作系統(tǒng)。實(shí)驗(yàn)部分主要測試算法的兩方面性能:高效性以及可擴(kuò)展性。實(shí)驗(yàn)的第1部分是通過測試分布式基于項(xiàng)目的KNN算法(Item-BasedKNN)與傳統(tǒng)算法(Tra-ditionKNN)在不同數(shù)據(jù)集下的執(zhí)行時(shí)間,比較兩種算法的執(zhí)行效率,計(jì)算文中提出算法的加速比。如圖1所示描述了文中提出算法與傳統(tǒng)算法的執(zhí)行時(shí)間。通過圖1可以看出,文中提出的分布式的基于項(xiàng)目KNN算法與傳統(tǒng)算法相比在執(zhí)行時(shí)間上有明顯的減少,具有很高的加速比。說明該算法可以高效地完成推薦系統(tǒng)的推薦工作,實(shí)現(xiàn)推薦系統(tǒng)的實(shí)時(shí)性。在第2組實(shí)驗(yàn)中,主要測試算法的可擴(kuò)展性。從最大規(guī)模的數(shù)據(jù)集D5中,固定項(xiàng)目的個(gè)數(shù),抽取不同記錄個(gè)數(shù)的數(shù)據(jù)集S1,S2,S3,S4,記錄個(gè)數(shù)分別為:500,000,1,000,000,1,500,000,2,000,000。在項(xiàng)目個(gè)數(shù)固定的條件下,本組實(shí)驗(yàn)測試在計(jì)算節(jié)點(diǎn)個(gè)數(shù)分別為5,10,15,20的情況下,針對(duì)4組不同規(guī)模數(shù)據(jù)集完成算法的執(zhí)行時(shí)間。實(shí)驗(yàn)2的結(jié)果如圖2所示。通過圖2可以看出,隨著數(shù)據(jù)規(guī)模的增大,算法的執(zhí)行時(shí)間也隨之增多,但是,數(shù)據(jù)增大的規(guī)模是呈現(xiàn)線性增長的,而不是指數(shù)級(jí)增長,說明算法具有很高的可擴(kuò)展性。同時(shí),通過增大計(jì)算節(jié)點(diǎn)的個(gè)數(shù),算法的執(zhí)行時(shí)間也會(huì)相應(yīng)地減少,因此,當(dāng)處理較大規(guī)模的數(shù)據(jù)時(shí),可以通過增加計(jì)算節(jié)點(diǎn)的個(gè)數(shù),減小算法的執(zhí)行時(shí)間,增加算法的效率。
隨著電子商務(wù)網(wǎng)站的發(fā)展,網(wǎng)站中產(chǎn)生了大量的互聯(lián)網(wǎng)消費(fèi)信息。煤炭產(chǎn)業(yè)的商業(yè)網(wǎng)站也希望通過利用已有的消費(fèi)記錄信息,完成煤炭產(chǎn)品的推薦工作。文章針對(duì)傳統(tǒng)算法無法高效處理海量消費(fèi)記錄問題,提出了高效、快速的分布式基于項(xiàng)目的KNN協(xié)同過濾算法。該算法可以有效地應(yīng)用到推薦系統(tǒng)中,實(shí)現(xiàn)推薦系統(tǒng)的實(shí)時(shí)性。實(shí)驗(yàn)結(jié)果進(jìn)一步表明該算法具有明顯的加速比以及很好的可擴(kuò)展性。
本文作者:羅莉工作單位:四川交通職業(yè)技術(shù)學(xué)院