Machine learning 如何使用离散的二进制属性对数据进行聚类?

Machine learning 如何使用离散的二进制属性对数据进行聚类?,machine-learning,data-mining,cluster-analysis,Machine Learning,Data Mining,Cluster Analysis,在我的数据中,有一千万个二进制属性, 但其中只有一些是信息性的,大多数是零 格式如下: data attribute1 attribute2 attribute3 attribute4 ......... A 0 1 0 1 ......... B 1 0 1 0 ......... C 1

在我的数据中,有一千万个二进制属性, 但其中只有一些是信息性的,大多数是零

格式如下:

data  attribute1 attribute2 attribute3 attribute4   .........
A          0          1           0         1       .........
B          1          0           1         0       .........
C          1          1           0         1       .........
D          1          1           0         0       .........
什么是一种智能的集群方式? 我知道K-均值聚类。但我认为它不适合这种情况。 因为二进制值使距离不那么明显。 它将遭受高维度的诅咒。 Eeve如果我基于这几个信息属性进行聚类,它仍然是多属性的

我认为决策树很适合对这些数据进行聚类。 但这是一个分类算法


我能做什么?

您是否考虑过使用频繁项集挖掘来代替

K-means绝对是个坏主意,但当使用适当的距离函数(如jaccard、hamming、dice等)时,分层聚类可能会起作用

无论如何,什么是集群?算法的选择需要适合您想要找到的集群类型。在二进制数据上,基于质心的方法(如k-means)没有意义,因为质心意义不大


如果数据是“购物车”类型的信息,考虑使用频繁项集挖掘,因为它允许发现重叠子集。只是想知道这些属性代表什么,它们是否有意义?也许在这种情况下,汉明距离会做得更好;距离测量:汉明距离;代表性更新:采用每个属性的模式。。。只是随机猜测X射线!海明距离对我来说是一个信息丰富的想法!这些属性是用户对URL的单击。这就是为什么有这么多的网址!它们实际上是正整数属性,但大多数数字不是1就是0。所以我把它们当作二进制。不客气!实际上我对你的任务很感兴趣。如果你觉得有什么有趣的事,一定要告诉我!:)谢谢!但我的目的是将不同的用户分组。频繁项集挖掘如何对用户进行分组?这将生成“共享相同的频繁项集”中的组。如果你想拥有基于相似兴趣的团队,这似乎是一个很好的“集群”选择。(但您需要能够处理重叠集群和单例)。这就是我想知道的。我不知道如何处理这些问题。但你给了我新的关键词“聚集相似的兴趣”。我可以从中得到更多的信息。谢谢