【发布时间】:2014-02-17 23:42:18
【问题描述】:
我有以下边(行)节点(列)三角形邻接矩阵,如果边属于三角形,我们在每个条目中都有一个。我想对这个矩阵进行联合聚类(但正如你所见,它不是传统的邻接矩阵)。如果在 R 中已经有一些协同聚类函数,那会怎样?我知道 R 在 blockcluster 中包含 cocluster 函数,但找不到一个很好的示例来使用它。 Python/R 代码/包应该适合我。
这是图表
library(igraph)
set.seed(1)
g <- erdos.renyi.game(15, .6)
73 x 15 sparse Matrix of class "dgCMatrix"
[1,] 1 1 . . . . . . . . . . . . .
[2,] . 1 1 . . . . . . . . . . . .
[3,] 1 . . . 1 . . . . . . . . . .
[4,] . 1 . . 1 . . . . . . . . . .
[5,] . . 1 . 1 . . . . . . . . . .
[6,] . . . 1 1 . . . . . . . . . .
[7,] 1 . . . . 1 . . . . . . . . .
[8,] . . . 1 . 1 . . . . . . . . .
[9,] 1 . . . . . 1 . . . . . . . .
[10,] . 1 . . . . 1 . . . . . . . .
[11,] . . 1 . . . 1 . . . . . . . .
[12,] . . . . . 1 1 . . . . . . . .
[13,] 1 . . . . . . 1 . . . . . . .
[14,] . . 1 . . . . 1 . . . . . . .
[15,] . . . 1 . . . 1 . . . . . . .
[16,] . . . . 1 . . 1 . . . . . . .
[17,] . . . . . 1 . 1 . . . . . . .
[18,] . . . . . . 1 1 . . . . . . .
[19,] 1 . . . . . . . 1 . . . . . .
[20,] . . . 1 . . . . 1 . . . . . .
[21,] . . . . 1 . . . 1 . . . . . .
[22,] . . . . . 1 . . 1 . . . . . .
[23,] . . . . . . 1 . 1 . . . . . .
[24,] . . . . . . . 1 1 . . . . . .
[25,] 1 . . . . . . . . 1 . . . . .
[26,] . 1 . . . . . . . 1 . . . . .
[27,] . . 1 . . . . . . 1 . . . . .
[28,] . . . . 1 . . . . 1 . . . . .
[29,] . . . . . . 1 . . 1 . . . . .
[30,] . . . . . . . 1 . 1 . . . . .
[31,] . . . . . . . . 1 1 . . . . .
[32,] . . 1 . . . . . . . 1 . . . .
[33,] . . . 1 . . . . . . 1 . . . .
[34,] . . . . 1 . . . . . 1 . . . .
[35,] . . . . . 1 . . . . 1 . . . .
[36,] . . . . . . . 1 . . 1 . . . .
[37,] . . . . . . . . 1 . 1 . . . .
[38,] . 1 . . . . . . . . . 1 . . .
[39,] . . 1 . . . . . . . . 1 . . .
[40,] . . . 1 . . . . . . . 1 . . .
[41,] . . . . 1 . . . . . . 1 . . .
[42,] . . . . . 1 . . . . . 1 . . .
[43,] . . . . . . 1 . . . . 1 . . .
[44,] . . . . . . . 1 . . . 1 . . .
[45,] . . . . . . . . 1 . . 1 . . .
[46,] . . . . . . . . . . 1 1 . . .
[47,] 1 . . . . . . . . . . . 1 . .
[48,] . 1 . . . . . . . . . . 1 . .
[49,] . . 1 . . . . . . . . . 1 . .
[50,] . . . 1 . . . . . . . . 1 . .
[51,] . . . . . 1 . . . . . . 1 . .
[52,] . . . . . . 1 . . . . . 1 . .
[53,] . . . . . . . . 1 . . . 1 . .
[54,] . . . . . . . . . 1 . . 1 . .
[55,] . . . . . . . . . . 1 . 1 . .
[56,] 1 . . . . . . . . . . . . 1 .
[57,] . 1 . . . . . . . . . . . 1 .
[58,] . . 1 . . . . . . . . . . 1 .
[59,] . . . 1 . . . . . . . . . 1 .
[60,] . . . . . 1 . . . . . . . 1 .
[61,] . . . . . . . 1 . . . . . 1 .
[62,] . . . . . . . . . 1 . . . 1 .
[63,] . . . . . . . . . . 1 . . 1 .
[64,] . . . . . . . . . . . . 1 1 .
[65,] . 1 . . . . . . . . . . . . 1
[66,] . . . 1 . . . . . . . . . . 1
[67,] . . . . 1 . . . . . . . . . 1
[68,] . . . . . 1 . . . . . . . . 1
[69,] . . . . . . 1 . . . . . . . 1
[70,] . . . . . . . 1 . . . . . . 1
[71,] . . . . . . . . . . 1 . . . 1
[72,] . . . . . . . . . . . . 1 . 1
[73,] . . . . . . . . . . . . . 1 1
** cocluster 函数在这个矩阵上不起作用,即使我把它变成了一个标准矩阵。所以我不确定我是否可以在边缘节点三角形邻接矩阵上进行共聚类,或者只是标准邻接矩阵。请在投票否决这个问题或决定关闭它之前问我一些问题,我会尽量详细说明。
【问题讨论】:
-
我不认为
coclustering函数包含在igraph中:igraph.org/r/doc。 -
@GaborCsardi 我在这个链接中提到了
coclusterartax.karlin.mff.cuni.cz/r-help/library/blockcluster/html/… 如果igraph有一个cocluster函数,那就太好了 -
请提供更多信息,说明为什么
coclustering对您的矩阵失败(即失败时打印什么?)。我刚刚尝试过coclustering(as.matrix(m), datatype="binary", nbcocluster=c(3,3)),其中m是一个稀疏矩阵,它对我来说非常好用。请注意,您需要as.matrix(m),因为cocluster似乎只适用于密集矩阵。
标签: python r graph machine-learning igraph