論過濾算法在煤炭管理的作用

時間:2022-06-24 02:52:13

導語:論過濾算法在煤炭管理的作用一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

論過濾算法在煤炭管理的作用

針對大規模消費歷史記錄,消費者矩陣規模非常龐大,傳統的算法不能有效地處理該數據矩陣。文中基于流行的MapReduce云計算平臺,提出了分布式基于項目的KNN協同過濾算法。下面,對該算法的執行過程進行描述:(1)將消費者歷史記錄平均分配到N個計算節點中;(2)在不同的計算節點k中,計算該節點中不同頻度乘積,以及頻度平方根,如下:∑u綴N(i)∩N(j)innodekfui•fuj,∑u綴N(i)innodekf2ui;同時,針對計算節點k中的不同消費者i,針對消費者對項目消費頻度排序,求出消費者消費頻度最高的項目;(3)將不同節點的計算結果進行合并,即:將不同頻度乘積做和,以及頻度平方根求和:∑NK=1∑u綴N(i)∩N(j)innodekfui•fuj,∑NK=1∑u綴N(i)innodekf2ui;(4)根據(3)的計算結果,求解不同項目之間的相似度;(5)針對不同用戶u購買頻度最高的項目i,根據(4)計算得到的相似度,找出與該項目i相似的前K個項目,并將該K個項目推薦給該用戶u。下面的偽代碼為基于MapReduce的分布式、基于項目的KNN算法的偽代碼:

實驗部分使用了公開的網站消費歷史記錄做為實驗數據,如表1所示描述了4組實驗數據。文中的算法是基于MapReduce的分布式計算環境,運行在20個計算節點的集群環境下完成的。文中的所有計算都是基于最新版本的Hadoop-0.20.2做為MapReduce分布式編程環境。每個節點的配置為:4.0Hz的Intel處理器,32G內存,CentOsLinux操作系統。實驗部分主要測試算法的兩方面性能:高效性以及可擴展性。實驗的第1部分是通過測試分布式基于項目的KNN算法(Item-BasedKNN)與傳統算法(Tra-ditionKNN)在不同數據集下的執行時間,比較兩種算法的執行效率,計算文中提出算法的加速比。如圖1所示描述了文中提出算法與傳統算法的執行時間。通過圖1可以看出,文中提出的分布式的基于項目KNN算法與傳統算法相比在執行時間上有明顯的減少,具有很高的加速比。說明該算法可以高效地完成推薦系統的推薦工作,實現推薦系統的實時性。在第2組實驗中,主要測試算法的可擴展性。從最大規模的數據集D5中,固定項目的個數,抽取不同記錄個數的數據集S1,S2,S3,S4,記錄個數分別為:500,000,1,000,000,1,500,000,2,000,000。在項目個數固定的條件下,本組實驗測試在計算節點個數分別為5,10,15,20的情況下,針對4組不同規模數據集完成算法的執行時間。實驗2的結果如圖2所示。通過圖2可以看出,隨著數據規模的增大,算法的執行時間也隨之增多,但是,數據增大的規模是呈現線性增長的,而不是指數級增長,說明算法具有很高的可擴展性。同時,通過增大計算節點的個數,算法的執行時間也會相應地減少,因此,當處理較大規模的數據時,可以通過增加計算節點的個數,減小算法的執行時間,增加算法的效率。

隨著電子商務網站的發展,網站中產生了大量的互聯網消費信息。煤炭產業的商業網站也希望通過利用已有的消費記錄信息,完成煤炭產品的推薦工作。文章針對傳統算法無法高效處理海量消費記錄問題,提出了高效、快速的分布式基于項目的KNN協同過濾算法。該算法可以有效地應用到推薦系統中,實現推薦系統的實時性。實驗結果進一步表明該算法具有明顯的加速比以及很好的可擴展性。

本文作者:羅莉工作單位:四川交通職業技術學院