mahout推荐引擎总结

GenericUserBasedRecommender和GenericItemBasedRecommender处理有偏好值的数据。

GenericBooleanPrefUserBasedRecommender:处理偏好值为布尔类型或没有偏好值的数据。

SlopeOneRecommender:基于新物品与用户评估过的物品之间平均偏好值差异来预测用户对新物品的偏好值。处理有偏好值的数据


实验性质的推荐算法

基于奇异值分解的推荐算法:SVDRecommender从用户对各个物品的偏好值中提取出数量较少但更具一般性的特征。(例如从音乐中提取流派信息)


基于线性插值物品的推荐算法:KnnItemBasedRecommneder通过用户已经评估过的物品的加权平均来估计偏好值,但权重不是相似度,而是线性技术计算出的所有物品对之间的最有权重集合。需要预先计算出目标物品最相似的物品领域,选定n个最接近的邻点。

Optimizer optimizer = new NonNegativeQuadraticOptimizer();

new KnnItemBasedRecommender(model,similarity,optimizer,10) 最近的10个邻点。


基于聚类的推荐算法:TreeClusteringRecommender被人为是基于用户推荐的变种。将物品推荐给相同用户簇而非具体用户。

基于聚类的推荐算法由于是基于一组人群进行的推荐,因此推荐不够个性化,但对于没有历史偏好数据的用户而言,该种推荐算法可能更有效果。

你可能感兴趣的:(mahout)