【Dataiku】DataikuSolutionsを使ってみた

【Dataiku】DataikuSolutionsを使ってみた | Tableau-id Press -タブロイド-
Dataiku_adventclander

こんにちは、y.takahashiです。
今回の記事ではDataikuが提供しているテンプレートであるDatiakuSolutionsについて紹介させていただきます

DataikuSolutionsとは?

Dataikuが様々なビジネスシーンでのユースケースを想定して作成したテンプレート集のようなものです。
こちらのリンクに記載されているように、小売・消費財、金融サービスと保険、健康・ライフサイエンス、製造業とエネルギーなど業界で実際に活用されそうなテーマに対するプロジェクトが事前に準備されています。

Dataikuを導入していざ自分たちで機械学習やAIを活用した分析を実装しよう、となっても何から手を付ければよいかわからない企業も多いと思います。
そういったユーザーにとっては、まずは自分たちに関係のありそうなプロジェクトをダウンロードして眺めてみるだけでも参考になるのではないでしょうか。

1から自分たちでデータ前処理、トレーニング、予測、評価などの流れを構築するよりは格段にスピードアップすることができると思います。

導入方法について

そんな便利なDataikuSolutionsですが、どのように使うことができるのでしょうか?
試してみたいSolutionのプロジェクトをダウンロードするという流れになりますが、DataikuCloud環境とオンプレ環境では若干手順が異なるのでそれぞれ説明します。

(蛇足になりますが、DataikuのCloud版とオンプレ版に関しては様々な設定画面が結構異なることが多く、ドキュメントなどを参考にする際にも自分の環境とドキュメントに記載されている環境が同じかどうかをちゃんと確認しておかないと困ることが多いのでご注意ください。)

Cloud環境のインストール方法

Cloud環境のDataikuSolutionsのインストールはLaunchpad上で実施します。

サイドバーから、「DataikuSolutions」を選択し右上の「+ ADD A DATAIKU SOLUTION」をクリック

続いて上記のような画面が表示されるので、左側の選択肢から導入したいSolutionを選択し(画像ではDemandForecastというSolutionを選択しています)右上の「Install」を選択。

暫くすると、DSS上にプロジェクトが作成されます!

詳細はこちらのリンクに記載があるので参考にしてください。

オンプレ環境のインストール方法

オンプレ環境の場合はDSS上からインストール可能です。

Home画面から「+ NEW PROJECT」を選び「Dataiku Solutions」を選択。

Solutionが一覧で出てくるので、選択するとインストールが始まります!

DemandForecast(需要予測)の例

さて、無事にSolutionがインストールできたところで実際に中身がどのようなものなのか見てみましょう。
今回はDemandForecast(需要予測)の例でご説明いたします。

インストールしたプロジェクトを開いて、フローを見てみると結構複雑なフローが作られていることがわかります。

大まかに各Zoneでどのようなことを実施しているか説明すると、
デフォルトでは7種類のデータセットがあり、トレーニングためのデータ前処理がフローの大部分を占めています。

後半でトレーニング用のデータセットを作成し、モデルをもとにスコアリング(今回の場合は需要の予測)とダッシュボード用のデータを生成しています。

こういった処理の詳細は各プロジェクトのWikiから確認ができます。

上記画面はDemandForecastのWiki画面です。
サイドバーの「Technical Requirements」にこのSolutionを使うための技術要件がまとまってあります。
(具体的にはフローを実施するために必要なプラグインやPythonのバージョン、必要なライブラリやデータセットはDB上にあることが必要である、などが記載してます)

もっとも重要なのは、どういうデータセットがあればこのSolutionを活用できるかという部分ですね。
この需要予測のプロジェクトの場合は、最低限「取引のトランザクションデータ」と「商品カテゴリ」の2種類のデータセットがあれば実行できると記載があります。

Wikiの詳細はこちらのリンクから確認可能です。

(また蛇足ですが、上記リンクはDataikuが実際にフローを公開しているDataikuGalleryというサービスから確認できます。実際に手元にDataikuの環境が無くてもフローがこういう風に作られているなど確認ができるのでとても参考になるサイトです。)

また、こちらのSolutionでは需要予測の結果をダッシュボードで見ることも可能です。

画面上部のタブから「Dashboard」を選択し「Demand Forecast Dashboard」を選択すると以下のような画面が表示されます。

左側のフィルタを選択して、予測結果を見たいアイテムを選択することで予測結果が表示されます。
同様に、同じ時期の平均値や在庫情報なども表示できるので需要予測に役立てることが可能です。

このようにDataikuSolutionsを使うことで、データのインプットから前処理、予測、結果の表示などがあらかじめ構築されたプロジェクトを活用することが可能です!
ここまで準備されているとありがたいですね。

手元のデータを使った需要予測の方法

しかし、このようなフローが準備されていてもあくまでサンプルデータです。
自分が持つデータへの差し替えはどのように行えばよいのでしょうか?

私も初めはフローを開いて、インプットの差し替えを行い、各レシピの設定を変えてフローを作り変えるのかなと思いました。
しかし想像するだけでも結構大変そうですよね?

じゃあどうするの?

ご安心ください。そこまで面倒なことを行わずに自分の持っているデータをこのプロジェクトに当て込めるように
DataikuSolutionsにはApplication機能でデータの差し替えができるようになっているみたいです。

DSSのHome画面に戻ると、Projectの下にApplicationsの欄があり「Demand Forecast」の文字が。
(私は何度か検証のためにプロジェクトを複数回インストールしたので3つありますが、通常は一つだけのはずです。)

「+ START USING THIS APPLICATION」とあるので選択し、任意の名前を付けると新しいインスタンスが作成されます。

すると上記のような画面が表示されます。

内容を見てみると、ここで自身が持つデータセットをこのフローに差し替えることができると記載があります。

これらの指示に従っていくと、先ほどのフローのインプットや各種設定が自身のデータセットに適応したものに変更されるのです。

ここでは詳細を割愛しますが、この画面の後半には需要予測のための細かいパラメータの設定などの項目もあります。
(例えば、需要予測を行う期間の指定やどれぐらい過去までさかのぼった結果を需要予測に用いるか、外れ値の扱いをどうするかなど。)

最終的には必要な項目を入力してRUNすることで需要予測を行うことができます。

このようにインプットを簡単に差し替えることができるのはとてもありがたいですね!

まとめ

今回はDataikuSolutionsの紹介をいたしました。

Dataikuは便利なツールですが、まだまだ使い方を理解できていないユーザーも多くいると思いますので今後も皆さんの役に立つ情報を発信していきたいと思います。