入次数中心性
中心性とは、ネットワークにおけるノードの重要度を測る指標です。中心性にはさまざまな種類があり、それぞれ 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())