我正在尝试找到最佳算法来根据所有其他用户的兴趣为用户创建推荐列表。
假设我有一个样本列表:
$samples = [
['hot dog', 'big mac', 'whopper'],
['hot dog', 'big mac'],
['hot dog', 'whopper'],
['big mac', 'dave single'],
['whopper', 'mcnuggets', 'mcchicken'],
['mcchicken', 'original chicken sandwich'],
['mcchicken', 'mcrib']
];
我们会说样本列表中的每个数组都是唯一用户的食物偏好。
假设现在我有一个具有这种食物偏好的用户:
['hot dog', 'mcchicken']
我希望能够向该用户推荐其他用户偏好的其他食物。
所以用最简单的话来说,它应该返回:
['whopper', 'big mac', 'original chicken sandwich', 'mcrib', 'mcnuggets']
显然,我还将介绍其他变量,例如每个用户如何评价他们偏好列表中的每个项目,以及需要拥有该项目才能使用其他食品作为推荐的用户百分比。
但我想找到最好的算法来开始研究它。
起初我认为Apriori
这可能是我最好的猜测,但是一旦我介绍了多个项目,我就没有运气了。