アジャイルデータサイエン
ス
2章 データ
2014/05/27
第2回「データ解析のための統計モデリング⼊⾨」読書会
@who_you_me
お前誰よ
@who_you_me
株式会社ハウテレビジョン所属 (2014/04〜)
Webエンジニアになったと思ったら名刺に「エンジニ
ア」としか書いてない
⾒習いスクラムマスター
CakePHPでサービス作ってる会社でひとりPythonを書い
てる
chefのレシピ書くのがダルいのでdockerに置き換えたい
ついでにdocker上⼿く使ってイケてる開発環境つくりた
い
1章のおさらい
データサイエンスの世界でもアジャイルに開発したい!
そのためには、各種ツール群をうまく活⽤しよう
⾞輪の再発明はしない
巨⼈の肩に乗る
2章の内容
本書で扱うデータ
メールデータ
データの保存
SQL or NoSQL
分析の視点
はじまりはじまり〜
本書で扱うデータ
メールデータ
⾝近
ほどほどの容量
エンロンの公開アーカイブが有名だよね
http://www.enronemail.com/
ペタバイトのスケールで使われている
のと同じツール群を、⼿元のマシンで
使ってみる
スモールスタート
スケールアップ
データの特徴
半構造データ
厳密には定義されていない構造をもち,
その中にテキストなどの⾮構造化データを含んでいる.
例えば,XMLデータなどは,全体は⽊構造のタグ構造をもつが,
そのタグの中⾝は⾮構造化データであるテキストである.
http://ibisforest.org/index.php?半構造データ
メール
XML
HTML
そこまで厳密じゃないけど、タグとか改⾏を⽬印に構造
化されている
半構造データの保存
SQLは以下のような場合に向いている
データが始めから構造化されている
どのような処理をするか最初から決まっていて、変更が
ない
現実のデータは構造化されておらず、汚い
どんな処理が必要か決まっていない
そんな場合はNOSQL
とはいえ、半構造なんだから、それな
りに構造化しておきたいよね
シリアライズ
⽣のレコードにスキーマで構造を当てはめ、複数の⾔語、
ツールからアクセスできるようにする処理
Thrift
Protocolbuffers
Avro
アジャイルなので、すぐにリリースして継続的に改善のサ
イクルを回す
なので、スキーマも単純なものからスタートし、随時追加
していく
そのため、⽣のデータは専⽤のフィールドに残しておいた
ほうが良い
データパイプライン
半構造データはこんな流れで処理する
SQLは宣⾔的⾔語
「こんなデータをください!」と要求する
NoSQLなので、⼿続き的に記述する
「こんな⾵に処理してください!」と要求する
データに対する視点
どんな視点でデータを調べ、マイニングするべきか
ネットワーク
詳しく知りたい⼈は昔勉強会やった時
の資料を⾒てね^^
http://d.hatena.ne.jp/fuyumi3/20130723/1374582748
時系列
⾃然⾔語処理
確率
以上
次回予告
3章 アジャイルなツール
群
Python
Avro
Pig
MongoDB
Elastichsearch (sを⼤⽂字にすると怒られる)
Flask
Bootstrap
D3.js
これらをセットアップして
使ってみよう
1章で終わるわけないだ
ろ!!!
おしまい

『アジャイルデータサイエンス』2章 データ