1. はじめに
Dataikuでは予測した結果や作成したデータセットを用いてアプリケーションを作ることが可能です。
今回は、Dataikuを活用し、Bokehを使ったシンプルなWebアプリケーションの作成方法を紹介します。具体例として、二重振り子のシミュレーションを実装し、その後ダッシュボードでのエクスポート方法も説明します。
2. Bokehとは
Bokehは、Pythonで書かれたインタラクティブなデータ可視化ライブラリです。
ユーザーはBokehを使用して、Webブラウザ上でインタラクティブなプロットやダッシュボードを簡単に作成できます。またグラフのズーム、パン、ホバーなど、ユーザーがデータと直接対話することができる多機能な可視化ツールです。
Dataikuと組み合わせることで、データサイエンティストが高度な分析結果を直感的に共有することが可能です。
DataikuでWebアプリを作るにはWebappsから作成可能です
Webappsを開いたらBokehを選択します。
ここからBokehを用いてアプリケーションを作成することが可能です。
選択すると次のような画面に遷移します。
左側のペインでPythonコードの表示と編集ができ、右側のペインに実行結果のプレビューが表示されます。
この時、Code envでbokehがインストールされた環境を選択する必要があります。
SettingsのCode envの箇所にあるプルダウンメニューから、bokehをインストールしたEnvironmentを選択します。。
3. Webアプリの作り方(斜方投射のシミュレーション)
ここでは、斜方投射のシミュレーションを例に、Bokehを使ったWebアプリケーションの作成方法を説明します。
このシミュレーションは投射物の軌跡を表現します。
今回は以下のような手順で作成しました。
- データ準備: 斜方投射の運動方程式をPythonで実装し、シミュレーションデータを生成します。投射角、初速度、空気抵抗などのパラメータを設定し、時間の経過に伴う位置データを計算します。
- Bokehのセットアップ: DataikuでPythonレシピを使い、Bokehをインポートして、インタラクティブなプロットを作成します。斜方投射の軌跡を描画するための基本的なプロットを準備します。
- プロットのカスタマイズ: プロットの色、ラベル、軸などをカスタマイズし、斜方投射の軌跡を視覚化します。投射角や初速度、空気抵抗を変えたときの軌跡の変化を表示できるようにします。
- Webアプリの作成: インタラクティブなWebアプリケーションとしてシミュレーションを公開します。これにより、ユーザーは投射角や初速度を変更し、リアルタイムで斜方投射の結果を確認することができます。
実装してみると以下のような形になります
生成したシミュレーションデータをもとにインタラクティブにデータを可視化できることがBokehの強みです。
4. ダッシュボードでのエクスポート
作成したアプリケーションは、Dataikuのダッシュボードへエクスポートすることが可能です。
これにより、シミュレーション結果や実験データを一元的に管理し、分析することができます。
ダッシュボードには、実験データを示すグラフとシミュレーション結果を示すグラフの2つが配置されます。
右側のグラフが実験データで、これは実際の測定値や観測データを視覚化しています。一方、左側のグラフがシミュレーション結果で、ここでは理論モデルに基づいたシミュレーションデータが表示されます。
ユーザーはインタラクティブなコントロールを使って、投射角や初速度、空気抵抗などのパラメータを動的に調整することができます。これにより、シミュレーション結果がリアルタイムで変化し、異なる条件下での投射物の挙動を直感的に理解することができます。
実験データとシミュレーションデータを比較することで、モデルの適切さや精度を評価し、様々なインサイトを得ることができます。
このように、Dataikuのダッシュボードを活用することで、シミュレーションと実データの統合的な分析が可能となり、より深い理解が得られます。
5. 終わりに(ビジネスシーンへの使い方)
BokehとDataikuを組み合わせることで、データ分析結果を簡単に視覚化し、Webアプリケーションとして展開することが可能です。
たとえば、製造業において、工程改善のための実験データを分析し、その結果をインタラクティブなシミュレーションとして視覚化するアプリを構築できます。このシミュレーションにより、意思決定者は異なる条件下での生産性やコストの変動をリアルタイムで確認し、最適な生産戦略を策定することができます。
また、マーケティングにおいても、顧客の購買パターンを分析し、Bokehを使ってインタラクティブなダッシュボードを作成することで、キャンペーンの効果をリアルタイムで評価し、即座に戦略を調整することが可能です。
このように、実験やシミュレーションを通じて、データに基づいた迅速な判断を支援する強力なツールとなり、ビジネスシーンにおける効果的な意思決定を促せられます。