用户CF需要多少数据,项目CF才能提供建议?
我手动创建了一个小数据集,因此我可以很好地理解算法是如何工作的 我发现对于我创建的小数据集,Slope-One可以给出推荐,用户CF或项目CF无法给出推荐。
背后的原因是什么?
数据量的阈值是多少?
答案 0 :(得分:1)
在基于用户和项目的CF中,数据集的大小可能非常小。重要的部分是数据集中项目和用户之间映射的频率。如果用户仅在数据集中存在一次,则基于用户的cf很可能不会提供建议。因为一个公共项目不会为两个用户提供成为邻居的阈值相似性。 以上说明仅是示例。对于像1000个数据这样的小型数据集,两个推荐人都会为最相似的项目提供答案并推荐方法。但是,对于小得多的数据集,无论是否有足够的有关查询的用户/项目ID的信息,手动控制数据都很有用。 在this链接中,您可以找到一个非常小的受控数据集来创建基于项目的CF及其工作原理。我希望这个答案很有帮助。
答案 1 :(得分:1)
Movielens,netflix,jester,kddcup数据集对所有人开放。 如果您在获取数据集时遇到问题,请检查此http://code.google.com/p/recsyscode/wiki/dataset
答案 2 :(得分:1)
对于小数据集,用户CF和项目CF可能相同,但对于大数据,如果用户数大于项目数(例如Netflix数据集和yahoo kddcup2011数据集),则项目CF比用户CF快得多
对于前N个推荐的结果,用户CF和项目CF的准确性相同,但覆盖范围不同,用户CF建议有利于推荐长尾项目,而项目CF具有更好的多样性