attribute_mixing_matrix#

attribute_mixing_matrix(G, attribute, nodes=None, mapping=None, normalized=True)[source]#

返回属性的混合矩阵。

参数:
G图对象

NetworkX 图对象。

attribute字符串

节点属性键。

nodes: list 或 iterable (可选)

仅使用容器中的节点构建矩阵。默认为所有节点。

mapping字典, 可选

将节点属性映射到矩阵中的整数索引。如果未指定,将使用任意顺序。

normalizedbool (默认=True)

如果为 False 则返回计数,如果为 True 则返回概率。

返回:
m: numpy 数组

属性对出现的计数或联合概率。

注意

如果每个节点都有唯一的属性值,则非规范化混合矩阵将等于邻接矩阵。为了获得更密集的混合矩阵,可以进行舍入以形成具有相等值的节点组。例如,人的精确身高(厘米)(180.79155222, 163.9080892, 163.30095355, 167.99016217, 168.21590163, …)可以舍入为(180, 163, 163, 168, 168, …)。

属性混合矩阵的定义因是否包含未出现的属性值的行而异。这里我们不包含此类空行。但您可以通过输入一个包含这些值的 mapping 来强制它们出现。

示例

>>> G = nx.path_graph(3)
>>> gender = {0: "male", 1: "female", 2: "female"}
>>> nx.set_node_attributes(G, gender, "gender")
>>> mapping = {"male": 0, "female": 1}
>>> mix_mat = nx.attribute_mixing_matrix(G, "gender", mapping=mapping)
>>> mix_mat
array([[0.  , 0.25],
       [0.25, 0.5 ]])