Surprise
Surprise是scikit系列中的一個。Surprise的User Guide有詳細的解釋和說明
支持多種推薦算法
基於近鄰方法(協同過濾)/neighborhood methods
矩陣分解方法/matrix factorization-based (SVD, PMF, SVD++, NMF)
下面介紹幾種算法
基礎算法:
1. random_pred.NormalPredictor
說明:Algorithm predicting a random rating based on the distribution of the training set, which is assumed to be normal.
意思是:算法基於訓練集的分布預測隨機等級,假設該分布為正態分布
說明:Algorithm predicting the baseline estimate for given user and item.
意思是:算法預測給定用戶和項目的基線估計
協同過濾算法:
說明:A basic collaborative filtering algorithm.
意思是:一種基本的協同過濾算法
說明:A basic collaborative filtering algorithm, taking into account the mean ratings of each user.
意思是:一個基本的協同過濾算法,考慮到每個用戶的平均評分
說明:A basic collaborative filtering algorithm taking into account a baseline rating.
意思是:一種基本的協同過濾算法考慮到基准評分
矩陣分解方法:
說明:The famous SVD algorithm, as popularized by Simon Funk during the Netflix Prize.
意思是:著名的SVD算法
說明:The SVD++ algorithm, an extension of SVD taking into account implicit ratings.
意思是:SVD++算法,SVD的一個擴展,考慮到隱式評級
說明:A collaborative filtering algorithm based on Non-negative Matrix Factorization.
意思是:一種基於非負矩陣的協同過濾算法
說明:A simple yet accurate collaborative filtering algorithm.
意思是:一種簡單而准確的協同過濾算法
10. co_clustering.CoClustering
說明:A collaborative filtering algorithm based on co-clustering.
意思是:一種基於共聚類的系統過濾算法
其中基於近鄰的方法(協同過濾)可以設定不同的度量准則
相似度度量標准
1. cosine
說明:Compute the cosine similarity between all pairs of users (or items).
意思是:計算所有用戶對(或物品)之間的相似度
2. msd
說明:Compute the Mean Squared Difference similarity between all pairs of users (or items).
意思是:計算所有用戶對(或物品)之間的平均平方差相似度
3. pearson
說明:Compute the Pearson correlation coefficient between all pairs of users (or items).
意思是:計算所有用戶對(或物品)之間的皮爾遜相關系數
說明:Compute the (shrunk) Pearson correlation coefficient between all pairs of users (or items) using baselines for centering instead of means.
意思是:計算所有用戶對(或物品)之間的皮爾遜相關系數(收縮),使用基線進行居中,而不是使用平均值
支持不同的評估准則
評估准則
1. rmse 最小均方根誤差
2. mae 平均絕對誤差
3. fcp 協調對的分數
參考文章:https://blog.csdn.net/mycafe_/article/details/79146764