狠狠撸

狠狠撸Share a Scribd company logo
第14回AIツール入門講座
「Google Colaboratoryによる
ネットワーク分析入門」
2. ネットワーク分析?可視化の具体例
NetworkXやmatplotlibを用いてネットワークを入力、分析、可視
化して出力するやり方について説明します。
分析の具体例
? ネットワーク読み込み?生成
? ネットワークの可視化
? ランキング?中心性
? 特徴量計算
? コミュニティ抽出
? 出力
ネットワーク読み込み?生成
? ネット上に公開されているネットワークデータを読み込み
? http://www-personal.umich.edu/~mejn/netdata/
? http://snap.stanford.edu/data/
? csv形式のデータからpandasを用いて読み込み
? networkX上で人工ネットワークを生成
ネットワークの可視化
? 頂点数が数万以下の疎なネットワークなら可視化は有効
? 全体構造の把握、グループの大きさやその関係、孤立点などの発見…
? 望ましい可視化とは?
? 辺の交差や頂点の重なりを少なく
? 頂点が集中せずに平面上で分散させる
? 関連性のある頂点や辺を近くに配置
? 対称性や階層性などを反映
? …
ばねモデルによる描画 描画の際の色、ラベル、
フォントの指定
さまざまな可視化
? draw_circular
? 頂点を円周上に配置
? draw_kamada_kawai
? 頂点を力学モデルにより配置
? draw_random
? 頂点をランダムに配置
? draw_spectral
? ネットワークを表す行列の固有ベクトルにより
頂点を配置
? draw_spring
? 頂点を力学モデルにより配置
? draw_shell
? 頂点を同心円上に配置
中心性?ランキング
? どの頂点が中心的か?
? ソーシャルメディアでのオピニオンリーダー
? 街のどこへでも短時間で駆けつけられるような場所
? …
? 次数中心性(Degree Centrality)
? 他の多くの頂点とつながっている頂点を中心的とみなす
? 固有ベクトル中心性(Eigenvector Centrality)
? 周囲の頂点の中心性も加味し、多くの中心的な頂点とつながっている頂点を中心的
とみなす
? 近接中心性(Closeness Centrality)
? ネットワーク中の他の頂点へ短い距離で到達できる頂点を中心的とみなす
? 媒介中心性(Betweenness Centrality)
? その頂点がなくなると多くの経路が分断されてしまうような頂点を中心的とみなす
中心性の例
参考: https://aksakalli.github.io/2017/07/17/network-centrality-measures-and-their-visualization.html
特徴量計算
? 頂点数は同じでも、ネットワークはさまざま
ランダムグラフ
ピーターセングラフ
完全グラフ
サイクルグラフ
2部グラフ
バーベルグラフ
スターグラフ
ホイールグラフ
スケールフリーグラフ
特徴量の例
? 密度
? 直径
? クラスタ係数
? 平均次数
? 次数分布
? 平均パス長
? 次数相関
? …
コミュニティ抽出
? 密に結びついた部分ネットワーク(コミュニティ)
? 友人グループや派閥などに対応
? 類似頂点がコミュニティを構成→嗜好の似た人に商品や情報を推薦
? さまざまな定義、さまざまな抽出手法
参考: https://python-graph-gallery.com/324-map-a-color-to-network-nodes/
http://ryancompton.net/2014/06/16/community-detection-and-colored-plotting-in-networkx/
出力
? ネットワークのデータフォーマットの変換
? ネットワーク可視化結果の出力
? 特徴量やコミュニティ抽出などの分析结果の出力
networkXとGephiとの連携
? networkXでグラフをGEXF形式で出力→Gephiを使って分析
? Gephiはユーザインタフェースが優れており、頂点や辺の色や
サイズ?太さ、可視化のレイアウトなどをインタラクティブに
変更できる
? あらかじめ自分のPC上にGephiをインストールする必要あり
? https://gephi.org/

More Related Content

Introduction of network analysis with Google Colaboratory -- Example of Network Analysis and Visualization