R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

cluster_leading_eigen {igraph}R 文档

基于社团矩阵的主导特征向量检测社团结构

描述

此函数尝试通过计算图的模块化矩阵的主导非负特征向量来查找图中的密集连接子图。

用法

cluster_leading_eigen(
  graph,
  steps = -1,
  weights = NULL,
  start = NULL,
  options = arpack_defaults,
  callback = NULL,
  extra = NULL,
  env = parent.frame()
)

参数

输入图。应为无向图,因为该方法需要对称矩阵。

steps

要采取的步数,实际上是尝试进行步数的次数。 这不是一个特别有用的参数。

weights

边的权重。 它必须是正数值向量,NULLNA。 如果为 NULL 且输入图具有 ‘weight’ 边属性,则将使用该属性。 如果为 NULL 且不存在此类属性,则边的权重将相等。 如果图具有 ‘weight’ 边属性,但不希望将其用于社区检测,请将其设置为 NA。 较大的边权重意味着此函数的连接更强。

开始

NULL,或数字成员向量,给出算法的起始配置。

选项

一个命名的列表,用于覆盖一些 ARPACK 选项。

callback

如果不是 NULL,则它必须是回调函数。 在每次迭代之后,在计算模块化矩阵的主导特征向量之后调用此函数。 请参阅下面的详细信息。

extra

提供给回调函数的附加参数。

env

评估回调函数的环境。

详细信息

这些章节中记录的函数实现了 Mark Newman 开发的 “主导特征向量” 方法,请参阅下面的参考。

该方法的核心是模块化矩阵 B 的定义,即 B=A-P,其中 A 是(无向)网络的邻接矩阵,P 包含根据 “配置模型” 存在某些边的概率。 换句话说,P[i,j] 的元素是随机网络中顶点 ij 之间存在边的概率,其中所有顶点的度数与输入图中的相同。

主导特征向量方法的工作方式是计算具有最大正特征值的模块化矩阵的特征向量,然后根据特征向量中相应元素的符号将顶点分成两个社团。 如果特征向量中的所有元素都具有相同的符号,则意味着该网络没有潜在的社团结构。 查看 Newman 的论文以了解为什么这是检测社团结构的好方法。

cluster_leading_eigen 返回一个命名的列表,其中包含以下成员

membership

算法结束时没有更多拆分可能时的成员向量。

merges

membership 成员描述的状态开始的合并矩阵。 这是一个两列矩阵,每一行描述了两个社团的合并,第一行是第一次合并,它创建社团 ‘N’,N 是图中初始社团的数量,第二行创建社团 N+1,等等。

选项

有关底层 ARPACK 计算的信息,请参阅 arpack 以获取详细信息。

回调函数

callback 参数可用于提供一个在每次特征向量计算后调用的函数。 以下参数提供给此函数

membership

实际的成员向量,具有从零开始的索引。

community

算法刚刚尝试拆分的社团,社团编号从零开始。

value

属于算法刚刚找到的主导特征向量的特征值。

vector

算法刚刚找到的主导特征向量。

multiplier

一个 R 函数,可用于将实际的模块化矩阵乘以任意向量。 提供向量作为参数来执行此乘法。 此函数可以与 ARPACK 一起使用。

extra

传递给 cluster_leading_eigenextra 参数。

回调函数应返回一个标量数字。 如果此数字非零,则聚类终止。

作者

Gabor Csardi csardi.gabor@gmail.com

参考

MEJ Newman:Finding community structure using the eigenvectors of matrices, Physical Review E 74 036104, 2006。

参见

modularity, cluster_walktrap, cluster_edge_betweenness, cluster_fast_greedy, as.dendrogram

示例


g <- make_full_graph(5) %du% make_full_graph(5) %du% make_full_graph(5)
g <- add_edges(g, c(1,6, 1,11, 6, 11))
lec <- cluster_leading_eigen(g)
lec

cluster_leading_eigen(g, start=membership(lec))


[包 igraph 版本 1.3.5 索引]