attribute_mixing_matrix#

attribute_mixing_matrix(G, attribute, nodes=None, mapping=None, normalized=True)[源代码]#

返回属性的混合矩阵。

参数
G图表

NetworkX图形对象。

attribute字符串

节点属性键。

nodes: list or iterable (optional)

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

mapping词典,可选

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

normalized布尔值(默认值=True)

如果为假,则返回计数;如果为真,则返回概率。

返回
M:Numy数组

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

笔记

如果每个节点具有唯一属性值,则非归一化混合矩阵等于邻接矩阵。为了获得更密集的混合矩阵,可以执行舍入以形成具有相同值的节点组。例如,以厘米为单位的人的确切身高(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)
>>> # mixing from male nodes to female nodes
>>> mix_mat[mapping['male'], mapping['female']]
0.25