始める無料で始める

入次数中心性

中心性とは、ネットワークにおけるノードの重要度を測る指標です。中心性にはさまざまな種類があり、それぞれ Twitter ネットワークにおいて少しずつ異なる意味を持ちます。まずは次数中心性に注目しましょう。計算方法がシンプルで、直感的に理解しやすいためです。

Twitter のような有向ネットワークでは、入次数中心性と出次数中心性を区別する必要があります。特にリツイートネットワークではこの区別が重要です。リツイートネットワークにおける入次数中心性は、多くリツイートされているユーザーを示します。

networkx は nx としてインポート済みです。 また、ネットワーク G_rt と G_reply、そして column_names = ['screen_name', 'degree_centrality'] も読み込み済みです。

この演習はコースの一部です

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

コースを見る

演習の手順

  • リツイートネットワークの入次数中心性を nx.in_degree_centrality() で計算し、rt_centrality に格納します。
  • 同様の処理をリプライネットワークに対しても行い、reply_centrality に格納します。
  • リプライ中心性の items(キーと値のタプル)を DataFrame のコンストラクタに渡します。
  • 同じ処理をリプライネットワークに対しても行います。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Generate in-degree centrality for retweets 
rt_centrality = ____

# Generate in-degree centrality for replies 
reply_centrality = ____

# Store centralities in DataFrame
rt = pd.DataFrame(list(____), columns = column_names)
reply = pd.DataFrame(list(____), columns = column_names)

# Print first five results in descending order of centrality
print(rt.sort_values('degree_centrality', ascending = False).head())

# Print first five results in descending order of centrality
print(reply.sort_values('degree_centrality', ascending = False).head())
コードを編集して実行