Twitterネットワークの可視化

f:id:otani0083:20130413172040j:plain

入門 機械学習の11章でTwitterのネットワーク可視化がトピックになっていて面白そうだったので、Pythonで作成してみました。*1

某Q大の図書館のアカウントを分析してみました。*2大きく2つに分かれていて、左側が図書館関係のアカウント、右側が大学関係のアカウントになっています。図書館関係のアカウントもそのなかで、LSS関係、大学図書館公式、あたりはクラスタになっていそうな感じです。大学関係のアカウントで多くフォローを集めているのは、個人よりも大学関連の情報発信系のアカウントのようです。個人ユーザーとおぼしきアカウントは、図書館系のクラスタよりも密度が低くなっていますね。このあたりに学部ごとのクラスタが出来てないかなぁと期待しているのですが、実際はどうなんでしょうね。

以下にデータとで作成したグラフをいくつか置いておくのでよかったらご覧ください。

使用ツール

手順

  1. Qlib_infoのフォロー、フォロワーアカウントの取得
  2. 1.で取得した全アカウントのフォロー、フォロワーアカウントを取得
  3. 各アカウントのフォロー、フォロワーに1.で取得したQlib_infoと共通して含まれるアカウントがあれば、networkXを使ってしてネットワークとして結ぶ
  4. クラスタリング
  5. Gephiで可視化

参考資料

mongoDBとGephiを初めて触りましたが、どちらも直感的に使えて便利ですね。とくにmongoDB。これがあれば個人的にはRDB使わなくても十分ですね。今回はいつもにもましてとりあえず動けばいいやという感あふれるコードなので、公開しません…。

*1:書籍はRについて書かれています。また、サンプルそのものはAPIの仕様変更でそのままは利用できないので工夫する必要があります。

*2:APIの関係で5000以上のフォロー、フォロワーは取得していません、おおざっぱな傾向みるには十分だろうと言うことで