如何找到最相似的节点 Neo4j

问题描述

我有一份车库和他们提供的汽车的清单:

    Store1: [Mazda,Ford,Porsche,VW,Nissan,Opel,Toyota,Seat,Volvo]
    Store2: [Porsche,Honda,Audi]
    Store3: [Opel,Volvo,Kia,Mazda,Seat]
    Store4: [VW,Bentley,Alfa,Chevrolet,Subaru,Tesla]
    Store5: [Suzuki,Ferrari,Maserati,Jag]
    Store6: [Jag,Mini]

我必须找到与商店 1 相比具有最相似选项的商店。您将如何构建密码以查找节点之间的相似性?

解决方法

  1. 您的节点 Store 必须具有属性名称,例如名称:“Store 1”等。
  2. 确保您安装了数据科学插件。如果没有,请按照安装 here
  3. 以下查询基于“jaccard”相似度算法。如果您想了解更多关于其他相似度算法的信息,请参阅 here

一个。获取所有有这些汽车品牌库存的商店 湾收集数据作为商店商品和汽车品牌作为类别 C。计算 jaccard 相似度指数并仅返回名为“Store 1”的商店

df.style.format("{:,.2f} €")

如果要手动计算,那么Store 1到Store X的jaccard相似度指数(其中X为任意店铺#> 1)就是Store 1和Store X之间常见汽车品牌的数量除以数量商店 1 和商店 X 的所有独特汽车品牌的总数。例如; Store1 到 Store2 是 2/11 或 0.1818,因为有 2 个常见品牌(保时捷和丰田),Store1 加上 Store2 是 11 个独特品牌。