7.モデルのデプロイ

DataRobotの真価を発揮するためには、モデルを使用して予測を実行する必要があります。これは一般的に「モデルデプロイ」と呼ばれるプロセスです。DataRobotには様々なデプロイ方法があり、ユースケースによって最適なものを選択できます。ここでは、モデルリーダーボードから始まり、異なるユースケースのニーズに対応するDataRobotモデルのデプロイ方法を確認してみましょう。

モデルリーダーボードから、予測を行うモデルを選択します。ここでは "最も精度が良い"というラベルのついたものを使用していますが、ユースケースに応じた適切なモデルを選択することができます。

モデルの詳細の下には、モデルをさらに調査/活用するための多くの方法を提供するタブのセットがあり、その中には「予測」タブも含まれています。

予測を作成(別名:ドラッグ&ドロップ)
デプロイ
DataRobot Prime
ダウンロード

figure01.png

図1. DataRobotから予測値を取得する方法

上記のオプションはそれぞれ予測の実行方法が異なりますので個別に見ていきましょう。

予測を作成

ほとんどの人は、DataRobotの最初のデモ中にこのオプションを見たり、初期のフィッティング後にアドホックに予測をしたり、モデルのパフォーマンスをテストしたりするのに使用しています。このような様々な場面で利用できるため、データサイエンティストとアナリストの両方に非常に人気のある選択肢となっています。

ユーザーによる使用例
データサイエンティストにとっては、モデルの検証やアドホックなスコアリングに役立ちます。
アナリストや経営者にとっては、月次/四半期ごとのスコアリングに便利です。

デプロイ

機械学習に慣れていない人にとっては、この用語は最初は少し誤解を招く可能性がありますが、意味するところは、API (Application Programming Interface)を介してDataRobotモデルを利用可能にするということです。これにより、レコード単位ごと、または複数レコードをバッチ単位でスコアリングすることができます。このオプションでは予測の説明を含めることができ、ユーザが必要な予測結果に対するより詳細な説明を提供することができます。

これは、予測結果を内部システムにインテグレーションする場合に最も一般的な方法論です。

ユーザーによる使用例

データサイエンティストにとっては、これは実環境でモデルをスコアリングするのに役立ちます。
アナリストやエグゼクティブにとっては、これは通常、既存のビジネス・システムやカスタマー・サポート/コール・センター用のカスタム・アプリケーションから透過的に実行されます。

DataRobot Prime

DataRobot Primeは、作成したモデルをDataRobotアプリケーションの外部で使用するために最適化(近似モデルを作成)することで様々なメリットを提供します。作成後は、これらのモデルをPythonコードまたはJavaコードとしてエクスポートし、エクスポートしたスクリプトを実行することができます。DataRobot Primeは、特徴量の型変換を含むモデルもサポートしています。

DataRobot Primeのモデルは、リーダーボード上のほとんどのモデルに対して構築することができます。しかし、条件によってはモデルを最適化することができない状況もあります。(DataRobot Primeには別途ライセンスが必要ですのでご注意ください)。

以下の手順で、DataRobot Primeモデルを作成する方法を説明します。

1.ターゲット・モデルを選択し、予測をクリックし、DataRobot Primeを選択します。

figure02.png

2."DataRobot Primeを実行"ボタンをクリックします。これによりPrimeモデルが生成され、生成されると、他のモデルと一緒にリーダーボードに表示されます。Primeモデルには次のようなアイコンが表示されます。
figure03.png

3.新しいPrimeモデルを選択し、予測 > DataRobot Primeを選択します。

4.ルール数を変更する: DataRobotは最適なルール数の選択に基づいてモデルを最適化しますが、ルール数を変更したい場合があります。

これは以下の方法で行うことができます。
--グラフから、選択した選択範囲内のルールの数を決定します。
--関連するラジオボタンをクリックして新しいルール数を選択します。
--"続ける"をクリックして、新しいモデル要求を確認します。"続ける"をクリックすると、DataRobotは新しいルール数の新しいDataRobot Primeモデルを生成し、そのモデルをリーダーボードに追加します。
--ステップ3に戻ります。

5.ここで、ユースケースに最も適した言語を選択します。デフォルトはPythonですが、Javaを選択することもできます。

6."コードの生成とダウンロード"をクリックして、ダウンロード可能なPrimeコードを生成します。

7.これが完了したら、"生成済みコードをダウンロード"をクリックします。

DataRobot Primeモデルの使用方法については、オンラインドキュメントで"DataRobot Primeの例"を検索してください。

ユーザー別の使用例

データサイエンティストにとって、DataRobotの外部にあるデータをスコアリングするのに便利です。
アナリストやエグゼクティブにとっては、一般的には使用されません。

ダウンロード

DataRobotの外部でスコアリングを実行するために、DataRobotプラットフォームからモデルをエクスポートする別の方法として、ダウンロードタブを使用することができます。この方法は、DataRobotからモデルをエクスポートして、パフォーマンス要件の厳しい超低レイテンシーのユースケースにおいて、ダウンロードしたモデルを使ってデータに近いところでスコアリングする必要があるケースなどで利用されています。このオプションは、どのような環境でも簡単にデプロイでき、DataRobotプラットフォームに依存しないJavaスコアリングコードを提供します。(ただしこのオプションを使用すると、予測の説明を利用できないことに注意してください)。

もう一度、モデルのリーダーボードに戻ってみましょう。

スコアリングコードのダウンロードをサポートしているDataRobotモデルは、このような"スコアリングコード"ラベルが表示されています。

figure04.png
図4. モデルラベル

ソースコードとバイナリコード(コンパイル済みのJava実行ファイル)のどちらかをダウンロードすることができます。

figure05.png
図5. ダウンロードモデルのスコアリングコード

DataRobotは、ダウンロードしたスコアリングコードの使用方法を説明する包括的なオンラインドキュメントを提供しています。実行時のヘルプもドキュメントで検索することができます。

ユーザーによる使用例

データサイエンティストにとっては、DataRobotの外部で高速且つ安全にデータをスコアリングするのに便利です。
アナリストやエグゼクティブにとっては、一般的には使用されません。

予測アプリケーション

DataRobotから予測値を取得する最後の方法は、予測アプリケーションの1つを介してモデルをデプロイすることです。これらのアプリケーションは、DataRobotモデルをデータ入力フロントエンドから簡単に利用するための様々な方法をカバーしています。事前に構築されたアプリケーションの中から1つを選択するか、デフォルトのアプリケーションテンプレートを使ってデプロイすることができます。

トップメニューのアプリケーション選択からアプリケーションにアクセスできます。

figure06.png

ユーザーによる使用例

 

データサイエンティストにとっては、素早く利用できるテストUIを提供するのに便利です。
アナリストやエグゼクティブにとっては、複雑でないユースケースのためのシンプルなUIを提供します。

 

モデルのデプロイの注意点・Tips

学習データに対しての予測値の確認
  • 予測タブから学習データに対しての予測値を取得できますので、予測値が極端に高いもの、低いもの、予測値が実測に対して大幅にずれてしまっているデータがあれば、その理由を検証しましょう。
  • リーケージが値レベルで入っていないか、特定の特徴量で過学習していないか確認してみましょう。
  • 学習データに含まれておらず、明確に捉えられなかった特徴量(特定のイベントや祝日情報が抜けているなど)を考察してみましょう。
予測のフォーマット
  • 予測するときには手に入っていないデータを元に学習しても予測では使えないので、ターゲット列で選んだもの以外に足りない列が一つでも存在しているとエラーが発生します。その場合は、そのデータを除いて学習をし直す必要があります。逆に列が多い分には問題ありません(無視されます)。
  • 列名が正しく認識されるようにエンコーディングされているか、列の型が正しいかなされているか確認しましょう。元は数字だけだったのに予測には文字列が混じっているという状況では、エラーになります
100%のサンプルデータで再モデリング
  • ホールドアウトを解除して、100%のサンプルデータでモデリングしてみましょう。最も精度の良いシングルモデルは、全データを使用した再学習が自動的に行われますが、アンサンブルや上記で選ばれないモデルに対しては、100%学習を手動で行う必要があります。
  • その際には検定スコアにはアスタリスクが付与され、参考値となることに注意してください。
実運用プラン
  • アクションに合わせたモデル活用をテストしてみましょう。
    • ランキング:上位x%しか利用しない場合には、上位x%だけでの精度を確認する
    • セグメント:混同行列などから業務を満たす閾値を決定する
    • 最適化シミュレーション:入力値の変化における予測値の変化から最適な入力値を見つける
    • 値をそのまま利用する:需要予測などの場合、上振れと下振れがどちらが許容できるかによって判断する
  • 分析の効果測定については、過去のデータに対して、仮にDataRobotがそのときにあったらどこまで違ったかを推定してみましょう。A/Bテストを実施する場合には、コントロールグループ、ターゲットグループの定義、期間を確認しておきましょう。
  • モデルのリフレッシュプランを明確化しましょう。どれくらいの頻度でモデルを再学習させるのか、APIでの定常化を考える必要があるのか検討し、必要であれば実装しましょう。
バージョン履歴
最終更新日:
‎05-17-2020 08:06 PM
更新者: