查找两个用户配置文件之间的相似性
Finding similarity between two user profiles
我的用户配置文件具有以下属性。
U={年龄、性别、国家、种族}
找到两个用户之间相似性的最佳方法是什么?
例如我有以下 2 个用户。
u1={25,M,USA,White}
u2={30,M,UK,black}
我搜索了一下,发现很多人都提到了余弦相似度。对我的问题或任何其他建议有好处吗?
聚类分析中对象之间的相似性度量是一个广泛的主题。
我建议您考虑 'divide and conquer' 的方法。将两个用户配置文件之间的相似性视为所有属性相似性的加权平均值。请记住在进行平均之前为您的属性相似性使用标准化值。平均值的权重应该根据数据和用例来决定。如果您认为其中一个维度在两个配置文件之间匹配时更重要,那么它在整体结果中的权重应该更大。
对于属性distance你可以试试:age -> simple Euclidian;性别、种族、国家 -> 0/1。如果你有时间,可以根据 geoloc 更好地定义两国之间的距离。或文化相似性(在 e.g.language、宗教、政治制度、GDP 等方面)。但可能对最终平均值的权重进行实验和您的集群结果分析会给您带来更多回报;-)
我的用户配置文件具有以下属性。 U={年龄、性别、国家、种族} 找到两个用户之间相似性的最佳方法是什么? 例如我有以下 2 个用户。 u1={25,M,USA,White} u2={30,M,UK,black}
我搜索了一下,发现很多人都提到了余弦相似度。对我的问题或任何其他建议有好处吗?
聚类分析中对象之间的相似性度量是一个广泛的主题。
我建议您考虑 'divide and conquer' 的方法。将两个用户配置文件之间的相似性视为所有属性相似性的加权平均值。请记住在进行平均之前为您的属性相似性使用标准化值。平均值的权重应该根据数据和用例来决定。如果您认为其中一个维度在两个配置文件之间匹配时更重要,那么它在整体结果中的权重应该更大。
对于属性distance你可以试试:age -> simple Euclidian;性别、种族、国家 -> 0/1。如果你有时间,可以根据 geoloc 更好地定义两国之间的距离。或文化相似性(在 e.g.language、宗教、政治制度、GDP 等方面)。但可能对最终平均值的权重进行实验和您的集群结果分析会给您带来更多回报;-)