プロポーザル
これは応募されたプロポーザルです。聞きたいと思うプロポーザルを各ページの下部にあるSNSのボタンで拡散しましょう。拡散された投稿をプロポーザルへの投票としてカウントし、選考時に参考にさせていただきます。
talk
脱写経のススメ 〜自分のライフログデータで遊んでみよう〜(ja)
スピーカー
Takeshi Sugiyama
対象レベル:
初級
カテゴリ:
Other
説明
初心者といえども,いつまでも書籍の写経だけでは飽きてしまいます。もっと身近なデータで楽しくデータ分析や地図情報プログラミングを学んでみたい!そんな動機で,スマホのライフログアプリMovesのサーバーからAPIで取得したライフログデータを使って遊んでみました。簡単なデータ分析や地図上への位置データの表示を楽しく学びます。初心者にはハードルの高いAPI経由のデータ取得にも挑戦しています。
目的
以下の3点をお伝えします。
1)APIで提供されるデータを取得して,pandasを使って簡単なデータ分析と可視化を行う方法(bottle, configparse, requests, pandas使用)。
2)緯度,経度の情報を元に地図上にプロットする方法(foliumパッケージ使用)。
3)すべてが用意されている写経と異なり,自分でやりたいことを模索するときに壁を乗り越えるコツ
概要
## 脱写経のススメ
初心者のうちは,参考書を買ってきて,まずはそこに書いてあるコードを写経して学びますよね。最初のうちは必要なことだと思いますが,私は飽きっぽいので写経だけだとつまらなくなってしまいます。
だって,アヤメの花の長さと幅のデータ,とか昔のアメ車の燃費データとか,興味ありませんから。それに,写経したときは動いていたスクリプトも,いざ自分で書こうとするとうまくいかない,なんてこともよくあります。
やりたいことがあるなら,身近なデータを使って分析してみるほうが100倍(当社比)楽しいと思います。
## でもまだ修行中
身近なデータ,といえば業務で使っているデータが思い当たります。でも本格的に仕事で使うことができるほどPythonが書けるようになったわけじゃないし,納期が迫ってたりするとのんびり調べながらってわけにもいきません。それに,コンプライアンスがうるさい昨今,業務データの持ち出しは厳しく禁じられてますので,自宅に持って帰って週末いじってみるなんてこともできません。
そもそも趣味なのに,仕事のデータを分析するなんて楽しくないですよね。
## 自分に一番近いデータ
業務データより自分に近いデータ,それはライフログデータです。スマホを常に持ち歩くようになり,ライフログアプリを使っていれば自然とデータがたまります。万歩計のカウンターを毎日メモしていたのはそんなに昔のことじゃない気がしますが,便利な世の中になりました。
自分自身のデータですから,100年も前のアヤメや20世紀の自動車データなんかよりよっぽど興味が持てますよね。
私が使っているのはMovesというアプリです(iOS,Android両方あります)。このアプリはサーバー上にログデータが蓄積されていて,APIを使ってデータを取り出すことができます。今回はこのデータを使った簡単な分析と,せっかく位置情報も入っているので地図上への位置情報の表示にも挑戦しました。
## 立ちはだかる壁
初心者にとって,初めてやることはすべて壁に感じます。
今回の壁は,
- APIを使ったサーバーからのデータ取得
- CSV形式じゃなく,JSON形式のデータの分析
- 緯度経度の情報を使って地図上に表示
の3つです。
これらの壁をどのように乗り越えたのか,できるだけわかりやすく説明します。
どちらかというとコードの中身よりも,どこが困ったのか,そういうときどうやって解決したのかについてのお話を中心にする予定です。具体的なソースコードはGitHubで公開します。