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

基于Python的推薦系統的設計與實現

2019-07-08 06:46:17張玉葉
計算機時代 2019年6期
關鍵詞:大數據

張玉葉

摘? 要: 大數據時代的推薦系統可以幫助用戶從海量信息中高效地獲取自己的潛在需求,是大數據在互聯網領域的典型應用。文章介紹了利用Python語言實現的一個基于物品的協同過濾算法推薦系統,給出了系統的基本架構、系統的具體實現過程及相應代碼。

關鍵詞: 大數據; 推薦系統; 協同過濾; Python

中圖分類號:TP391.1? ? ? ? ? 文獻標志碼:A ? ?文章編號:1006-8228(2019)06-59-04

Abstract: The recommendation system in the big data era can help users to obtain their potential needs efficiently from the huge amount of information, which is a typical application of big data in the Internet field. A recommendation system based on object-based collaborative filtering algorithm and implemented with Python language is introduced in this paper, and the basic architecture of the system, the specific implementation process of the system, and the corresponding code are given.

Key words: big data; recommendation system; collaborative filtering; Python

0 引言

隨著網絡技術的飛速發展,網絡信息量也快速增長,為了更好地滿足用戶的個性化需求,各種推薦系統應運而生,它通過研究用戶的興趣偏好,自動建立起用戶和信息之間的聯系,從而幫助用戶從海量信息中去發掘自己潛在的需求。推薦系統的關鍵是推薦算法,常用的推薦算法主要有專家推薦、基于統計的推薦、基于內容的推薦和協同過濾推薦等。Python語言是一開源、免費、跨平臺的解釋型高級動態編程語言,其強大的功能及使用的簡潔方便使其成為互聯網應用系統開發的首選語言。本文利用Python語言實現了一個基于物品的協同過濾算法的推薦系統。

1 推薦系統

推薦系統是建立在海量數據挖掘基礎上的,通過分析用戶的歷史數據來了解用戶的需求和興趣,從而將用戶感興趣的信息、物品等主動推薦給用戶,其本質是建立用戶與物品之間的聯系。一個完整的推薦系統通常包含三個模塊:用戶建模模塊、推薦對象建模模塊和推薦算法模塊。推薦系統首先對用戶建模,根據用戶的行為數據和屬性數據來分析用戶的興趣和需求,同時也對推薦對象進行建模。接著,基于用戶特征和物品對象特征,采用推薦算法計算得到用戶可能感興趣的物品,然后根據推薦場景對推薦結果進行一定的推薦和調整,最終將推薦結果展示給用戶,其基本架構如圖1所示[1]。

2 協同過濾算法

協同過濾算法分為基于用戶的協同過濾算法和基于物品的協同過濾算法[1]。

基于用戶的協同過濾算法(簡稱UserCF),通過不同用戶對物品的評分來評測用戶之間的相似性,基于用戶之間的相似性做出推薦。簡單來講就是:給用戶推薦和他興趣相似的其他用戶喜歡的物品。

基于物品的協同過濾算法(簡稱ItemCF),通過用戶對不同物品的評分來評測物品之間的相似性,基于物品之間的相似性做出推薦。簡單來講就是:給用戶推薦和他之前喜歡的物品相似的物品。

UserCF算法和ItemCF算法思想類似,其實現過程也基本類似,唯一不同的是一個是計算用戶相似度,一個是計算物品相似度。

UserCF算法和ItemCF最主要的區別在于:UserCF推薦的是那些和目標用戶有共同興趣愛好的其他用戶所喜歡的物品,ItemCF算法則推薦那些和目標用戶之前喜歡的物品類似的其他物品。因此,UserCF算法的推薦更偏向社會化,適合應用于新聞推薦、微博話題推薦等應用場景;而ItemCF算法的推薦則更偏向于個性化,適合應用于電子商務、電影、圖書等應用場景。

3 推薦系統的設計與實現

3.1 推薦算法

本推薦系統以一電影推薦系統為例,因此采用基于物品的協同過濾算法(簡稱ItemCF)。基于物品的協同過濾算法是給目標用戶推薦那些和他們之前喜歡的物品相似的物品。此算法并不利用物品的內容屬性計算物品之間的相似度,而主要通過分析用戶的行為記錄來計算物品之間的相似度。該算法基于的假設是:物品I1和物品I2具有很大的相似度,是因為喜歡物品I1的用戶大多也喜歡物品I2。ItemCF算法主要包括兩步。

step1:計算物品之間的相似度

計算相似度的算法有很多,如泊松相關系數、余弦相似度等,在此可直接利用同現矩陣[2,3]進行計算。

設有三個用戶u1、u2、u3和四件物品I1、I2、I3、I4,每個用戶喜歡的物品列表如圖2中的(a)所示。

對每個用戶u喜歡的物品列表都建立一個物品同現矩陣Mu,如用戶u1喜歡物品I1和I3,則其物品同現矩陣中Mu1[I1][I3]和Mu1[I3][I1]的值為1,依次類推,由用戶喜歡的物品列表可得到每個用戶的物品同現矩陣Mu,如圖2中的(b)所示。然后將所有用戶的物品同現矩陣相加得到最終的所有用戶物品同現矩陣M,如圖2中的(c)所示。

根據物品的同現矩陣和用戶的歷史行為,來求解推薦評分,然后根據推薦評分給用戶生成推薦列表。推薦評分=物品同現矩陣*用戶評分向量[4]。

3.2 數據準備

在此以MovieLens(http://grouplens.org/datasets/movielens)作為本推薦系統中的實驗數據。MovieLens是GroupLens Research實驗室的一個非商業性質、以研究為目的的實驗性項目,采集了一組從20世紀90年代末到21世紀初的電影評分數據,包含大小不同的數據集,每個數據集中包括電影信息數據及電影評分記錄等。

本系統采用MovieLens 1M數據集。該數據集中存放電影評分記錄的文件是“ratings.csv”,其數據格式如圖3所示,每一行用逗號分隔的四個數據分別表示用戶ID、電影ID、評分和評分時間戳,本推薦系統中只使用前三個數據元素。

數據集中存放電影信息數據的文件是“movies.csv”,其數據格式如圖4所示,系統中主要使用前兩個數據:電影ID和電影名稱(年份)。

基于此數據集,如何通過已知的用戶評分記錄來預測未知的用戶評分,通過此評分來預測用戶是否會喜歡某部電影,從而決定是否給用戶推薦該電影。實現時采用Top-N推薦,即為目標用戶提供一個長度為N的推薦列表。

3.3 數據處理

首先,將所需數據讀入并進行一定的預處理,將用戶評分記錄的前3項(用戶ID、電影ID、評分)和電影信息文件的前2項(電影ID和電影名稱)依次讀出并放到字典中。評分記錄信息用于求解電影相似度,電影信息用于推薦結果展示。其Python代碼[4-6]如下:

3.4 建立同現矩陣

同現矩陣是一稀疏矩陣,在此采用Python內置序列字典來存放,可有效提高算法空間和時間效率。其實現代碼如下:

3.5 計算推薦評分及推薦結果

當同現矩陣計算完成后,根據同現矩陣和用戶評分來計算用戶對未觀看過的相似電影的推薦評分(也即興趣度),根據推薦評分高低來針對用戶進行電影推薦。其實現代碼如下:

3.6 輸出推薦結果

根據需要來輸出某個用戶的Top-N推薦結果,其代碼如下:

調用主函數main("ratings.csv","movies.csv","2",10)對用戶2,為其推薦10部未曾看過的電影,得到的推薦結果如圖5所示。

4 結束語

推薦系統可幫助用戶從海量信息中高效地獲取自己潛在需求,是大數據在互聯網領域的典型應用,通過分析用戶的歷史記錄來了解用戶的喜好,從而主動為用戶推薦其感興趣的信息,滿足用戶的個性化需求。本文利用Python語言實現的基于物品的協同過濾算法的電影推薦系統具有普適性,在該系統基礎上稍加修改,就可應用于音樂推薦系統、圖書推薦系統、商品推薦系統等,具有廣闊的應用前景。

參考文獻(References):

[1] [美]查魯.C.阿加沃爾.推薦系統:原理與實踐[M].機械工業出版社,2018.

[2] 項亮.推薦系統實踐[M].人民郵電出版社,2012.

[3] 林子雨.大數據技術原理與應用[M].人民郵電出版社,2017.

[4] 王建芳.機器學習算法實踐[M].清華大學出版社,2018.

[5] 黑馬程序員.Python實戰編程[M].中國鐵道出版社,2018.

[6] 董付國.Python程序設計開發寶典[M].清華大學出版社,2017.

猜你喜歡
大數據
大數據環境下基于移動客戶端的傳統媒體轉型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數據背景下的智慧城市建設研究
科技視界(2016年20期)2016-09-29 10:53:22
數據+輿情:南方報業創新轉型提高服務能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
主站蜘蛛池模板: 久久久精品国产SM调教网站| 国产极品美女在线| 乱人伦视频中文字幕在线| 国产主播一区二区三区| www亚洲精品| 亚洲中文字幕无码mv| 亚洲性一区| 久久国产毛片| 久久永久精品免费视频| 热九九精品| www.国产福利| 久久精品国产在热久久2019| 91黄色在线观看| 国产jizzjizz视频| 亚洲欧洲自拍拍偷午夜色| 亚洲成人免费在线| 亚洲高清中文字幕在线看不卡| 日韩欧美国产成人| 91久久偷偷做嫩草影院电| 97在线观看视频免费| 国产成人精品优优av| 免费人成黄页在线观看国产| 亚洲婷婷六月| 最新国产高清在线| 欧美日本在线播放| 日韩欧美中文| 国产成人高清精品免费软件| 中文字幕无码制服中字| 夜夜高潮夜夜爽国产伦精品| 日本精品αv中文字幕| 国产精品网址你懂的| 中文字幕在线不卡视频| 欧美在线视频不卡第一页| 欧美激情视频一区二区三区免费| 一级一级特黄女人精品毛片| 免费无码又爽又刺激高| 国产91高清视频| 国产精品网曝门免费视频| 久久久久国产一级毛片高清板| 国产乱子精品一区二区在线观看| 国产一级二级三级毛片| 色综合日本| 高潮爽到爆的喷水女主播视频| 少妇精品网站| 欧美色综合久久| a色毛片免费视频| 在线观看国产精品第一区免费 | 精品久久国产综合精麻豆| 国产成人高清精品免费| 国产成人无码AV在线播放动漫 | 国产人成午夜免费看| 亚洲免费福利视频| 亚洲成人一区二区三区| 嫩草国产在线| 亚洲日韩Av中文字幕无码| 国产精品区网红主播在线观看| 免费高清毛片| 久久黄色影院| 1769国产精品视频免费观看| 亚洲欧美成人网| h网址在线观看| 国产美女丝袜高潮| 国产精品尤物在线| 凹凸精品免费精品视频| 免费毛片全部不收费的| 国产成人毛片| 精品国产一区二区三区在线观看 | 精品一区国产精品| 亚洲欧美另类中文字幕| 一本一道波多野结衣av黑人在线| 久久精品人人做人人| 久久国产亚洲偷自| 美女被操91视频| 99久久亚洲综合精品TS| 中文字幕不卡免费高清视频| 日韩欧美中文字幕在线精品| 欧美日韩导航| 欧美α片免费观看| 国产亚洲精品在天天在线麻豆| 亚洲成人一区二区三区| 亚洲精品人成网线在线| 亚洲大尺度在线|