999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Mahout的高校學生食堂就餐窗口推薦算法研究

2015-09-26 07:46:00嚴水歌付珍珍南通大學現代教育技術中心南通226000
現代計算機 2015年23期
關鍵詞:用戶實驗學生

嚴水歌,付珍珍(南通大學現代教育技術中心,南通 226000)

基于Mahout的高校學生食堂就餐窗口推薦算法研究

嚴水歌,付珍珍
(南通大學現代教育技術中心,南通226000)

0 引言

從2011年開始,中國進入大數據風起云涌的時代,以Hadoop[1]為代表的家族軟件,占據了大數據處理的廣闊地盤。開源界及廠商,所有數據軟件,無一不向Hadoop靠攏。Hadoop逐步變成了大數據開發的標準。在Hadoop原有技術基礎之上,出現了Hadoop家族產品,常用的項目包括Hadoop,Hive,Pig,HBase,Sqoop,Mahout,Zookeeper,Avro,Ambari,Chukwa等。通過“大數據”概念不斷創新,推出科技進步。Mahout是Hadoop家族中與眾不同的一個成員,是一個基于Hadoop的機器學習和數據挖掘的分布式計算框架。Mahout為數據分析人員解決了大數據的門檻;同時為算法工程師提供了基礎的算法庫;對于Hadoop開發人員而言提供了數據建模的標準;對于運維人員而言,為其打通了和Hadoop的連接渠道。Mahout完整地封裝了“協同過濾”算法,并實現了并行化,提供了非常簡單的API接口,本文用Mahout來構建推薦系統,抽樣統計我校學生對學校食堂各就餐窗口進行評分,得到一個數據集,采用基于Mahout推薦算法API對數據集進行分析,能得到非常高效的結果。

1 協同過濾[2]推薦算法

協同過濾推薦算法主要有基于用戶的協同過濾,基于item的協同過濾以及SlopeOne推薦算法。基于用戶的協同過濾,通過不同用戶對物品的評分來評測用戶之間的相似性,基于用戶之間的相似性做出推薦。簡單來講就是:給用戶推薦和他興趣相似的其他用戶喜歡的物品。計算上,就是將一個用戶對所有物品的偏好作為一個向量來計算用戶之間的相似度,找到K鄰居后,根據鄰居的相似度權重以及他們對物品的偏好,預測當前用戶沒有偏好的未涉及物品,計算得到一個排序的物品列表作為推薦。基于item的協同過濾,通過用戶對不同item的評分來評測item之間的相似性,基于item之間的相似性做出推薦。簡單來講就是:給用戶推薦和他之前喜歡的物品相似的物品。基于ItemCF的原理和基于UserCF類似,只是在計算鄰居時采用物品本身,而不是從用戶的角度,即基于用戶對物品的偏好找到相似的物品,然后根據用戶的歷史偏好,推薦相似的物品給他。從計算的角度看,就是將所有用戶對某個物品的偏好作為一個向量來計算物品之間的相似度,得到物品的相似物品后,根據用戶歷史的偏好預測當前用戶還沒有表示偏好的物品,計算得到一個排序的物品列表作為推薦。基于物品的協同過濾算法可分為三個步驟,步驟1:建立物品的同現矩陣,按用戶分組,找到每個用戶所選的物品,單獨出現計數及兩兩一組計數。步驟2:建立用戶對物品的評分矩陣,按用戶分組,找到每個用戶所選的物品及評分。步驟3:矩陣計算推薦結果,推薦結果是同現矩陣和評分矩陣的乘積,即同現矩陣×評分矩陣=推薦結果。SlopeOne是一種簡單高效的協同過濾算法。通過均差計算進行評分。其基本思想是采用平均加權計算。Slope One的核心優勢是在大規模的數據上,它依然能保證良好的計算速度和推薦效果。

2 構造自己的推薦系統

基于Mahout環境開發,官方建議我們的標準化的程序開發過程可以參見圖1。

圖1 一個簡單的基于用戶推薦的插圖[3]

圖1清晰展現了基于Mahout開發推薦系統的完整流轉過程。從圖中我們可以粗略地看出推薦引擎分為5個主要部分組成,分別是數據模型,相似度算法,近鄰算法,推薦算法以及算法評分器。Mahout框架里面的接口包cf.taste包實現了推薦算法引擎,它提供了一套完整的推薦算法工具集,同時規范了數據結構,并標準化了程序開發過程。根據Mahout推薦引擎,我們可以創建自己的推薦引擎構造器,主要用到的關鍵API接口列舉如下:recommend(long userID,int howMany),該方法獲得推薦結果,給指定userID推薦howMany個Item。推薦算法實現類主要有GenericUserBasedRecommender,該實現類是基于用戶的推薦算法的。GenericItemBasedRecommender類是基于物品的推薦算法的。構造自己的推薦系統,具體步驟可歸結如下:

①構造數據模型

②構造相似度算法模型,該步驟需要計算用戶相似度距離,衡量用戶相似度距離可以用歐氏距離相似度 (EuclideanDistanceSimilarity)和對數似然相似度(LogLikelihoodSimilarity)。其中歐式距離d可表示如下:

利用歐氏距離d定義的相似度s,s=1/(1+d)。由表達式可以得知其范圍介于0與1之間,歐氏距離相似度的值越大,說明d越小,也就是距離越近,則相似度越大。

③構造近鄰算法模型

近鄰算法給相似的用戶進行排序,選出前N個最相似的,作為最終推薦的參考的用戶。近鄰算法分為2種,即 NearestNUserNeighborhood算法[4]和 Threshold UserNeighborhood算法。NearestNUserNeighborhood算法指定最近鄰用戶N的個數。例如選出前10最相似的用戶。ThresholdUserNeighborhood算法指定最近鄰用戶的比例。例如選擇前10%最相似的用戶。

④構造推薦算法模型

⑤構造算法評估模型

⑥推薦結果輸出

3 實驗

3.1搭建開發環境

本次實驗所需要的實驗環境列舉見表1。

表1 實驗環境

3.2實驗數據說明

本次實驗選取我校主校區學生對兩個學生食堂各窗口的服務,就餐等各方面進行綜合評分。根據該調查,對實驗數據集進行以下闡述:第一個數據集以rating2.csv命名,見圖所示。第二個數據集是學校學生食堂的窗口組別,見圖2所示。

rating.csv文件是一個行為數據集,該數據集有3列數據,第一列是學生ID,標識每個學生,為了更加清晰表達含義,選取自增的數據來標識每個學生,其中增量選取為1,這種表示方式跟用學生學號標識學生具有同樣意義。第二列是POS機ID,該ID標識每個食堂窗口,第三列是具體某個學生對各個窗口的評分。測試集的記錄數是4000,代表學生對窗口的評分次數。統計的學生數為200個,選取100個窗口進行評分。評分值用1-10表示。

圖2 實驗數據集截圖

圖3 食堂窗口組別截圖

該截圖所列出的記錄是我校主校區兩個學生食堂的窗口組別,每個食堂的每個組別下面有若干個窗口,實驗數據集里的每個窗口號都在這組別里。也就是說數據集中的窗口號與該記錄是多對一的關系。

3.3實驗過程

我們選擇了基于用戶的協同過濾(UserCF),基于物品的協同過濾ItemCF以及SlopeOne算法共3種推薦算法,本實驗進行了7種組合的測試,主要是針對相似度算法模型和推薦算法的不同組合,其中基于用戶的協同過濾算法有三種組合,采用歐氏距離用戶相似度或對數似然用戶相似度,最近鄰算法以及基于用戶的有評分和無評分的推薦算法組合。基于物品的協同過濾算法也有三種組合,其組成部分也采用歐氏距離用戶相似度或對數似然用戶相似度,最近鄰算法以及基于用戶的有評分和無評分的推薦算法組合,詳見表2列舉如下:

表2 推薦算法組合測試

3.4算法評估

算法評判標準:召回率(recall)與查準率[5](precision)。Mahout提供了2個評估推薦器的指標,查準率和召回率(查全率),這兩個指標是搜索引擎中經典的度量方法[6]。結果集按檢索到的以及未檢索到的,相關性與不相關性可以有4種組合,這4種組合用一個表格展示,請參見表3。

表3 算法評判標準

表格中A表示檢索到的,而且是相關的,即結果集是搜到的也是想要的。B表示未檢索到的,但是相關的,即結果集是沒搜到,然而實際上想要的。C表示檢索到的,但是不相關的,即結果集是搜到的,但是沒用的。D表示結果集是未檢索到的,也是不相關的,即結果集沒搜到也沒用的。查準率用P表示,P=A/(A+C)。被檢索到的結果集相關得越多越好,不相關的越少越好,這是追求“查準率”,即A/(A+C)的值越大越好。召回率用R表示,R=A/(A+B)。結果集被檢索得越多越好,這是追求“查全率”,即A/(A+B),其值越大越好。

3.5實驗結果

經過7種算法組合的測試,用查準率和召回率兩個指標對7種算法組合進行評估,形成如下結果集,具體參見表4。

為了得到差異化結果,我們分別取4個算法:userEuclidean,itemEuclidean,userEuclideanNoPref,item EuclideanNoPref,也就是采用歐氏距離用戶相似度,基于用戶和物品的推薦算法,并且采用有評分和無評分,對推薦結果進行比較,形成如下推薦結果,對推薦結果進行一個截圖,見圖所示。

圖4中左列列出的是算法名稱,右列是針對4種推薦算法形成的實驗結果,針對每一種推薦算法,根據每個學生已有的一些評分,給每一個學生推薦三個窗口。實驗所得到的結果集是綜合各方面所得到的最佳推薦結果。

圖4 實驗結果集截圖

表4 實驗結果

[1]鄧雄杰.基于Hadoop的推薦系統的設計與實現[D].華南理工大學,2013

[2]周濤,李華.基于用戶情景的協同過濾推薦[J].計算機應用,2010(04).

[3]S.Owen,R.Anil,T.Dunning,E.Friedman.Mahout in action,2011

[4]M.Deshpande,G.Karypis.Item-based top-n recommendation algorithms.ACM Transactions on Information Systems,2004

[5]李文海,許舒人.基于Hadoop的電子商務推薦系統的設計與實現[J].計算機工程與設計,2014(01).

[6]Shlomo Berkovsky,Tsvi Kuflik,Francesco Ricci.Mediation of user models for enhanced personalization in recommender systems[J]. User Modeling and User-Adapted Interaction,2008(3).

Mahout;Collaborative Filtering;Recommendation System;Precision;Recall

Research on Dining Windows Recommendation Algorithm for Students in Higher Education Based on Mahout

YAN Shui-ge,FU Zhen-zhen
(Modern Educational Technology Centre,Nantong University,Nantong 226000)

1007-1423(2015)23-0024-05

10.3969/j.issn.1007-1423.2015.23.005

2015-06-09

2015-07-31

討論基于Mahout的推薦系統開發過程,以我校學生對學校食堂各就餐窗口進行評分為例,通過建立實驗系統,利用Mahout推薦系統引擎提供的API分析實驗數據。該實驗樣例完整地闡述創建自己的推薦引擎構造器的過程。本實驗采用常用的協同過濾推薦算法,協同過濾推薦算法主要包括基于用戶的協同過濾,基于物品的協同過濾以及Slope-One推薦算法。搭建自己的開發環境,基于相似度算法模型和推薦算法,使用7種不同組合進行對比實驗。使用查準率和召回率兩個指標對7種算法組合進行評估。采用歐氏距離用戶相似度,基于用戶和物品的推薦算法,并且采用有評分和無評分的方法對推薦結果進行比較,由實驗得知,基于Mahout的推薦系統能快速高效地給學生推薦相似的就餐窗口。

Mahout;協同過濾;推薦系統;查準率;召回率

嚴水歌,男,碩士,初級實驗師,研究方向為數據挖掘

付珍珍,女,碩士,初級實驗師,研究方向為數據挖掘

Constructs an experimental system based on the deep discussion on development process of Mahout recommended system and empirical researches on scoring all dining windows by students.Furthermore,conducts a deep analysis on experimental data through API provided by Mahout recommended system engine.This experimental sample completely narrates the process to create its own recommended engine constructor.The commonly-used collaborative filtering recommendation algorithm is adopted by this experiment which includes collaborative filtering of users,collaborative filtering of articles and recommendation algorithm of SlopeOne.Under construction of its own development environment,adopts seven different combinations to conduct contrast experiment based on similarity algorithm model and recommended algorithm.Precision ratio and recall rate are applied to evaluate the seven algorithm combinations.Compares these recommended results through Euclidean distance similarity of users,collaborative filtering of users,collaborative filtering of articles,scoring method and non-scoring method.From the experimental results,it can be concluded that recommended system of Mahout can efficiently and rapidly recommend similar dining windows to students.

猜你喜歡
用戶實驗學生
記一次有趣的實驗
做個怪怪長實驗
趕不走的學生
學生寫話
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
學生寫的話
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 亚洲三级色| 五月天婷婷网亚洲综合在线| 91精品久久久无码中文字幕vr| 亚洲国模精品一区| 色老二精品视频在线观看| 久久永久免费人妻精品| aa级毛片毛片免费观看久| 国产剧情国内精品原创| 亚洲女同欧美在线| 在线99视频| 天堂在线www网亚洲| 久久77777| 午夜激情婷婷| 国产精品成人久久| 亚洲天堂免费观看| 欧美成a人片在线观看| 伊在人亚洲香蕉精品播放| 国产精品永久不卡免费视频 | 国产激情无码一区二区APP | 国产成人成人一区二区| 美女毛片在线| 毛片三级在线观看| 中文字幕无码制服中字| 精品亚洲国产成人AV| 8090午夜无码专区| 她的性爱视频| 国产成人亚洲欧美激情| 成年人视频一区二区| 素人激情视频福利| 欧美激情视频一区| 91美女视频在线观看| 亚洲美女久久| 老司机久久精品视频| 国内精品自在自线视频香蕉| 精品视频一区在线观看| 国产在线观看一区精品| 免费在线色| 国产91精品调教在线播放| 六月婷婷激情综合| 亚洲最大福利视频网| 伊大人香蕉久久网欧美| 激情成人综合网| 亚洲人网站| 亚洲天堂色色人体| 国产又黄又硬又粗| 国产另类视频| 99久久精彩视频| 精品国产毛片| 国产69囗曝护士吞精在线视频| 97视频免费在线观看| 在线看片免费人成视久网下载| 伦伦影院精品一区| 免费无码又爽又黄又刺激网站| 欧美一区二区三区欧美日韩亚洲| 国产美女精品人人做人人爽| 九九九精品成人免费视频7| 香蕉视频国产精品人| 国产丝袜啪啪| 中文字幕人妻无码系列第三区| 国内精品一区二区在线观看| 亚洲区欧美区| 992tv国产人成在线观看| 久久这里只有精品2| 国产精品va| 人妻无码中文字幕一区二区三区| 国产精品 欧美激情 在线播放 | 欧美综合在线观看| 亚洲色图综合在线| 国产精品三级专区| 激情无码字幕综合| 国产无码精品在线播放 | 99久久国产综合精品2023| 亚洲AV无码不卡无码| 国产黑丝一区| 在线观看国产黄色| 久久久国产精品免费视频| 1024国产在线| 黄色三级毛片网站| 国产精品欧美日本韩免费一区二区三区不卡 | 亚洲第一精品福利| 亚洲日本韩在线观看| 亚洲欧美国产五月天综合|