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