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...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/19698.html
摘要:用戶過去的偏好很可能展示或者反應未來的興趣偏好。數據集我們選用,下載地址數據集算法理論算法框架如圖,輸入是的評分矩陣,該矩陣非常稀疏。所以預測分兩步進行計算項目之間的相似性和根據相似性進行預測評分。 【參考文獻】:Sarwar B M . Item-based collaborative filtering recommendation algorithms[C]// Internat...
摘要:默認值為返回值,一個對象,包含了原生用戶原生項目真實評分預測評分可能對后面預測有用的一些其他的詳細信息在給定的測試集上測試算法,即估計給定測試集中的所有評分。 這里的格式并沒有做過多的處理,可參考于OneNote筆記鏈接 由于OneNote取消了單頁分享,如果需要請留下郵箱,我會郵件發送pdf版本,后續再解決這個問題 推薦算法庫surprise安裝 pip install surp...
摘要:經過一段時間的說句搜集,當具備一定的數據量時,你就可以用通過機器學習算法來執行一些有用的分析并產生一些有價值的推薦了。 翻譯自?Google Cloud Platform 原文標題:Using Machine Learning on Compute Engine to Make Product Recommendations 原文地址:https://cloud.google.com/...
閱讀 3536·2021-09-10 10:51
閱讀 2507·2021-09-07 10:26
閱讀 2482·2021-09-03 10:41
閱讀 810·2019-08-30 15:56
閱讀 2896·2019-08-30 14:16
閱讀 3488·2019-08-30 13:53
閱讀 2103·2019-08-26 13:48
閱讀 1912·2019-08-26 13:37