attribute_mixing_matrix#

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

返回属性混合矩阵。

Parameters:
G

NetworkX 图对象。

attribute字符串

节点属性键。

nodes列表或可迭代对象(可选)

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

mapping字典,可选

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

normalized布尔值(默认=True)

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

Returns:
mnumpy 数组

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

Notes

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

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

Examples

>>> 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 ]])