Top Banner
ぼくもTableau ~featuring R~ 2015/03/12 道玄坂LT#2@株式会社サイバーエージェント 和田 計也 サイバー系
25

道玄坂Lt#2 wdkz

Jul 19, 2015

Download

Education

Kazuya Wada
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 道玄坂Lt#2 wdkz

ぼくもTableau ~featuring R~

2015/03/12 道玄坂LT#2@株式会社サイバーエージェント

和田 計也

サイバー系

Page 2: 道玄坂Lt#2 wdkz

2015/03/12

この発表は個人 の見解であり、 所属する組織の 公式見解では ありません。

いつものサイバー系

2

Page 3: 道玄坂Lt#2 wdkz

2015/03/12

u和田 計也(@wdkz) !

!u 静岡県袋井市出身 !!

uサイバー系企業でエンジニアやってます

u 最近は松浦亜弥ばっか聴いてます

自己紹介サイバー系

3

Page 4: 道玄坂Lt#2 wdkz

2015/03/12

またTableauの話しますサイバー系

4

Page 5: 道玄坂Lt#2 wdkz

2015/03/12

Tableau with R サイバー系

5

TableauがVersion8.1 から正式にRの 統合 をサポート

それまではPL/Rという、 PostgreSQLからRを使う 仕組みを使って、強引 にSQLから利用していた (人もいる)

Page 6: 道玄坂Lt#2 wdkz

2015/03/12

Tableau からRを使うやり方 サイバー系

6

Rを起動してRserveを起動する テーブルを読み込む 「計算フィールドの作成」からRを使う SCRIPT_STR() #returnが文字列 SCRIPT_BOOL() #returnがTRUE/FALSE SCRIPT_INT() #returnが整数値 SCRIPT_REAL() #returnが実数値

!

SCRIPT_.*(“Rコード”, …) #…はTableauから入力する項目

Page 7: 道玄坂Lt#2 wdkz

2015/03/12

Tableau with RのHello World サイバー系

7

前準備①:Rを起動

前準備②:Rserveを起動

Page 8: 道玄坂Lt#2 wdkz

2015/03/12

Tableau with RのHello World サイバー系

8

何かデータに繋がないと 何もできないので適当に サンプルデータに繋いでみた

計算フィールドを選ぶ

計算フィールドをちょっと書いて

Page 9: 道玄坂Lt#2 wdkz

2015/03/12

Tableau with RのHello World サイバー系

9

ドラッグ

Page 10: 道玄坂Lt#2 wdkz

2015/03/12

Tableau からRを使うやり方 サイバー系

10

次  いきます

Page 11: 道玄坂Lt#2 wdkz

2015/03/12

Tableau でk-meansサイバー系

11

みんな大好き、irisデータ

Page 12: 道玄坂Lt#2 wdkz

2015/03/12

Tableau でk-means サイバー系

12

花びら がく

Page 13: 道玄坂Lt#2 wdkz

2015/03/12

Tableau でk-means サイバー系

13

Page 14: 道玄坂Lt#2 wdkz

2015/03/12

Tableau でk-means サイバー系

14

計算フィールドの説明SCRIPT_STR("dat <- data.frame(Petal_length = .arg1, #data.frameを生成 Petal_width = .arg2, Sepal_length = .arg3,  Sepal_width = .arg4 ); km3 <- kmeans(x = dat, #ここでk-means centers = .arg5[1]); as.character(km3$cluster)”, #これがReturnされる SUM([Petal length]), #.arg1 SUM([Petal width]), #.arg2 SUM([Sepal length]), #.arg3 SUM([Sepal width]), #.arg4 [cluster_num] #.arg5(クラスタ数) )

☆所属クラスタは本来integerだが、tableau内でカテゴリとして扱いたいので as.character()してSTR型で返す。あえてね。

Page 15: 道玄坂Lt#2 wdkz

2015/03/12

Tableau でk-means

サイバー系

15

Page 16: 道玄坂Lt#2 wdkz

2015/03/12

Tableau からRを使う場合の留意点

サイバー系

16

ここに一列追加するイメージ

☆元のテーブルの行数と同じ長さの(Rで言う)vectorを一列追加することしか  許されない!制約強すぎ!!

Page 17: 道玄坂Lt#2 wdkz

2015/03/12

Tableau でlogistic Regressionサイバー系

17

☆制約のある中で無理矢理やってみたが、  これじゃない感満載

予測値

Page 18: 道玄坂Lt#2 wdkz

2015/03/12

理想:glmサイバー系

18

☆これしたいじゃないですか:変数重要度

☆これしたいじゃないですか:効果量

Page 19: 道玄坂Lt#2 wdkz

2015/03/12

理想:決定木サイバー系

19

☆これしたいじゃないですか:とりあえず決定木

みんな大好き、titanicデータ

Page 20: 道玄坂Lt#2 wdkz

2015/03/12

理想:randomForestサイバー系

20

☆これしたいじゃないですか:予測精度

☆これしたいじゃないですか:変数重要度

Page 21: 道玄坂Lt#2 wdkz

2015/03/12

Tableau with Rの現実サイバー系

21

全部ムリ

Page 22: 道玄坂Lt#2 wdkz

2015/03/12

頑張れTableauサイバー系

22

☆ふむふむ、画像はイケるのね

出典:Whitepaper Tableau と R について よく寄せられる質問

Page 23: 道玄坂Lt#2 wdkz

2015/03/12

Tableauで決定木&randomForest(再)サイバー系

23

☆ふむふむ、画像はイケるのね

Rで画像を出力して、 そのファイルをこれで 指定しておく

Page 24: 道玄坂Lt#2 wdkz

2015/03/12

TableauでdeepLearning(h2o使う)サイバー系

24

http://wk.tk/19Dsr3

Page 25: 道玄坂Lt#2 wdkz

2015/03/12

まとめサイバー系

25

u スピーカー欲しい人、9,800円を上限で譲ります !!!!!! 条件1:捨てない売らない 条件2:アンプを用意できる

これ↓の一個まえの型(GX100)左右ペア

もうさ、Shinyでよくね?