应该使用哪种相似度?
来自书籍《面向程序员的数据挖掘指南》,数盟社区:http://dataunion.org/7989.html
- 如果数据存在“分数膨胀”(每个用户的打分标准非常不同,比如有些人喜欢会打4分,有些打5分;不喜欢时有人会打3分,有些则会只给1分)问题,就使用皮尔逊相关系数。
- 如果数据比较“密集”,变量之间基本都存在公有值,且这些距离数据是非常重要的,那就使用欧几里得或曼哈顿距离。
- 如果数据是稀疏的,则使用余弦相似度。
注:
1.曼哈顿距离和欧几里得距离在数据完整的情况下会运作得非常好,如果数据比较稀疏,则两者表现并不好,需要考虑使用余弦距离。
2.可通过用户的评价中减去他所有评价的均值(即修正的余弦相似度),解决“分数膨胀”问题。