ネットワーク入門

Pythonで学ぶネットワーク分析入門

Eric Ma

Data Carpentry instructor and author of nxviz package

ネットワーク!

  • 例:

    • ソーシャル

    • 交通

  • エンティティ間の関係をモデル化

Pythonで学ぶネットワーク分析入門

ネットワーク!

  • 得られる知見:

  • 重要なエンティティ: ソーシャルでのインフルエンサー

  • 経路探索: 最短・効率的な移動経路

  • クラスタリング: コミュニティ検出

Pythonで学ぶネットワーク分析入門

ネットワークの構造

2つのノード

Pythonで学ぶネットワーク分析入門

ネットワークの構造

エッジで接続された2つのノード

Pythonで学ぶネットワーク分析入門

ネットワークの構造

エッジで接続された2つのノードを持つグラフ

Pythonで学ぶネットワーク分析入門

ネットワークの構造

2つのノードがエッジで接続されたグラフ。ノードは「Hugo」「Eric」とラベル付けされ、接続エッジは「Friendship」とラベル付け。各ノードに「id」「age」のメタデータ属性、エッジに「date」のメタデータ属性。

Pythonで学ぶネットワーク分析入門

NetworkX API の基本

import networkx as nx

G = nx.Graph()
G.add_nodes_from([1, 2, 3])
G.nodes()
NodeView([1, 2, 3])
G.add_edge(1, 2)

G.edges()
EdgeView([(1, 2)])
Pythonで学ぶネットワーク分析入門

NetworkX API の基本

G.nodes[1]['label'] = 'blue'

G.nodes(data=True)
[(1, {'label': 'blue'}), (2, {}), (3, {})]
Pythonで学ぶネットワーク分析入門

NetworkX API の基本

nx.draw(G)

import matplotlib.pyplot as plt plt.show()

グラフのノードリンク図。

Pythonで学ぶネットワーク分析入門

演習に進みましょう!

Pythonで学ぶネットワーク分析入門

Preparing Video For Download...