2017年8月21日月曜日

ネットワークで遊ぶ

 昨日作ったクローラーでなにかしようと思い、いい感じの閉鎖コミュニティでいい感じのユーザー数なハッシュタグで、大体16:30頃から5時間クローラーを動作させてみました。

 ツイート数は405。全部拾えているのかどうかは未確認。クローラーではツイートをした人のuser_idを取得しておいたので、重複する人を無くしてユーザーリストを作成したところ102名でした。

 これら102名のフォロー関係をネットワークにする。APIにてそれぞれのフォロワー一覧を取得し102名の隣接行列を作成した。この際twitter APIの関係から15人分取得するのに15分かかってしまうので、100分ほど待機。

 それさえ終わってしまえばあとはネットワークのパッケージを使うだけの話。先日igraph使ったし試すかとも思ったのだけれど、pythonでigraph使うための準備が面倒そうだったので、そのさらに以前に触ったnetworkxを使ってとりあえず作成してみた。調べてみたらnumpyの隣接行列からそのままネットワークを作れるようなので、そのまま打ち込むだけでした。

import networkx as nx
import matplotlib.pyplot as plt

Graph=nx.from_numpy_matrix(follower_matrix)
nx.draw(graph)
plt.show()

こんだけ。




networkxの使い方をいまいちわかっていないので、これ以上は今日は進めず終わろう。
周辺部のノードを除いて各種パラメタを求めようかな。102ノードそれぞれから到達可能なノードの数を求めて、最大値を返すものの一群をとりだせばいいか。
明日から沖縄行ってきます。

2017年8月20日日曜日

ツイイパイでクロオラア

 「twitterのクローラーでデータセット作ってる」って方がいたので、確かにそれなら無限にデータセット作れるなぁと思ったので、やることもない(自然科学の統計学を傍目に)ので触ってみた。その方はシェルらしいんだけど。

どうやらtweepyというのがいいらしいということで導入。数年前に認証で挫折した覚えがあるのだが、tweepyはめちゃめちゃ簡単に認証ができた。

ソースコードはネットで検索すれば色んな人が書いているのでわざわざ書くまでも無い。
ただしターミナルから直接入力する分にはいいのだが、プログラムとして実行すると文字コードで引っかかってどうにもうまくいかない。
またクローラーを実行しながらtwitterを監視したところどうにもすべてのtweetを拾いきれておらず、どうやら検索対象の文字列前後にスペースがないと拾ってくれないらしい。なのでハッシュタグだったり英語tweetは拾えるのだが、日本語の文章に交ざってるとダメらしい。それで広告垢とかうさんくさいツイートばかり拾っていたわけだ。

そんなわけで用途が限られていますが、「ハッシュタグならいいんだろう!?」ということで、来月初頭のあのイベント関連のハッシュタグでクローラーを回して、igraphの実践なんかをしてみたいなぁなどと思っている。

そして下手なタイトルをつけると検索で引っかかりかねないので、こんなタイトルになっている。


参考
あずみ.NET 【Python】tweepyでTwitter Streaming APIを使う方法
https://a-zumi.net/tweepy-twitter-streaming/

twitterのAPI叩いて遊ぼう! - すこしふしぎ. http://ism1000ch.hatenablog.com/entry/2014/01/30/025520

Tweepyを使って、PythonでTwitterのAPIを超簡単に操作する - StatsBeginner: 初学者の統計学習ノート http://www.statsbeginner.net/entry/2015/10/21/131717

Pythonの"Tweepy"でTwitter APIから取得したデータを読んでみる - StatsBeginner: 初学者の統計学習ノート
http://www.statsbeginner.net/entry/2015/10/22/221041

Tweepyのstatusリストで何が取れるのかわからなかったので、取り出してみた by @DeveloperRyo87 on @Qiita http://qiita.com/Ryo87/items/61b5d54cbfd7ae520fe6

2017年8月2日水曜日

1日1作業は非効率

 複雑ネットワークの本を進めていましたが、予定変更しまして今日から東医体出発までに統計学入門を終わらせてしまうという方針になりました。数式読めないしこれ悩んでても無駄な気がしたので、この先は数式すっ飛ばして読むだけ読んでしまおうという感じです。なので空き時間に休憩がてら(!?)読んでいきます。

 そんなわけで本日は統計学入門の半分くらいを終わらせようくらいの気持ちだったのですが、実際には5章あたりから集中力がどん底へ落ちまして、5章の練習問題前まででエンド。思い返してみれば大学受験の時も、飽きないように毎日必ず英数理の3つともに触っていたなと。
 そんなんなので、6日までの残り4日間では
第5章残り~第8章
第9章~第11章
第12章~第13章
(マージン)                         無理すぎたのでまったりいきます(*´ω`)
というスケジュールで進めます。部屋も片づけたいのでなんとかしましょう。

さてそうなると数学を用いないタスクを作る必要があるのですが、あいにく複雑ネットワークに関しても数学が出てくるので困りましたね。英語といっても何をしましょうか。とりあえずは部屋を片付けましょうか(笑)
まぁプログラミングで遊ぶとかでもいいよね。英語かプログラミングやな。