我有包含以下属性的用户档案。U={年龄,性别,国家,种族}寻找两个用户之间相似性的最佳方法是什么?例如,我有以下两个用户。u1={25,M,USA,White}u2={30,M,UK,black}
我已经搜索过,发现余弦相似性被提及很多次。它适合我的问题吗?还是有其他建议?
回答:
聚类分析中对象之间的相似性度量是一个广泛的主题。
我建议您考虑“分而治之”的方法。将两个用户档案之间的相似性视为所有属性相似性的加权平均。在计算平均值之前,请记得使用归一化的属性相似性值。平均值的权重应根据数据和用例来决定。如果您认为某个维度在两个档案之间匹配时更为重要,那么它在整体结果中的权重应该更大。
对于属性的距离,您可以尝试:年龄 -> 简单欧几里得距离;性别、种族、国家 -> 0/1。如果您有时间,两个国家之间的距离可以根据地理位置或文化相似性(例如语言、宗教、政治制度、GDP等)更好地定义。但可能对最终平均值权重的实验以及您的聚类结果分析会带来更多收益 😉