1. 相关性算法:
a) 欧几里得距离是以物品为坐标描述玩家的位置,然后根据玩家之间的距离衡量玩家相似度(玩家对物品评分严厉程度不一样时数据可能不准确)
b) 皮尔逊相关度是以玩家为坐标描述物品的位置,然后根据斜率衡量玩家相似度
c) Tanimoto系数代表的是交集(只包含那些在两个集合中都出现的项)与并集(包含所有出现于任易集合中的项)的比率(列数据为0/1时用该算法更有意义)
2. 基于用户的推荐(根据玩家品味相似推荐物品)
计算完用户跟其他每个用户之间的相似度之后,根据相似度计算所有物品的加权评分,然后求和除以相似度之和得到各物品的推荐系数
行是除我以外的所有用户或者跟我相似值比较高的一部分用户
列是所有我没有看过的物品
3. 基于物品的推荐(寻找物品之间的相似度,推荐物品、寻找潜在用户)
对于上述方法,把物品和用户位置调换就可以找到物品之间的相似度
行是我评过分的所有物品
列是所有我没有看过的物品
4. 基于用户和基于物品的协作性过滤的选择:在用户数较多时基于物品的效率高一些(用户的数据是在不断变化的,基于用户需要频繁跟其他用户对比计算相似度,而基于物品时某个用户的行为不足以对物品之间的相似值影响太大);当数据集比较稀疏时基于物品的准确度高一些(因为两用户之间可能没有都评价过的物品)