cdlib.benchmark.XMark¶
- cdlib.benchmark.XMark(n: int = 2000, gamma: float = 3, beta: float = 2, m_cat: tuple = ('auto', 'auto'), theta: float = 0.3, mu: float = 0.5, avg_k: int = 10, min_com: int = 20, type_attr: str = 'categorical') [<class 'object'>, <class 'object'>]¶
返回带有注释的XMark基准图和植入的社区。
- Parameters:
n – 创建的图中的节点数。
gamma – 创建图的度分布的幂律指数。此值必须严格大于一。
beta – 创建图中社区大小分布的幂律指数。此值必须严格大于一。
m_cat – 如果属性类型是分类的,它是属性域中的值的数量。
m_cont – 如果属性类型是连续的,它是分布中的峰值数量(至少是双峰分布,即 m_cont=2)。
theta – 如果属性类型是分类的,它指定了集群内的噪声百分比。
sigma – 如果属性类型是连续的,它是标准差。
mu – 每个节点与社区内部边的比例。该值必须在区间 [0, 1] 内。
avg_k – 创建图中节点的期望平均度数。此值必须在区间 [0, n] 内。必须指定此参数或 min_degree 中的一个,否则会引发 NetworkXError。
min_com – 图中社区的最小大小。如果未指定,则设置为 min_degree。
type_attr – 属性类型。它可以是“categorical”或“continuous”。
- Returns:
一个networkx合成图,社区集合(NodeClustering对象)
- Example:
>>> from cdlib.benchmark import XMark >>> N = 2000 >>> gamma = 3 >>> beta = 2 >>> m_cat = ["auto", "auto"] >>> theta = 0.3 >>> mu = 0.5 >>> avg_k = 10 >>> min_com = 20 >>> g, coms = XMark(n=N, gamma=gamma, beta=beta, mu=mu, >>> m_cat=m_cat, >>> theta=theta, >>> avg_k=avg_k, min_com=min_com, >>> type_attr="categorical")
- References:
Salvatore Citraro 和 Giulio Rossetti。 “XMark: 节点属性社区发现算法的基准测试”,2021年(即将发布)
注意