首先須要說明一下推薦系統數據中的幾個類別:php
Item: 即咱們要推薦的東西,如產品、電影、網頁或者一條信息片斷html
User:對item進行評分以及接受推薦系統推薦的項目的人node
Rating:用戶對item的偏好的表達。評分能夠是二分類的(如喜歡和不喜歡),也能夠是整數(如1到5星)或連續(某個間隔的任何值)。 另外,還有一些隱反饋,只記錄一個用戶是否與一個項目進行了交互。ios
在文章 The Nine Must-Have Datasets for Investigating Recommender Systems 中介紹了推薦系統研究中的九大數據集。git
1. MovieLens 【數據地址:https://grouplens.org/datasets/movielens/】(1M、10M、20M 共三個數據集)github
MovieLens數據集由GroupLens研究組在 University of Minnesota — 明尼蘇達大學中組織的。MovieLens是電影評分的集合,有各類大小。 數據集命名爲1M,10M和20M,是由於它們包含1,10和20萬個評分。MovieLens數據集中,用戶對本身看過的電影進行評分,分值爲1~5。MovieLens包括兩個不一樣大小的庫,適用於不一樣規模的算法.小規模的庫是943個獨立用戶對1682部電影做的10000次評分的數據;大規模的庫是6040個獨立用戶對3900部電影做的大約100萬次評分。web
2. Jester 【數據地址:http://eigentaste.berkeley.edu/dataset/】算法
Jester是由Ken Goldberg和他在加州大學伯克利分校的小組發展的,包含150個笑話大約600萬的評分。 像MovieLens同樣,Jester評分由互聯網上的用戶提供。與其餘數據集相比,Jester有兩個方面是特殊的:它使用-10到10的連續等級,而且在量級上具備最高的評分密度。評分密度的意思是大概「平均每一個用戶評價多少個項目」?若是每一個用戶都對每一個項目進行了評分,那麼評級密度將爲100%。 若是沒有人評價過任何東西,那將是0%。 Jester的密度約爲30%,這意味着一個用戶平均對30%的笑話進行了評分。 做爲比較,MovieLens 1M的密度爲4.6%(其餘數據集的密度低於1%)。固然不是那麼簡單。 不是每一個用戶都評價相同數量的項目。 相反,一些用戶對許多項目進行評分,大多數用戶只評價一些。 數據庫
3. Book-Crossings 【數據地址:http://www2.informatik.uni-freiburg.de/~cziegler/BX/】網絡
Book-Crossings是由Cai-Nicolas Ziegler根據 bookcrossing.com 的數據編寫的圖書評分數據集。 它包含90000個用戶的270000本書的110萬個評分。評分範圍從1到10,包括顯式和隱式的評分。Book-Crossings數據集是最不密集的數據集之一,也是具備明確評分的最不密集的數據集。
4. Last.fm 【數據地址:https://grouplens.org/datasets/hetrec-2011/】
Last.fm提供音樂推薦的數據集。 對於數據集中的每一個用戶,包含他們最受歡迎的藝術家的列表以及播放次數。它還包括可用於構建內容向量的用戶應用標籤。Last.fm的數據聚合aggregated)後,有些信息(關於特定的歌曲,或某人正在聽音樂的時間)會丟失。 然而,它是這些樣本中惟一具備用戶的社交網絡的信息的數據集。
5. Wikipedia 【數據地址:https://en.wikipedia.org/wiki/Wikipedia:Database_download#English-language_Wikipedia】
維基百科是其用戶撰寫的協做百科全書。維基百科除了爲最後一刻拼寫學期論文的學生提供信息外,還爲每一個用戶提供每篇文章的每一個編輯的數據轉儲。該數據集已普遍用於社交網絡分析,圖形和數據庫實現測試,以及維基百科用戶行爲研究。還能夠將用戶採起的編輯操做,做爲隱性評分,代表他們因某些緣由關心該頁面,並容許咱們使用數據集來提出推薦。
因爲維基百科不是爲了提供推薦者數據集而設計的,因此它確實存在一些挑戰。其中一個是從頁面中提取有意義的內容向量,可是幸運的是,大多數頁面被很好地分類,爲每一個頁面提供了一種類型。構建維基百科的內容向量的挑戰與現實世界數據集的推薦面臨的挑戰類似。因此咱們認爲這是創建一些這樣作的專門知識的好機會。
6. OpenStreetMap 【數據地址:http://planet.openstreetmap.org/planet/full-history/】
OpenStreetMap是一個協做的地圖項目,相似於維基百科。 像維基百科同樣,OpenStreetMap的數據由用戶提供,整個編輯歷史的完整轉儲也是可用的。 數據集中的對象包括道路,建築物,興趣點,以及您可能在地圖上找到的任何其餘內容。 這些對象由鍵值對標識,所以能夠從中建立一個基本的內容向量。 然而,鍵值對是自由的,因此選擇正確的設置是一個挑戰。 一些鍵值對由編輯軟件(例如「highway =住宅」)進行標準化和相同的使用,但一般它們能夠是用戶決定進入的任何內容 - 例如「FixMe !! = Exact location unknown」。
7. Python Git Repositories
收集的最終數據集,也許最不傳統的,基於Git存儲庫中包含的Python代碼。 咱們寫了幾個腳本(在Hermes GitHub repo中 在此獲取)從互聯網上下載存儲庫,提取其中的信息,並將其加載到Spark中。 從那裏咱們能夠從用戶編輯中構建一組隱含的評分。目前經過查看全部導入的庫並調用函數從每一個Python文件中提取內容向量。 未來咱們計劃將庫和函數自己做爲建議的項目。
以上9個數據集在其關鍵指標方面的比較:
其餘一些數據集:
1. EachMovie
HP/Compaq的DEC研究中心曾經在網上架設EachMovie電影推薦系統對公衆開放.以後,這個推薦系統關閉了一段時間,其數據做爲研究用途對外公佈,MovieLens的部分數據就是來自於這個數據集的.這個數據集有72916個用戶對l628部電影進行的2811983次評分。早期大量的協同過濾的研究工做都 是基於這個數據集的。2004年HP從新開放EachMovie,這個數據集就不提供公開下載了。
2. Netflix
這個數據集來自於電影租賃網址Netflix的數據庫。Netflix於2005年末公佈此數據集並設立百萬美圓的獎金(netflix prize),徵集可以使其推薦系統性能上升10%的推薦算法和架構。這個數據集包含了480189個匿名用戶對大約17770部電影做的大約lO億次評分。
3. Usenet Newsgroups
這個數據集包括20個新聞組的用戶瀏覽數據。最新的應用是在KDD2007上的論文。新聞組的內容和討論的話題包括計算機技術、摩托車、籃球、政治等。用戶們對這些話題進行評價和反饋。
4. UCI知識庫
UCI知識庫是Blake等人在1998年開放的一個用於機器學習和評測的數據庫,其中存儲大量用於模型訓練的標註樣本。
5. LibRec 開源工具提供的數據集【數據地址:https://www.librec.net/datasets.html】
6. Datasets For recommender system 博客中總結提供的數據集
Amazon Product Data:
Mobile Recommendation:
Movies Recommendation:
Joke Recommendation:
Music Recommendation:
Books Recommendation:
Food Recommendation:
Merchandise Recommendation:
Healthcare Recommendation:
Dating Recommendation:
Scholarly Paper Recommendation:
【Reference】
1. gab41.lab41: The Nine Must-Have Datasets for Investigating Recommender Systems
2. zhihu:推薦系統研究中的九大數據集
3. cnblogs:開放的數據集整理
4. Datasets For recommender system
5. 還沒準備好數據呢,爲何要着急用算法呢 (將顯式數據與隱式數據分類)