这个例子让人有点难以理解发生了什么。在这个例子中,H1和H2都是1.一个更好的例子可以显示每个人吃不同类型的食物,所以你可以看到H值的变化。如果“我”也吃“蔬菜”,“披萨”和“热狗”,他们的H将是4。
我想的目的 H1 和 H2 是为了规范化结果 times 不同食物类型的财产(用户吃食物的次数)。你可以在这里试验这个例子 Neo4j控制台
H1
H2
times
由于您提到其他相似性度量,您可能对此GraphGist感兴趣, 与Cypher协同过滤的相似度量 。它有一些使用Cypher计算Pearson相关性和Jaccard相似性的简单例子。
无法帮助你使用Neo4J,只想指出Cosine Similarity与Pearsons的相关系数基本相同。如果您解码不同的符号,您会发现唯一的区别是Pearsons首先将向量置零。所以你可以按如下方式定义Pearsons:
Pearsons(a, b) = Cosine(a - mean(a), b - mean(b))