データサイエンティスト協会 木曜勉強会...

68
1

Upload: the-japan-datascientist-society

Post on 01-Jul-2015

1.404 views

Category:

Data & Analytics


2 download

DESCRIPTION

http://eventdots.jp/event/168366 講演1:『クレンジングからビジュアライズまで!実践!データ解析超入門!』 国立情報学研究所のダウンロードサービスにより株式会社ドワンゴから提供を受けた「ニコニコ動画コメント等データ」を用いて、jsonデータの加工、クレンジングから、Rを用いた統計解析、Tableauによるビジュアライズまで一貫した分析作業ややり方、勉強法を紹介します。

TRANSCRIPT

Page 1: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

1

Page 2: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

2

Page 3: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

3

Page 4: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

4

Page 5: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

5

Page 6: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

要件定義 データ収集 クレンジング・

加工 集計・分析 ビジュアライズ

・リサーチ ・課題抽出 ・前提条件確認 -時間 -金額 -データ -インフラ

・ダウンロード ・API ・スクレイピング

・データ統合 ・修正 ・RDBM化 タ

スク

必要スキル・技能

・単純集計 ・クロス集計 ・統計解析 ・機械学習

・表化 ・グラフ化 ・ダッシュボード化

・コンサルティング

・プロジェクトマネジメント ・業界知見 ・ビジネス知見 (会計、その他)

・クローリング ・HTML/FTP等の

サーバーインフラ系知識

・データ加工のプログラミング ・データベース設計

・SQL系のデータベース ・R、SAS系の予測分

析、機械学習系のプログラミング

・Excel、PowerPoint

でのプレゼンテーション ・Tableau系のダッシュボードツール

時間

3日~1週間 25%

1日~2日 10%

3日~1週間 25%

1日~1週間 20%

1日~1週間 20%

6

Page 7: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

要件定義 データ収集 クレンジング・

加工 集計・分析 ビジュアライズ

・リサーチ ・課題抽出 ・前提条件確認 -時間 -金額 -データ -インフラ

・ダウンロード ・API ・スクレイピング

・データ統合 ・修正 ・RDBM化 タ

スク

・分析設計 ・単純集計 ・クロス集計 ・統計解析 ・機械学習

・表化 ・グラフ化 ・ダッシュボード化 ・メッセージング

本日の内容

皆さんに わかりやすく 楽しいデータ

”分析例”を提供

wget一撃

json⇒SQL Python

UNIXによる加工

SQLによる集計 とサンプリング Pentaho集計 Rによる解析

Tableauで可視化 ダッシュボード化

所要時間

1日 30分 1時間 1日~3日 4時間

7

Page 8: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

8

Page 9: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

9

Page 10: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

http://www.nii.ac.jp/cscenter/idr/nico/nico.html

ニコニコ動画コメント等データ -動画メタデータ 【理由】 ・無料/使いやすい ・実サービスで、結果の解釈がしやすい ・時系列、テキストマイニング等、 あらゆるものをはめられる。 ・大きさもそこそこ(12GBくらい) ・ブログ書いてます (http://d.hatena.ne.jp/monnalisasmile/)

10

Page 11: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

wget –r example.com ≪格納先≫

参考URL:http://girigiribauer.com/archives/925

【wgetコマンドをクローラーとして使う】

wget

--recursive

--level inf

--no-clobber

--random-wait

--restrict-file-names=windows

--convert-links

--no-parent

--adjust-extension

example.com

11

Page 12: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

12

Page 13: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

13

Page 14: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

14

Page 15: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

【各設定の説明】 Headers:カラム名の出力有無 ⇒ON Output:画面出力orファイル出力 ⇒.output ファイル名で、ファイル出力 separator:区切り文字の説明 ⇒.separator ,でカンマ区切り

旧設定

設定変更

新設定

15

Page 16: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

http://www.sql-reference.com/ http://www.1keydata.com/jp/sql/

16

Page 17: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

【各カラムの説明】 video_id:ビデオのID番号 Title:ビデオのタイトル view_counter:再生数 mylist_counter:マイリスト数 Length:動画の長さ(秒) comment_counter:コメント数 upload_time:アップロードした時間 Tags:タグ(複数の場合、”_”で接続。

17

Page 18: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

Select avg(view_count),avg(xxxx),・・・ from yyyy;

18

Page 19: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

19

Page 20: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

20

Page 21: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

21

A = B + B’

C = B/A

A > B

Page 22: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

22

Page 23: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

23

Page 24: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

24

Page 25: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

区切り文字をSqlite3上でxxyyzzへ変換 Sedコマンドによる置換

25

Page 26: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

http://orangain.hatenablog.com/entry/20100916/1284631280

・cat:縦結合 ・paste/join:横結合 ・head:行頭x行だけ抜く ・grep:条件による行抽出 ・cut:列抽出 ・sed:置換 ・sort:並び変え、uniqの前処理 ・uniq:ユニーク化 ・wc:行数を数える(答え併せ用) ・nkf:エンコーディング(要インスト) ・awk:スクリプト言語

26

Page 27: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

27

Page 28: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

28

Page 29: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

29

Page 30: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

30

Page 31: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

31

Page 32: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

32

Page 33: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

33

Page 34: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

34

Page 35: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

35

Page 36: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

経過日数

※正確にアップロード経過日数の再生数を記録しているわけではなく、 ある時点でのアップロードから3日経過した動画の平均値を出している。

36

Page 37: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

37

動画タイトル 日付 再生数AAAAAAA 2014/9/20 8,241AAAAAAA 2014/9/21 6,125AAAAAAA 2014/9/22 5,391AAAAAAA 2014/9/23 531AAAAAAA 2014/9/24 4,399AAAAAAA 2014/9/25 3,123AAAAAAA 2014/9/26 4,574BBBBBBB 2014/9/14 3,715BBBBBBB 2014/9/15 2,717BBBBBBB 2014/9/16 8,460BBBBBBB 2014/9/17 2,454BBBBBBB 2014/9/18 1,982BBBBBBB 2014/9/19 2,092BBBBBBB 2014/9/20 7,444BBBBBBB 2014/9/21 3,663BBBBBBB 2014/9/22 4,246BBBBBBB 2014/9/23 5,155BBBBBBB 2014/9/24 9,400BBBBBBB 2014/9/25 9,163BBBBBBB 2014/9/26 1,855

動画タイトル アップロード日付 再生数 経過期間AAAAAAA 2014/8/20 9,642 42BBBBBBBB 2014/7/11 1,252 82CCCCCCCC 2014/6/1 3,532 122DDDDDDDD 2014/5/22 1,576 132EEEEEEEEEE 2014/5/12 7,681 142DF 2014/2/1 9,555 242asdjhgtagaqg 2013/10/24 3,804 342sgajghjahgah 2013/11/13 5,270 322gdahdjkgahlgal 2013/12/3 3,669 302ajsghjasdhgaklg 2013/8/25 1,437 402sghajhjehahg 2013/7/16 7,166 442aghajhgahjkerga 2013/6/6 8,006 482egahjghaehgajkl 2013/7/27 8,983 431gajseghjahjlghaj 2013/9/16 557 380gnasjgjhdfakh@ 2013/11/6 9,941 329nlghakjhiarh; 2013/12/27 1,282 278algjoiwheghal 2012/11/18 4,090 682gnalkgh;aoeugp 2011/10/11 2,327 1,086gnklanhgheoha 2012/8/30 1,341 762gnklao;ho;gweh 2013/7/20 5,367 438

Page 38: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

y = 415.55x-0.666 R² = 0.9161

0

100

200

300

400

500

600

700

800

0 200 400 600 800 1000 1200 1400 1600

view_count

累乗 (view_count)

38

Page 39: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

固いが、基本については一番しっかり書いてある。

いや、使ってみて決めるわというヒトに。知識俯瞰にも有効。

データサイエンスを一番よく俯瞰している。ここから各専門書へ。

久保さんが神。

最小二乗法⇒尤度推定⇒階層ベイズの説明の流れは神です。

39

Page 40: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

Rの学習をしながら

統計の勉強も出来るおトクな一冊

様々なデータセットを使って実際に勉強できる。米系データセットが多いので、分析結果にピンとこないものも。

会話形式で進むわかりやすい入門書。取り敢えずR

で色々な分析回したい人にはうってつけの書籍。

40

Page 41: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

参考:「でたぁっ 感動と失敗の備忘録」 佐藤さんのブログhttp://deta.hateblo.jp/entry/2014/05/08/052916

> source('~/Desktop/R/decrease_model.R') It. 0, RSS = 44314.9, Par. = 4.2 819.469 -0.800566 It. 1, RSS = 15135.2, Par. = -3.27199 689.324 -0.719096 It. 2, RSS = 15049.2, Par. = -4.06311 692.061 -0.713378 It. 3, RSS = 15049.2, Par. = -4.05919 692.114 -0.713528 It. 4, RSS = 15049.2, Par. = -4.05942 692.113 -0.713525

41

R^2=0.9849772> 0.9161 (Excel)

Page 42: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

0.0%

20.0%

40.0%

60.0%

80.0%

100.0%

120.0%

0 5 10 15 20 25 30 35

view_count

predictionR

prediction_xls

アップロードからの経過日数

初速に対する摩耗率

1日あたりの再生数摩耗状況

42

Page 43: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

43

Y = a + b*x^cモデル AIC:2401.326 Y = b*x^cモデル AIC:2431.819

当てはまりの良さ パラメーター数によるペナルティ

Page 44: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

44

Page 45: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

分析対象①タイトル文

分析対象②タグ

動画検索もキーワード、タグと分かれている。

45

Page 47: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

47

Page 48: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

順位 word Info1 Info2 Freq topとの比 タグ順位

1 実況 名詞 一般 952337 100.0% 15

2 実況プレイ 名詞 固有名詞 563761 59.2% 3

3 part 名詞 固有名詞 504697 53.0% 82

4 プレイ 名詞 一般 373371 39.2% 12

5 動画 名詞 一般 330019 34.7% 2

6 Part 名詞 固有名詞 298372 31.3% 82

7 part 名詞 一般 242152 25.4% 82

8 Part 名詞 一般 169590 17.8% 82

9 東方 名詞 一般 141042 14.8% 5

10 オリジナル 名詞 固有名詞 112628 11.8% 24

11 初音ミク 名詞 固有名詞 98884 10.4% 22

12 MAD 名詞 固有名詞 89329 9.4% 75

13 曲 名詞 一般 81770 8.6% 21

14 マスター 名詞 固有名詞 81592 8.6% 14

15 アイドル 名詞 固有名詞 81489 8.6% 13

16 三国志大戦 名詞 固有名詞 78016 8.2% 26

17 ゲーム 名詞 一般 77174 8.1% 1

18 MMD 名詞 固有名詞 64352 6.8% 69

19 MUGEN 名詞 固有名詞 62111 6.5% 39

20 大会 名詞 一般 60204 6.3% 249

21 男 名詞 一般 53692 5.6% 65

22 ポケモン 名詞 固有名詞 53435 5.6% 30

23 パート 名詞 一般 50766 5.3% 2838

24 ver 名詞 一般 50679 5.3% 1036

25 人 名詞 一般 50032 5.3% 18

26 最終 名詞 一般 48204 5.1% 147

27 ブレイク 名詞 固有名詞 47859 5.0% 29

28 amp 名詞 固有名詞 47796 5.0% 74

29 後編 名詞 一般 47608 5.0% 出現なし

30 鬼 名詞 一般 47246 5.0% 52

タイトル文の頻度分析結果 タグ文の頻度分析結果

順位 word Info1 Info2 Freq topとの比 タイトル文順位

1 ゲーム 名詞 一般 3722758 100.0% 17

2 動画 名詞 一般 1879199 50.5% 5

3 実況プレイ 名詞 固有名詞 1516231 40.7% 2

4 音楽 名詞 一般 903688 24.3% 222

5 東方 名詞 一般 482625 13.0% 9

6 コメント 名詞 固有名詞 475409 12.8% 608

7 シリーズ 名詞 固有名詞 388444 10.4% 109

8 アニメ 名詞 一般 384343 10.3% 72

9 ニコニコ 名詞 固有名詞 376676 10.1% 111

10 VOCALOID 名詞 固有名詞 363480 9.8% 179

11 エンターテイメント 名詞 固有名詞 320936 8.6% 出現なし

12 プレイ 名詞 一般 307308 8.3% 4

13 アイドル 名詞 固有名詞 289150 7.8% 15

14 マスター 名詞 固有名詞 285313 7.7% 14

15 実況 名詞 一般 271741 7.3% 1

16 ー 名詞 一般 203125 5.5% 4055

17 ムービー 名詞 固有名詞 173192 4.7% 89

18 人 名詞 一般 168323 4.5% 25

19 メーカー 名詞 固有名詞 166108 4.5% 1729

20 ボカロオリジナル 名詞 一般 165151 4.4% 出現なし

21 曲 名詞 一般 162986 4.4% 13

22 初音ミク 名詞 固有名詞 162355 4.4% 11

23 スポーツ 名詞 固有名詞 149003 4.0% 2440

24 オリジナル 名詞 固有名詞 146090 3.9% 10

25 ラジオ 名詞 一般 141972 3.8% 50

26 三国志大戦 名詞 固有名詞 122582 3.3% 16

27 神 名詞 一般 113649 3.1% 54

28 動物 名詞 一般 101485 2.7% 1477

29 ブレイク 名詞 固有名詞 101299 2.7% 27

30 ポケモン 名詞 固有名詞 100628 2.7% 22

上位30KW中、13KWがタグ文、タイトル文の両方に出てきている。また、トップとの比率で見ると、タグ文の方が上位KWへの頻度集中が強い。 タイトル文では、ボーカロイドのようなワードよりも「初音ミク」と指定されることが多く、逆に「曲」のような範囲の広いワードも多い。 タグ文は、検索に対しても、独特のルールがあるのか「ボカロオリジナル」のようなワードが抽出されている。

48

Page 49: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

49

Page 50: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

50

Page 51: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

51

Page 52: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

本日のまとめ 本日のまとめ

52

Page 53: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

53

Page 54: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

54

Page 55: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

55

Page 56: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

56

Page 57: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

57

Page 58: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

58

Page 59: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

Occam’s Razor by Avinash Kaushik http://www.kaushik.net/avinash/ The information Lab http://www.theinformationlab.co.uk/ The Datographer http://datographer.blogspot.jp/ サイエンスメディアな日々、インフォグラフィックな日々

http://scivis.hateblo.jp/

59

Page 60: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

参考【第38回Tokyo webmining資料LT20140726用】 http://www.slideshare.net/koichirokondo/tokyo-webmining20140726

60

Page 61: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

61

Page 62: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

62

Page 63: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

63

Page 64: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

http://thinkit.co.jp/article/70/1/

64

Page 65: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

ビジュアライズ 対象データ

処理&分析

・スケーラビリティ ・リアルタイム性 (更新頻度) ・クレンジング有無

・分析インフラ ・集計インフラ ・DB、データマート化?

ビジュアライズプロジェクト運用における検討ポイント

ビジュアライズプロジェクト開始における検討ポイント

・誰が何を確認するためのビジュアライズなのか?(ビジュアライズ大方針) -目的(Purpose)は何か? -閲覧者、意思決定者(Target)は誰か? ⇒例:外部要因・内部要因から、明日の売上を予測するダッシュボード? お客様の属性別に購買行動を可視化するためのダッシュボード? ・いつ、どこで、どのように確認するのか? (ビジュアライズのディティール) -どのデバイス(where)で確認するのか?⇒スマホ?PC?スクリーン? -どのくらいの頻度(when)で確認するのか?⇒毎日?週次?月次? -どのようなオケージョン(How)で確認するのか?⇒会議?朝の電車?

デザイン

・ツール ・デバイス ・インタラクションの増減

組織共有

・オンライン ・アプリケーション ・メール ・紙

選択オプション

評価ポイント

・属性データ ・トランザクションデータ ・ウェブログ等

・速度 ・高度分析の有無 ・デザインツールとの連携

・見やすさ/わかりやすさ ・包括性 ・情報量とメッセージング ・深掘りの可否 ・アクション誘引

・アベイラビリティ ・意思決定者のリテラシー

65

Page 66: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

経過日数

摩耗率少ない

摩耗率少ない

摩耗率高い

摩耗率超高い

摩耗率高い

摩耗率普通

摩耗率普通

摩耗率少ない

摩耗率少ない

摩耗率少ない

66

Page 67: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

【ダッシュボードの定義】 1.A dashboard is a visual display(ディスプレイ上のビジュアル) of 2.the most important information needed to achieve one or more objectives (目標を達成するための最も大切な情報を集約している) that has been 3.consolidated on a single computer screen(一つのスクリーンで見ることが出来る) so it can be 4.monitored at a glance(一目で確認が出来る)

67

Page 68: データサイエンティスト協会 木曜勉強会 #02『クレンジングからビジュアライズまで!実践!データ解析超入門!』

対象期間の設定

対象通貨の設定

68