ノードレベルの指標

Python でのソーシャルメディアデータ分析

Alex Hanna

Computational Social Scientist

中心性:ノードの重要度

  • 中心性
    • ネットワーク内でのノードの重要度を測る指標
    • 「重要度」にはさまざまな考え方がある
Python でのソーシャルメディアデータ分析

次数中心性

次数

  • ノードに接続されているエッジの数
  • 有向ネットワークでは次数が2種類ある
    • 入次数 - ノードに入ってくるエッジ
    • 出次数 - ノードから出ていくエッジ
nx.in_degree_centrality(T)
nx.out_degree_centrality(T)

入次数中心性

Python でのソーシャルメディアデータ分析

媒介中心性

  • 2つのノード間の最短経路がこのノードを通る回数
  • 仲介者としての重要度
nx.betweenness_centrality(T)

媒介中心性

Python でのソーシャルメディアデータ分析

中心性が最も高いノードを表示する

bc = nx.betweenness_centrality(T)

betweenness = pd.DataFrame( list(bc.items()), columns = ['Name', 'Cent'])
print(betweenness.sort_values( 'Cent', ascending = False).head())
    Name  Centrality
0      0    0.232540
23    23    0.158514
7      7    0.158514
15    15    0.158514
21    21    0.157588

媒介中心性

Python でのソーシャルメディアデータ分析

さまざまなネットワークにおける中心性

中心性2x3テーブル

Python でのソーシャルメディアデータ分析

比率

degree_rt = pd.DataFrame(list(G_rt.in_degree()), 
                         columns = ['screen_name', 'degree'])
degree_reply = pd.DataFrame(list(G_reply.in_degree()),
                            columns = ['screen_name', 'degree'])

ratio = degree_rt.merge(degree_reply, on = 'screen_name', suffixes = ('_rt', '_reply'))
ratio['ratio'] = ratio['degree_reply'] / ratio['degree_rt']
Python でのソーシャルメディアデータ分析

練習しましょう!

Python でのソーシャルメディアデータ分析

Preparing Video For Download...