Memory based
get user-item matrix and calculate cosine similarity between $u_k, u_a$
$$sim^{cos}(u_k,u_a)=frac{u_kcdot u_a}{||u_k|| ||u_a||}$$
calculate in python, each row of train_data_matrix represent a user
from sklearn.metrics.pairwise import pairwise_distances user_similarity = pairwise_distances(train_data_matrix, metric="cosine") item_similarity = pairwise_distances(train_data_matrix.T, metric="cosine")
to predict user $k$ rating item $m$
$$hat{x}_{k,m}=ar{x}_k+frac{sum_{i} sim^{cos}(u_k,u_i)(x_{i,m}-ar{x}_i)}{sum_{i} |sim^{cos}(u_k,u_i)|}$$
def predict(ratings, similarity, type="user"): if type == "user": mean_user_rating = ratings.mean(axis=1) # axis=1 calculate the mean of every row ratings_diff = (ratings - mean_user_rating[:, np.newaxis]) # np.newaxis create a new axis, changing to 2-d array pred = mean_user_rating[:, np.newaxis] + similarity.dot(ratings_diff) / np.array([np.abs(similarity).sum(axis=1)]).T elif type == "item": pred = ratings.dot(similarity) / np.array([np.abs(similarity).sum(axis=1)]) return pred
Reference
https://cambridgespark.com/co...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/19698.html
摘要:用戶過去的偏好很可能展示或者反應(yīng)未來的興趣偏好。數(shù)據(jù)集我們選用,下載地址數(shù)據(jù)集算法理論算法框架如圖,輸入是的評分矩陣,該矩陣非常稀疏。所以預(yù)測分兩步進(jìn)行計(jì)算項(xiàng)目之間的相似性和根據(jù)相似性進(jìn)行預(yù)測評分。 【參考文獻(xiàn)】:Sarwar B M . Item-based collaborative filtering recommendation algorithms[C]// Internat...
摘要:默認(rèn)值為返回值,一個(gè)對象,包含了原生用戶原生項(xiàng)目真實(shí)評分預(yù)測評分可能對后面預(yù)測有用的一些其他的詳細(xì)信息在給定的測試集上測試算法,即估計(jì)給定測試集中的所有評分。 這里的格式并沒有做過多的處理,可參考于OneNote筆記鏈接 由于OneNote取消了單頁分享,如果需要請留下郵箱,我會郵件發(fā)送pdf版本,后續(xù)再解決這個(gè)問題 推薦算法庫surprise安裝 pip install surp...
摘要:經(jīng)過一段時(shí)間的說句搜集,當(dāng)具備一定的數(shù)據(jù)量時(shí),你就可以用通過機(jī)器學(xué)習(xí)算法來執(zhí)行一些有用的分析并產(chǎn)生一些有價(jià)值的推薦了。 翻譯自?Google Cloud Platform 原文標(biāo)題:Using Machine Learning on Compute Engine to Make Product Recommendations 原文地址:https://cloud.google.com/...
閱讀 3602·2021-09-10 10:51
閱讀 2611·2021-09-07 10:26
閱讀 2562·2021-09-03 10:41
閱讀 878·2019-08-30 15:56
閱讀 2963·2019-08-30 14:16
閱讀 3595·2019-08-30 13:53
閱讀 2196·2019-08-26 13:48
閱讀 1997·2019-08-26 13:37