1. 程式人生 > >機器學習4-x——音樂推薦系統程式碼實現

機器學習4-x——音樂推薦系統程式碼實現

整理自coursera
程式碼和資料可以在這裡下載

import graphlab
song_data = graphlab.SFrame('song_data.gl/')
graphlab.canvas.set_target('ipynb')
#檢視有多少使用者
users = song_data['user_id'].unique()
#資料分為訓練集和測試集
train_data,test_data = song_data.random_split(0.8,seed=0)
#建立一個基於受歡迎程度的模型(無法克服流行歌曲推薦力過強)
popularity_model = graphlab.popularity_recommender.create(train_data,user_id='user_id'
,item_id='song') #給特定使用者推薦歌曲 popularity_model.recommend(users=[users[0]]) popularity_model.recommend(users=[users[1]])

結果如下:
這裡寫圖片描述
這裡寫圖片描述
可以看到無論給誰推薦,推薦的歌曲都一樣,所以這個模型無法克服流行歌曲(商品)推薦力過強的問題。

#建立一個個性化的推薦模型
personalized_model = graphlab.item_similarity_recommender.create(train_data,user_id='user_id',item_id='song'
) personalized_model.recommend(users=[users[0]]) personalized_model.recommend(users=[users[1]]) #這是可以發現給不同的使用者推薦了不同的歌曲,有了很大改進 #得到相似的歌曲 personalized_model.get_similar_items(['Chan Chan (Live) - Buena Vista Social Club']) #比較兩個模型 %matplotlib inline model_performance = graphlab.recommender.util.compare_models(test_data,[popularity_model,personalized_model],user_sample=0.05
)

相關推薦

機器學習4-x——音樂推薦系統程式碼實現

整理自coursera 程式碼和資料可以在這裡下載。 import graphlab song_data = graphlab.SFrame('song_data.gl/') graph

【吳恩達】機器學習第17章推薦系統以及ex8推薦系統程式設計題

1.基於內容的推薦系統 以電影推薦為例,先介紹以下引數: r(i,j)表示使用者j對於電影i是否進行了評分。1表示已經評分,0表示沒有評分。 表示使用者j對電影i的評分情況。總共1-5分。 表示對使用者j喜愛電影題材的描述情況.比如(0,5,0)表示每列分別對應玄

Coursera課程下載和存檔計劃三:機器學習 & 自然語言處理 & 推薦系統 & 資料探勘相關公開課

週末對之前儲存和下載的Coursera課程做了一下整理和歸類,先送出機器學習、自然語言處理、推薦系統和資料探勘相關的14門課程資源。這些公開課資源很多來自於之前課程圖譜群內朋友的或者微博上的朋友的分享,這裡做了一些補充,主要針對Coursera舊課程平臺的課程進行備份和分享

機器學習C10筆記: kNN推薦系統

KNN簡介 來自百度百科 鄰近演算法,或者說K最近鄰(kNN,k-NearestNeighbor)分類演算法是資料探勘分類技術中最簡單的方法之一。所謂K最近鄰,就是k個最近的鄰居的意思,說的是每個樣本都可以用它最接近的k個鄰居來代表。 kNN演算法的核心思

機器學習_6.隱馬演算法的程式碼實現

借鑑:https://github.com/Continue7777/HMM/ 依舊基於三個問題進行實現 1.評估 (1)描述 給定觀測序列O(o1,o2,…,oT)和模型u = (π,A,B),求出P(O | u),即給定模型下觀測序列的概率是多少? (2)實際演算法 不再

機器學習-*-K均值聚類及程式碼實現

KMeans聚類 在聚類演算法中,最出名的應該就是k均值聚類(KMeans)了,幾乎所有的資料探勘/機器學習書籍都會介紹它,有些初學者還會將其與KNN等混淆。k均值是一種聚類演算法,屬於無監督學習的一種,而KNN是有監督學習/分類學習的一種。 聚類:顧名思義,就是講某些相似的事物聚在

機器學習之logistic迴歸演算法與程式碼實現

                                       Logistic迴歸演算法與程式

機器學習-*-MeanShift聚類演算法及程式碼實現

MeanShift 該演算法也叫做均值漂移,在目標追蹤中應用廣泛。本身其實是一種基於密度的聚類演算法。 主要思路是:計算某一點A與其周圍半徑R內的向量距離的平均值M,計算出該點下一步漂移(移動)的方向(A=M+A)。當該點不再移動時,其與周圍點形成一個類簇,計算這個類簇與歷史類簇的距

機器學習】Apriori演算法——原理及程式碼實現(Python版)

Apriopri演算法 Apriori演算法在資料探勘中應用較為廣泛,常用來挖掘屬性與結果之間的相關程度。對於這種尋找資料內部關聯關係的做法,我們稱之為:關聯分析或者關聯規則學習。而Apriori演算法就是其中非常著名的演算法之一。關聯分析,主要是通過演算法在大規模資料集中尋找頻繁項集和關聯規則。

網易雲音樂推薦系統簡單實現系列(1)

筆者最近面試到了網易新聞推薦部門,考了一點推薦系統的知識,算是被虐慘了。於是乎自己怒補了一些知識。記錄一點關於推薦系統的知識和實現。 音樂推薦系統,這裡的簡單指的是資料量級才2萬條,之後會詳細解釋。 1. 推薦系統工程師人才成長RoadMap

機器學習:線性迴歸與Python程式碼實現

前言:本篇博文主要介紹線性迴歸模型(linear regression),首先介紹相關的基礎概念和原理,然後通過Python程式碼實現線性迴歸模型。特別強調,其中大多理論知識來源於《統計學習方法_李航》和斯坦福課程翻譯筆記以及Coursera機器學習課程。 1.線性迴歸

機器學習】邏輯迴歸基礎知識+程式碼實現

1. 基本概念 邏輯迴歸用於二分類,將對輸入的線性表示對映到0和1之間,輸出為label為1的概率。 優點:實現代價低,可輸出分類概率。適用於資料線性不可分。 缺點:容易欠擬合,分類精度可能不高,且僅限二分類。 使用資料型別:數值型和標稱資料。 邏輯迴歸本質也是線性迴歸,但是

機器學習】CART分類決策樹+程式碼實現

1. 基礎知識 CART作為二叉決策樹,既可以分類,也可以迴歸。 分類時:基尼指數最小化。 迴歸時:平方誤差最小化。 資料型別:標值型,連續型。連續型分類時採取“二分法”, 取中間值進行左右子樹的劃分。 2. CART分類樹 特徵A有N個取值,將每個取值作為分界點,將資料

機器學習-K均值聚類(python3程式碼實現)

K均值聚類 哈爾濱工程大學-537 演算法原理: K均值是發現給定資料集的kk個簇的演算法。簇個數kk是使用者給定的,每一個簇通過其質心(centroid),即簇中所有點的中心來描述。 K均值演算法的工作流程是:首先隨機確定kk個初始點作為質心。然後

機器學習:邏輯迴歸與Python程式碼實現

前言:本篇博文主要介紹邏輯迴歸(logistic regression),首先介紹相關的基礎概念和原理,然後通過Python程式碼實現邏輯迴歸的二分類問題。特別強調,其中大多理論知識來源於《統計學習方法_李航》和斯坦福課程翻譯筆記以及Coursera機器學習課程。 本篇博

文章學習《使用深度學習Keras和TensorFlow打造一款音樂推薦系統

本文僅是博主自己用來用來整理留存的摘錄,如對題目感興趣,請閱讀原文。 國內做得好的音樂APP網易雲、蝦米音樂和QQ音樂都會推薦喜歡的音樂。 推薦演算法是計算機專業中的一種演算法,通過一些數學演算法,推測出使用者可能喜歡的東西。 實現過程 採集大量資料

網易雲音樂推薦系統學習(1)

音樂推薦的如下特點。物品空間大 物品數很多,物品空間很大,這主要是相對於書和電影而言。消費每首歌的代價很小 對於線上音樂來說,音樂都是免費的,不需要付費。物品種類豐富 音樂種類豐富,有很多的流派。聽一首歌耗時很少 聽一首音樂的時間成本很低,不太浪費使用者的時間,而且使用者大都把音樂作為背景聲音,同時進行其他工

機器學習—— 基於深度學習推薦系統實現

一.問題描述 任務 參賽隊伍利用給定的頭條問答資料(包括專家標籤、問題資料以及問題分發資料,詳見資料描述部分),進行鍼對問題的專家挖掘。給定若干問題,參賽者需要預測哪些專家更有可能回答這些問題。具體的,針對每個問題和一位候選專家,參賽者需要根據計算該專家回答問題的概率。實

【人臉檢測——基於機器學習4】HOG特征

block 模板 onf 介紹 顏色 組成 computer com ams 前言 HOG特征的全稱是Histograms of Oriented Gradients,基於HOG特征的人臉識別算法主要包括HOG特征提取和目標檢測,該算法的流程圖如下圖所示。本文主要講HOG特

機器學習-4(k-進鄰演算法簡介中)

既然要介紹該演算法,我們就簡單介紹一下歐式距離 這個應該是我們初中就學過的了,2點之間的距離就是它的多維空間裡面每個維度的座標的差的平方之和,再開方 公式就是 OK,我們現在按照分類的基本原則,把所有的樣本集都放進我們的座標系裡面來,有多少特徵,我們就建立幾維的空間座標系。