我对整个集群和东西都很陌生,所以我在编程的最后一点中有点迷失。在做了一些工作之后,Item和Items_Comp之间已经有了正确的相似性。我有一个下面的示例数据集(值属于Items列):
Items Items_Comp Similarity Item Value
A B 0.6 50
A C 0.0 50
A D 0.0 50
A E 0.2 50
B A 0.6 100
B C 0.2 100
B D 0.4 100
B E 0.4 100
C A 0.0 200
C B 0.2 200
C D 0.6 200
C E 0.6 200
...
我现在想要的是基于相似度将它们聚在一起,如果相似度为>=0.6,它们应该聚在一起,聚类应该以项目值最高的项目命名:
:
Group Items
B A
B B
C C
C D
C E
...
在python中创建这样一个数据框架的最佳方法是什么?我是否应该使用DBSCAN,因为我不知道集群的数量,以及如何将相似性合并到DBSCAN中?最好的,《路加福音》
DBSCAN在没有圆形聚类时是一种密度聚类方法。如果您只想使用规则(相似性<0.6)你不需要这种算法。然而,如果你想找到一个你没有预料到的规则或新集群,你可以先尝试经典算法,如K-means或CAH,然后尝试DBSCAN。