More Related Content
Similar to Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1 (20)
More from Hiroshi Masuda (10)
Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
- 3. データ活用におけるTableau+Python連携
可視化
による
理解
前準備
機械学
習によ
る予測
利用と応
用(アプ
リ)
ビジネ
ス目的
の達成
Tableau Prep, Infomatica,
DataStage,Talend,Alteryx,
Paxta,Trifacta
R, python, MATLAB
RapidMiner, KNIME
SPSS,SAS
Azure ML, Sage Maker
Cognos, Business Object,
Tableau,PowerBI,
Qlik,MicroStrategy,
Domo,Looker
python
Tabpy
機械学習エンジンを
利用して予測機能を
拡張!
3
- 6. • どんなことができるか? TC18のセッションから
Data science applications with TabPy/R (Nathan Mannheimer)
→ PCA/Facebookの時系列ライブラリProphetを使ったり、かなり実用的!
https://tc18.tableau.com/learn/sessions/32185
Watch Now
https://youtu.be/nRtOMTnBz_Y
Real-world Tableau using extensions and TabPy
https://tc18.tableau.com/learn/sessions/32251
Watch Now:
https://youtu.be/fJr2cqevegw
Accelerate Your Advanced Analytics: R, Python & MATLAB
https://tc18.tableau.com/learn/sessions/32178
Watch Now:
https://youtu.be/i3zU7ufn1-8
6
- 11. 予測するということ(教師あり)
訓練データ
温度 湿度 年数 故障し
たか
50 60 70 N
40 50 50 N
10 20 30 N
50 90 90 Y
②訓練データを学習
clf.fit(trainX,Y)
説明変数
trainX
目的
変数
Y
テストデータ
温度 湿度 年数 故障す
る?
50 60 70 ??
40 50 50 ??
③予測結果を導く
clf.predict(testX)
予測モデル 予測結果
教師アリ
温度 湿度 年数 故障す
る?
50 60 70 Y
40 50 50 N
①予測モデルの定義
clf = tree.DecisionTreeClassifier(…)
11
- 12. 予測するということ(教師なし)
学習データ
身⾧ 体重 胸囲 腹囲
150 60 70 65
170 60 50 65
175 72 30 70
160 65 90 80
②データの適用
model.fit(X)
目的変数
X
分類モデル
分類結果
クラス
タ
0
0
1
2
① モデルの定義
model = KMeans(n_clusters=3)
教師(目的
変数)ナシ
12
- 17. • Anaconda プロンプトを起動
• tabpy_server ディレクトリにcd
• ディレクトリは以下(環境によって異なる)
• C:¥ProgramData¥Anaconda2¥Lib¥site-packages¥tabpy_server
• C:¥ProgramData¥Anaconda3¥envs¥Tableau-Python-Server¥Lib¥site-packages¥tabpy_server
• C:¥Users¥<ユーザ名>¥AppData¥Local¥conda¥conda¥envs¥Tableau-Python-Server¥Lib¥site-
packages¥tabpy_server
• startup.bat を実行
• Tabpyの起動 - WINDOWS
9004 でListen
17
- 18. • Terminalを開く
• 作成した環境を確認
• conda info –e
• 環境のアクティベート
• source activate Tableau-Python-Server-27
• ディレクトリの変更
• cd /Users/<username>/TabPy-master/tabpy-server/tabpy_server
• Tabpy起動
• ./startup.sh
• Tabpyの起動 - MAC
18
- 19. 19
docker pull emhemh/tabpy <- 初回のみ
docker run -ti --rm -p 9004:9004 emhemh/tabpy:latest
Dockerを使ってMacでもTabpyを動かそう!
• Dockerがインストールされている方
- 20. • Tableau Desktop からの接続設定と確認
• ヘルプ→外部サービス接続→ サーバー localhost /ポート9004 指定
Help→外部サービス接続
でポート 9004 を指定
20
- 26. • 一番簡単なTabpyサンプル → 足し算
外部連携を使いま
すよ!返り値は
REALですよ。
実行されるpython
コード _arg に
Tableau からのデー
タが入る
Tableau から代入す
るメジャーを指定
26
List型で
Tableau に返
しますよ
表計算として
利用するので
集計になりま
すよ。
- 37. + DataFrameを使うために pandas を import する
+ 2次元配列:表のようなもの
+ ファイルからの入出力
+ データの抽出
+ データのソート
+ データの結合
• Pandas / DataFrameの登場
Data
Frame
37
- 38. K-Meansクラスタリング(教師なし学習)
学習データ
身⾧ 体重 胸囲 腹囲
150 60 70 65
170 60 50 65
175 72 30 70
160 65 90 80
③モデルにDataFrameを適
合する
model.fit( )
①DataFrameを作
成する
分類モデル 分類結果
クラスタ
0
0
1
2
df
df
② K-Meansのモデルを作成する
model = KMeans(n_clusters=3)
④クラスターの
結果を得る
38
- 39. # pandas の import
import pandas as pd
# 身⾧ と 体重のデータセットを作る
height = pd.DataFrame([160,165,170,170,175,165],columns=["height"])
weight = pd.DataFrame([52,65,62,75,75,60],columns=["weight"])
• まずはJupyter NotebookでKmeansをやってみる
39
- 47. 今日のまとめ
• Tableau + Python で予測を含むデータマイニングのプロセスを包括的
にカバーする
• 最新のライブラリがジャンジャン追加されるPythonを有効活用する
• Tableau とPythonの連携はTabpyだけじゃない
• Tableauから始めるデータサイエンス、全然ありでしょ!
47