はじめに
Dataiku Version9から追加された「Interactive Scoring(インタラクティブスコアリング)」をDataiku Academyのハンズオンを利用して試してみましたので、ここで紹介します。
インタラクティブスコアリングとは
Dataikuのインタラクティブスコアリングでは、What-if分析(感度分析)を実行して、指定した特徴量の値にもとづいて、対話的にスコアリングすることができます。これにより、特定の特徴量の変更が与える影響を把握することができます。
インタラクティブスコアリングのハンズオン
Dataiku Academyの「Hands-On Tutorial: What-If Analysis With Interactive Scoring」でインタラクティブスコアリングを体験することができます。これ以降では、このハンズオンで実施した内容を記載します。
事前準備
- 手元で利用できるDataikuを用意します。VirtualBoxを利用してDataikuを用意する場合は、「Virtualbox または VMWare を使って Dataiku をインストール」に手順が記載されていますので、この内容を参考に環境を準備します。また、「Dataiku DSSをVirtual Boxを使って利用する方法」も参考にしてください。
- Dataiku Academyを実施する際はユーザ登録しておくと、参照したページの履歴が残るので、ユーザ登録をお薦めします。
プロジェクトを作成
Dataikuのホームページから[+ New Project]> DSS Tutorials > General Topics > Haiku Starterをクリックして、Haiku Starterプロジェクトを作成します。
インタラクティブスコアリングのダッシュボードを表示
ダッシュボードの中の[What-if Analysis]スライドを表示します。
このスライドでは、Haiku Tシャツ販売会社で顧客のLTVが高いかどうか判断するモデルに対して、What-if分析(感度分析)が実施できるようになっています。
画面の左側には、特徴量を指定できるシミュレータ、右側には、シミュレータで設定した特徴量に基づく予測結果、およびその予測に寄与する特徴量が表示されます。
指定した特徴量の予測結果の確認
このシミュレータで特徴量の値を変えることで、指定した特徴量での予測結果、その予測に寄与する特徴量を把握することができます。
例えば、東京の新規顧客がどの程度LTVが高いと予測されるか確認する場合は、次のようにします。
- 新規のお客様の場合には事前にはわからない情報である、[order_date_year_distinct]や[order_day_of_week_distinct]、[order_date_month_distinct]、[ip_address_geopoint]は、[ignore feature]をクリックして、シミュレーションでは使用しないようにします。
- [ip_address_country]に「Japan」、[ip_address_city]に「Tokyo」を指定します。
これにより、LTVが高いと予測される確率が28%程度になることが分かります。
二値分類、他クラス分類、回帰に対して、それぞれに応じた予測の表示がされます。
上記は二値分類の場合ですが、他クラス分類の場合は各カテゴリの予測確率とカテゴリが、回帰の場合は予測確率密度関数と予測値が表示されます。
複数のWhat-if分析結果を比較する
What-if分析結果は、[ADD TO COMPARATOR]ボタンをクリックして、保存できます。保存した結果は、[COMPARE]ボタンをクリックして参照します。
例えば、下図は、東京の場合と、ニューヨークや、パリの場合を比較するために作成したビューになります。
東京、ニューヨーク、パリの場合のLTVの高い顧客の割合や、それに影響を与える特徴量を比較できます。
ニューヨークやパリは次の特徴量を指定します。
・ニューヨーク:[ip_address_country]に「United States」、[ip_address_city]に「New York」
・パリ:[ip_address_country]に「France」、[ip_address_city]に「Paris」
データをコピーして特徴量に入力
データセットから分析したいデータをコピーして、シミュレータに貼り付けて予測結果などを確認できます。
- データセット上で予測結果を確認したいレコード上で右クリックして、[Copy row as JSON]をクリックします。
- シミュレーションの左側にある[...]をクリックして、[Paste features]をクリックします。[Paste]画面でCtrl+Vをクリックします。先ほどコピーしたデータが表示されるので、確認して[Paste]をクリックします。左側の特徴量に貼り付けたデータが反映され、その特徴量に応じて右側のビューが更新されます。
おわりに
今回は、機械学習モデルのWhat-if分析ができる[Interactive Scoring(インタラクティブスコアリング)]について紹介しました。先日、Dataiku Version 10がリリースされ、MLOps関連の機能など追加されているようです。新しい機能を触りましたら、また紹介したいと思います。