微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在大量集群解决方案中一对一起出现的频率

如何解决在大量集群解决方案中一对一起出现的频率

为了评估分类/聚类解决方案的稳定性,我在我的数据上运行了 1,000 个算法引导程序。在这分类结果中,我想计算每对在 SAME 集群中出现的频率。我对大约 250 个观测值进行了聚类,生成了大约 31,000 个这样的对。

这是生成合成数据集的伪代码

set.seed(1)
ID <- paste ("ID",seq(1:250),sep="")
cluster1 <- sample(1:5,250,replace=TRUE)
cluster2 <- sample(1:5,replace=TRUE)
cluster3 <- sample(1:5,replace=TRUE)


df <- data.frame(ID,cluster1,cluster2,cluster3)

您会看到 ID3 和 ID4 在同一个集群中出现了两次。

与所有分类一样,用于表示集群成员资格的整数是任意的。

解决方法

由于我的问题不是太大,所以我使用了我很容易用 C 编写的代码。

set.seed(1)

pairs.matrix <- matrix(0,250,250)
for (s in 1:1000){
  cluster=sample(1:5,replace=TRUE)
  for (i in 1:(length(cluster)-1))
    for (j in (i+1):length(cluster))
      if (cluster[i] == cluster[j]) pairs.matrix[i,j] <- pairs.matrix[i,j] + 1
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。