我正在尝试匹配项目。给定一组项目,我可以在 0 到 100 的范围内对它们彼此的相似程度进行排名。例如,如果项目是牛奶,项目也是牛奶,那么和之间的相似度将是 100%。如果是苏打水,那么和之间的相似度可能是 80%,以此类推。
我试图弄清楚如何将项目分组为类似项目的组,但这是一个具有挑战性的问题。我遇到以下问题:马类似于牛,山羊类似于山羊,山羊奶酪与山羊奶酪类似,与饼干相关。但是,我不希望一匹马与饼干在同一组中。每个项目可能是成对相关的,但开头和结尾可能不是。
有任何想法吗?
我正在尝试匹配项目。给定一组项目,我可以在 0 到 100 的范围内对它们彼此的相似程度进行排名。例如,如果项目是牛奶,项目也是牛奶,那么和之间的相似度将是 100%。如果是苏打水,那么和之间的相似度可能是 80%,以此类推。
我试图弄清楚如何将项目分组为类似项目的组,但这是一个具有挑战性的问题。我遇到以下问题:马类似于牛,山羊类似于山羊,山羊奶酪与山羊奶酪类似,与饼干相关。但是,我不希望一匹马与饼干在同一组中。每个项目可能是成对相关的,但开头和结尾可能不是。
有任何想法吗?
我认为您正在寻找的是所谓的“聚类分析”或“聚类”。存在许多不同的算法。在您的情况下,您需要一些“连接性集群”,即基于链接每两个的属性将元素组合在一起。
查看scikits.learn(Python 代码)中的聚类算法和那里提到的参考资料。