ForecastFlow の予測を Tableau Prep から使用する方法を紹介します.
執筆時点の ForecastFlow Python パッケージのバージョンは 0.0.2 1.0.5 です.
ForecastFlow でモデルを訓練する
いつもどおりにモデルを訓練してください.
2019年12月3日以前のモデルは Prep に対応していないので再度訓練をお願いします.
TabPy サーバーの用意
Python3.7 以上をインストールしてから forecastflow, tabpy をインストールしてください.
pip install forecastflow tabpy
次に ForecastFlow TabPy Examples から config.toml を入手してください.
GitHub – GeeResearch/ForecastFlow_TabPy_Examples
コンソールを開いて config.toml の存在するディレクトリで以下のようにして TabPy を実行してください.
tabpy --config config.toml
スクリプトの用意
スクリプトの取得は2019/12/16に新しくスニペットから取得する方法が追加されました. スニペットから取得した場合はメールアドレスと ID が自動的に埋まるため少しだけ楽になります.
スニペットからスクリプトを取得する
プロジェクト -> データ -> モデルの順に選択して予測に使用するモデルのページを表示してください.
左側のメニューから Python アイコンをクリックするとコードスニペットが表示されます. コピーして prediction_example.py などの名前で保存してください.
正しいパスワードを埋めてください. 必要に応じてデータ名, 予測名を編集してください.
GitHub からスクリプトを取得する(これまでの方法)
prediction_example.py を ForecastFlow TabPy Examples から入手してください.
prediction_example.py はそのままでは利用できません. email, password, project_id, model_id を編集する必要があります.
email と password は ForecastFlow へのログインに使うものを入力してください.
project_id と model_id は ForecastFlow でモデル一覧を表示してから Actions にある <> をクリックすると表示されます.
data_name を編集して Prep からアップロードされる予測データの名前を変えることができます.
prediction_name を編集して生成される予測モデルの名前を変えることができます.
Tableau Prep から利用する
まず Tableau Prep で予測に使いたいデータを読み込みます.
次に + をクリックしてスクリプトの追加を選択します.
- 接続タイプ Tableau Python Server
- 接続
- prediction_example.py を参照
- 関数名に ff_predict を指定
この状態でフローを実行すると Tableau Prep から ForecastFlow にデータが渡されて予測が行われます.
出力はプライマリーキーと予測値を列に持つので, プライマリーキーを使って元のデータと結合して使うことが多いと思います.