ForecastFlow が Tableau Prep と連携できるようになります
ForecastFlow Python パッケージを開発中です. 第一弾として ForecastFlow へのデータのアップロードと, 推論機能の公開を予定しています. これらの機能を利用すると Tableau Prep から ForecastFlow を利用することができるようになります.
自動化の恩恵
これまでの ForecastFlow と Tableau Prep を用いた分析では ForecastFlow へのアップロード, 出力結果のダウンロードを毎回人手で行う必要があり, この部分がボトルネックになっていました. ForecastFlow と Tableau Prep が接続できるようになることでこれらの処理が自動化され, 本質的な作業に時間を割くことができるようになります.
手数が増える
人が付きっきりで面倒を見なくても良くなるので, 夜間に大量の推論を回すことも可能になります. 例えばいろいろなシナリオを用意して結果を比較する "What-If 分析" をたくさん試行することができます.
これまでよりずっと簡単
Tableau Prep のフローを作ってしまえばワンクリックで推論結果が得られます.
デモ
実際の利用方法を見てみましょう.
データはワインの品質を予測するオープンデータセットの Wine Quality Red を使用しました. UCI Machine Learning Repository: Wine Quality Data Set.
モデルの用意
ForecastFlow で予測モデルを作った後, プロジェクト ID とモデル ID を用意します. プロジェクト ID はプロジェクトを開いたときの URL の project/ 以降の文字列です. モデル ID も同様にモデルを開いたときの model 以降の文字列がモデル ID になります.
TabPy サーバーの用意
Tableu Prep で Python を実行するために必要な TabPy サーバーを用意します. pip を使って tabpy と forecastflow (近日公開予定) をインストールしてから "tabpy" コマンドで TabPy サーバーを起動します.
Tableau Prep を TabPy サーバーに接続
Tableau Prep にデータを接続した後 "+" をクリックしてスクリプトの追加を選択します. 接続タイプに Tableau Python (TabPy) Server を選択し, IP アドレス, ポート番号を入力して接続します.
スクリプトの用意
ForecastFlow を実行するためのスクリプトを用意します. スクリプト内ではスキーマを返す get_output_schema 関数と実際の処理を行う関数 (今回は ff_predict という名前) を用意します. ForecastFlow の登録メールアドレス, パスワードと先ほど確認したプロジェクトID とモデル ID をスクリプトに書きます.
実際に使用したスクリプトを公開します. ForecastFlow Python パッケージリリース時にはもっと簡単なスクリプトになる予定です.
Tableau Prep で利用する
Tableau Prep 上で先程追加してスクリプトステップを選択して, スクリプトを開きます. 関数名にスクリプト内の関数名を書きます (今回の例では ff_predict).
実行してしばらく待つと結果が Tableau Prep に出力されます. ForecastFlow の予測はプライマリキーとそのカテゴリである確率を出力するので, 元データとプライマリキーで結合して利用します.
結合すると上のような出力が得られます. 左側の列がワインのアルコール度数や酸性度などの入力特徴量で右側が ForecastFlow が予測したワインの品質が 3~8 である確率です.
実際の業務ではこの出力を使って確率の最も高いカテゴリを抽出してワインの品質予測としたり, 品質が高いと予測される特徴量の傾向を分析するなどの利用法が考えられます.
今後の予定
- 12月の初めに今回紹介した ForecastFlow 推論の Tableau Prep 連携が利用できるようになります.
- リリース後に詳しい手順を紹介します.
変更履歴
- 2019年11月26日 名前の修正 Forecast Flow → ForecastFlow