Page 1
ぼくもTableau ~featuring R~
2015/03/12 道玄坂LT#2@株式会社サイバーエージェント
和田 計也
サイバー系
Page 2
2015/03/12
この発表は個人 の見解であり、 所属する組織の 公式見解では ありません。
いつものサイバー系
2
Page 3
2015/03/12
u和田 計也(@wdkz) !
!u 静岡県袋井市出身 !!
uサイバー系企業でエンジニアやってます
u 最近は松浦亜弥ばっか聴いてます
自己紹介サイバー系
3
Page 4
2015/03/12
またTableauの話しますサイバー系
4
Page 5
2015/03/12
Tableau with R サイバー系
5
TableauがVersion8.1 から正式にRの 統合 をサポート
それまではPL/Rという、 PostgreSQLからRを使う 仕組みを使って、強引 にSQLから利用していた (人もいる)
Page 6
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
2015/03/12
Tableau with RのHello World サイバー系
7
前準備①:Rを起動
前準備②:Rserveを起動
Page 8
2015/03/12
Tableau with RのHello World サイバー系
8
何かデータに繋がないと 何もできないので適当に サンプルデータに繋いでみた
計算フィールドを選ぶ
計算フィールドをちょっと書いて
Page 9
2015/03/12
Tableau with RのHello World サイバー系
9
ドラッグ
Page 10
2015/03/12
Tableau からRを使うやり方 サイバー系
10
次 いきます
Page 11
2015/03/12
Tableau でk-meansサイバー系
11
みんな大好き、irisデータ
Page 12
2015/03/12
Tableau でk-means サイバー系
12
花びら がく
Page 13
2015/03/12
Tableau でk-means サイバー系
13
Page 14
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
2015/03/12
Tableau でk-means
サイバー系
15
Page 16
2015/03/12
Tableau からRを使う場合の留意点
サイバー系
16
ここに一列追加するイメージ
☆元のテーブルの行数と同じ長さの(Rで言う)vectorを一列追加することしか 許されない!制約強すぎ!!
Page 17
2015/03/12
Tableau でlogistic Regressionサイバー系
17
☆制約のある中で無理矢理やってみたが、 これじゃない感満載
予測値
Page 18
2015/03/12
理想:glmサイバー系
18
☆これしたいじゃないですか:変数重要度
☆これしたいじゃないですか:効果量
Page 19
2015/03/12
理想:決定木サイバー系
19
☆これしたいじゃないですか:とりあえず決定木
みんな大好き、titanicデータ
Page 20
2015/03/12
理想:randomForestサイバー系
20
☆これしたいじゃないですか:予測精度
☆これしたいじゃないですか:変数重要度
Page 21
2015/03/12
Tableau with Rの現実サイバー系
21
全部ムリ
Page 22
2015/03/12
頑張れTableauサイバー系
22
☆ふむふむ、画像はイケるのね
出典:Whitepaper Tableau と R について よく寄せられる質問
Page 23
2015/03/12
Tableauで決定木&randomForest(再)サイバー系
23
☆ふむふむ、画像はイケるのね
Rで画像を出力して、 そのファイルをこれで 指定しておく
Page 24
2015/03/12
TableauでdeepLearning(h2o使う)サイバー系
24
http://wk.tk/19Dsr3
Page 25
2015/03/12
まとめサイバー系
25
u スピーカー欲しい人、9,800円を上限で譲ります !!!!!! 条件1:捨てない売らない 条件2:アンプを用意できる
これ↓の一個まえの型(GX100)左右ペア
もうさ、Shinyでよくね?