モデルファクトリーの入門

この記事はモデルファクトリーの基礎を説明します。

注意: :リンクされたスクリプトはPython 3.7.3 とDataRobot API version 2.19.0を利用して書かれています。利用されているPythonのバージョンやDataRobot APIバージョンに応じてすこし修正が必要かもしれません。

モデルファクトリーの定義

データサイエンスの文脈におけるモデルファクトリーは、人間の介入をほとんど、または全く行わずに予測モデルを自動的に生成するシステム、または一連の手順のことを指します。モデルファクトリーは、モジュールとよく呼ばれる複雑な複数の層を持つことができます。ひとつのモジュールは学習モデルで、一方他のモデルはデプロイモデル、再学習モデルが該当します。

なぜモデルファクトリーを作成するのか?

以下のシナリオを考えてください。

  • あなたは、2万個の商品を持っており、それぞれを予測する必要があります
  • カスタマーは複数のタイプが存在し、チャーンの予測を試みたいです。

あなたならどう取り組みますか?シングルモデルを作りますか?そして、シングルモデルで十分ですか?(シングルプロセスのメソッドも含む)

モデルファクトリーアーキテクチャ

DataRobotを用いてモデルファクトリーを生産するコードを見つけたい場合はここのコードをお使いください。この記事の目的は、DataRobotのモデルファクトリーのアーキテクチャだけ見てみましょう。

Figure 1. Model factory architectureFigure 1. Model factory architecture

はじめにグループ列をもとにデータを分割することをはじめます。グループ列はなんでもかまいません:たとえば、あなたの会社の製品を区別する機能、異なるカスタマーセグメント、顧客の地理に応じたデータ分割など。

データを分割したあとは、データセットそれぞれにDataRobotの新しいプロジェクトを作成します。それぞれに対してDataRobotはベストなアルゴリズム、前処理をみつけます。すると、ベストなモデルをデプロイでき、新しいデータを受け取る準備ができます。

上記のアーキテクチャはモデルファクトリーにおいて最低限の要件です。データドリフトや精度の基づく再デプロイや自動的な再学習のフォームにおいて自動化の別のレイヤーを追加することができ、DataRobotのモデルの上に独自のカスタム機能を追加することもできます。

Python、またはRのDataRobot APIを利用している場合、手動でデータの分割や複数のプロジェクトの作成に時間をさかなくて良いので、説明した手順はシームレスになります。

DataRobotのモデルファクトリーの真の力は、サンプル検証、機械学習の前処理、そしてデプロイを自動化しながら観測する各サブセットにベストなモデルを適合させることができることです。精度が重視される多次元データにおいて、モデルファクトリーのアプローチはほとんどの場合、シングルモデルアプローチよりも優れたパフォーマンスを発揮し、その結果、大きなビジネスの価値に変換することができます。

DataRobot Community GithubにモデルファクトリーのはじめるためのPython notebook、メディアファイル、学習データ、テストデータのサンプルがあります。

ラベル(1)
バージョン履歴
最終更新日:
‎07-31-2020 11:35 AM
更新者:
寄稿者