Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

Eureqaモデル

Eureqaモデルタブは、Eureqa一般化加法モデル(Eureqa GAM)、Eureqa連続値、およびEureqa分類モデルのモデルブループリントへのアクセスを提供します。これらのブループリントは、独自のEureqa機械学習アルゴリズムを使用して、予測精度と複雑さのバランスをとるモデルを構築します。

Eureqaモデリングアルゴリズムは、ノイズに対して堅牢で柔軟性が高く、さまざまなデータセットで適切に機能します。一般的に、Eureqaでは、データに適した、精度の高いエクスポート可能な式で容易に解釈できるシンプルなモデルが検索されます。

Eureqaの一般化加法モデル(GAM)ブループリント(Eureqa/XGBoostハイブリッド)は、連続値プロジェクトと分類プロジェクトの両方で使用できます。

DataRobotでEureqaブループリントを実行すると、Eureqaアルゴリズムで数百万の対象モデルが試行され、データに最も適した(さまざまな複雑さの)いくつかのモデルが選択されます。Eureqaモデルタブでは、これらのモデルの検査と比較を行い、複雑さと予測精度のバランスの要件を最適に満たすモデルを選択できます。

1つまたは複数のEureqa GAMモデルを選択し、将来のデプロイを目的としてリーダーボードに追加することができます。さらに、Eureqaモデルを再作成できるので、その予測をDataRobotの外部で完全に再現できます。この機能は、規制のある業界の要件を満たす場合、および運用ソフトウェアにモデルを埋め込むステップをシンプルにする場合に有用です。Eureqaモデルの再作成は、モデル式をターゲットデータベースや運用環境にコピーして貼り付けるのと同様にシンプルです。(また、GAMモデルの場合、パラメーターをエクスポートしてモデルを再作成できます。)

Eureqaモデルのメリット

Eureqaモデルを使用する利点は多数あります:

  • また、人に判読可能かつ解釈可能な分析式を返してくれるので、専門家によるレビューも容易です。

  • モデル構築の過程で複雑さを減らすことを余儀なくされているため、特徴量選択が非常に得意です。たとえば、データにターゲット特徴量を予測するために20つの異なる列が使用されている場合、シンプルな式の検索は、最強の予測実行のみを使用する式を生成します。

  • 小規模なデータセットにうまく対応するため、大量のデータを生成しない物理実験のデータを収集する科学研究者に人気があります。

  • ドメイン知識に統合する簡単な方法を提供します。モデル化しているシステムの基本的な関係性がわかっていれば、Eureqaに「ヒント」(例えば、熱伝導の公式や特定の地域での住宅価格の仕組みなど)を与えて、ビルディングブロックや学習の出発点とすることができます。Eureqaは、そこから機械学習修正を構築します。

Eureqaモデルの構築

Eureqaモデルは、クイックではなく完全なオートパイロットで実行されますが、モデルリポジトリからいつでもアクセスできます。(モデリングモードとプロジェクトタイプに基づいてモデルが利用可能になる時期についてはリファレンスを参照してください。)さらに、「オートパイロットにEureqaモデルを含めない」フラグを使用して、オートパイロットの一部としてモデルを実行できないようにすることができます(管理者に問い合わせてください)。

クイックモードを実行したときにEureqaモデルが構築されていない場合、または手動モードを選択した場合は、リポジトリからモデルを作成できます。包括的モードの場合、すべてのEureqaモデルがオートパイロットの実行中に作成されます。Eureqaブループリントを実行すると、その名前のモデルが作成されます。

ブループリントを実行するには:

  1. データセットをアップロードしてターゲットを選択します。次に、モデリングモードを選択し、開始をクリックしてモデル構築プロセスを開始します。手動モードを使用してプロジェクトを開始した場合、次のメッセージが表示されます。

  2. メッセージのリポジトリをクリックするか、メニューのリポジトリを選択して、Eureqaブループリントを追加します。(オートパイロットモードではEureqa一般化加法モデルが自動的に作成され、リーダーボードから使用できるようになります。)

  3. リポジトリの検索ボックスにeureqaと入力して表示をフィルターします。作成したいEureqaモデルごとに、ドロップダウンから追加をクリックします。

  4. 準備ができたらタスクを実行をクリックします。

モデルの処理が開始されます。進捗状況は、ワーカーキューのステータスで確認できます。構築処理が完了したら、リーダーボードでモデルが使用可能になります。

Eureqaモデルタブ

Eureqaモデルの詳細を表示するには、リーダーボードでモデル()を選択し、Eureqaモデルタブを選択します。

表示要素 説明
Eureqaモデルサマリー リーダーボードモデルのEureqaの複雑さ、Eureqaのエラー、およびモデル式を表示します。
小数の四捨五入処理 Eureqa定数での四捨五入処理で表示する小数点以下の桁数を設定します。
エラーと複雑さの比較によるモデルチャート モデルの複雑さに対するモデルのエラーをプロットします。
選択されたモデルの詳細 選択されたモデルの数式およびプロットを表示します。
エクスポートリンク リーダーボードモデルの前処理およびパラメーター情報をCSVにエクスポートします(GAMのみ)。

タブのグラフおよびその他のUI要素は、DataRobotで追加の候補モデルが作成および選択されるにしたがって定期的に更新されます。

Eureqaモデルサマリー

この上部セクションに表示されるモデルサマリー情報は、リーダーボードモデルの情報を表します。これには、複雑さと誤差のスコアに加えて、モデルの数学的表現(モデル式)とモデルエクスポートへのアクセスが含まれます。(GAMのみ)

備考

Eureqaモデルをカスタマイズして以前の解(prior_solutions)を設定する場合などは、モデル式の内容を等号の右側にコピーします。また、ターゲット式文字列(target_expression_string)にモデル式を使用する場合、元の特徴量名をTargetで置き換えてください。たとえば、上のスクリーンショットでは、ターゲット式は次のようになります
Target = High Cardinality and Text features Modeling +1.23938372292399sqrt(perc_alumni) + 0.031847155305945Top25perclog(Enroll) + 0.000123426619061881Outstatelog(Accept) - 23.3747552223482 - 0.00203437584904968Personal

複雑さのスコアは、エラーと複雑さの比較によるモデルチャートで表現されるように、このモデルの複雑さをレポートします。「Eureqaエラー」の値は、Eureqaモデルを比較するためのメカニズムを提供します。最適なモデルを選択した後、そのモデルをリーダーボードに移動して、その他のDataRobotモデルと比較できます。モデル式は、モデルを表現する数学関数を示します。エクスポートリンクをクリックすると、モデルの前処理およびパラメーターデータをダウンロードするためのダイアログが開きます。データパーティショニングとエラー指標に関する注意事項を参照してください。

小数の四捨五入処理

読みやすさを向上させるために、DataRobotはデフォルトで定数を小数点以下2桁の陽性的中率で表示します。表示される陽性的中率は、四捨五入ドロップダウンで変更できます。表示を変更しても、基盤となるモデルには影響しません。

デフォルトの表示:

すべてのポイントが表示された状態:

エラーと複雑さの比較によるモデルグラフ

Eureqaモデルの左側のパネルには、モデルの複雑さに対するプロットモデルエラーが表示されます。結果として表示されるグラフ(パレート図)上の各ポイントは、Eureqaによって作成された別のモデルを表します。各ポイントの色の範囲は、最もシンプルで最低精度のモデルを表す赤から最も複雑で精度の高いモデルを表す青までの範囲です。

リーダーボードエントリー(「現在のモデル」)の場所がグラフに示されます()。その他のポイントの上にマウスを置くと、モデルのEureqaの複雑さとエラーを示すツールチップが表示されます。モデル(ポイント)をクリックすると、そのモデルの詳細で右側の選択されたモデルの詳細グラフが更新されます。

選択されたモデルの詳細グラフ

選択されたモデルの詳細グラフでは、選択したモデルの複雑性とエラースコアに加えて、モデルの数式的表現がレポートされます。

エラーと複雑さの比較によるモデルグラフのモデル(ポイント)をクリックすると、選択されたモデルの詳細グラフが更新されます。さらに、別のモデルを選択すると、リーダーボードに移動ボタンがアクティブになります。ボタンをクリックすると、選択したモデルの新しい追加のリーダーボードエントリーが作成されます。モデルは既に構築されているので、新しい計算は必要ありません。

グラフに表示される部分の内容は、連続値問題で作業しているか分類問題で作業しているかに応じて異なります。

連続値プロジェクトの場合

連続値問題の選択されたモデルの詳細グラフは、選択されたモデルのデータに合わせた散布図を表示します。リフトチャートと同様に、選択されたモデルの詳細グラフのオレンジのポイントは、データ全体のターゲット値(実測値)を示し、青い線はモデルの予測値をグラフ化しています。別のモデルの出力を表示するには、左側のエラーと複雑さの比較によるモデルグラフで新しいモデルを選択します。

グラフは次のように解釈します。

要素 説明
選択されたモデルの複雑さの値、エラーの値、およびモデル式。
選択されたモデルをリーダーボードに送るアクション。使用可能なすべてのEureqaモデルは最初の実行時に構築されるため、追加の処理は必要ありません。
ターゲット値とモデル値を表示するツールチップ。
X軸に沿った行の順番を制御するドロップダウン。

並べ替え基準ドロップダウンには、以下を始めとするいくつかのオプションがあります。

- 行(デフォルト):行は元のデータと同じ順序で表示されます。
- データ値:行はターゲット値を基準にした順序で表示されます。
- モデル値:行はモデル予測を基準にした順序で表示されます。

分類プロジェクトの場合

分類問題の選択されたモデルの詳細グラフには、選択されたモデルの分布ヒストグラム(混雑行列)が表示されます。したがって、モデル予測の範囲全体で均等に分割されたn個のバケットに含まれるモデル予測のパーセンテージを示します。混同行列の解釈の詳細については、ROC曲線に関する全般的な説明を参照してください。

ヒストグラムには、選択されたモデルに適用されるすべての予測値が表示されます。別のモデルの出力を表示するには、エラーと複雑さの比較によるモデルグラフで新しいモデル(別のポイント)を選択します。

グラフは次のように解釈します。

要素 説明
選択されたモデルの複雑さの値、エラーの値、およびモデル式。
選択されたモデルをリーダーボードに送るアクション。使用可能なすべてのEureqaモデルは最初の実行時に構築されるため、追加の処理は必要ありません。
合計値、値の範囲、True/Falseのカウントの内訳など、バケットの内容を説明するツールチップ。
X軸に沿った行の値で並べ替えます。デフォルトでは、行はモデル予測を基準に表示されます。

ヒストグラムには、プロットを4つの領域に分割する垂直のしきい線(上の例の0.5)が表示されます。プロットの上の部分にはターゲット値が1であったすべての行が表示され、下の部分にはターゲット値が0であったすべての行が含まれます。しきい線の左側のすべての予測は False(陰性)予測で、左下は正しい予測を表し、左上は間違った予測を表します。しきい線の右側の値は、Trueと予測された値です。ヒストグラムの数は、トレーニングデータセット全体で計算されます。

モデルパラメーターのエクスポート

備考

エクスポートボタンを使用してGAMモデルを再作成できますが、モデル式をコピーしてターゲット環境(SQLクエリー、Python、Javaなど)に直接貼り付けることによって、GAMまたは非GAMのEureqaモデルを再作成することもできます。

エクスポートボタンをクリックするとウィンドウが開き、選択したリーダーボードエントリーのEureqa前処理およびパラメーターテーブルをダウンロードできます。このエクスポートでは、DataRobotの外部でGAMモデルを再作成するために必要なすべての情報が提供されます。出力は、係数タブからのエクスポートを(ここのGAM固有の情報で)解釈する場合と同様に解釈できますが、以下のような違いがあります。

  • 出力の最初のセクションは、Eureqaモデル式を示します。これは、Eureqaモデルタブの上部に表示される数学方程式で、Target=...で始まります。

  • 2番目のセクションは、モデルで使用された各特徴量のDataRobotの前処理を表示します。これには、1つまたは2つの入力変換(標準化など)のパラメーターが含まれます。Eureqaモデルでは、テキストおよび高カーディナリティ特徴量がない場合、Coefficientフィールドは0に設定されます。「係数」は、列の線形にフィットした係数を示すために線形モデルにおいて使用されます。

  • Eureqaモデルパラメーターは.csv形式でのみエクスポートできます(.pngおよび.zipオプションは選択できません)。

さらに詳しい情報

従来のDataRobotのモデル構築では、データは、トレーニング、検定、およびホールドアウトのセットに分割されます。対照的に、Eureqaでは、トレーニングDataRobot分割が使用されますが、Eureqaエラーを計算するために、独自の内部トレーニング/検定分割ロジックを使用して、そのセットがさらに分割されます。

モデルの可用性

次の表は、AutoMLおよび時系列プロジェクトのEureqaモデルがオートパイロットおよびリポジトリで使用できる条件を示しています。

備考

オートパイロットの一部としてEureqaモデルを実行することは、「オートパイロットにEureqaモデルを含めない」フラグで制御できます。無効にする場合は管理者に依頼してください。

Eureqaモデルタイプ オートパイロット リポジトリ
AutoMLプロジェクト
リグレッサー/分類器
  • 数値またはカテゴリー特徴量が必要
  • 最大データセットサイズは100,000行
  • オフセットとエクスポージャーが設定されていない
  • 数値またはカテゴリー特徴量が必要
  • データセットサイズの制限なし
  • オフセットとエクスポージャーが設定されていない
GAM
  • 最大データセットサイズは1GB
  • オフセットとエクスポージャーが設定されていない
  • 最大データセットサイズは1GB
  • オフセットとエクスポージャーが設定されていない
時系列プロジェクト
リグレッサー/分類器
  • 行数が100,000未満 および
  • カテゴリー特徴量で一意の値の数が1,000未満
制限なし
GAM
  • 行数が100,000未満または
  • 一意のカテゴリー特徴量の数が1,000未満
制限なし
予測距離モデリングを使用したEureqa N/A
  • 予測距離の数が15未満
  • 最大100,000行またはカテゴリー特徴量で一意の値の数が1,000未満

生成回数

次の表は、選択したブループリントに基づいて実行された生成回数を示しています。生成値はブループリント名に反映されます。

Eureqaモデルタイプ オートパイロット生成 リポジトリの生成
AutoMLプロジェクト *
リグレッサー/分類器 250 40、250、または3000
GAM 動的* 40、動的*、または10,000
時系列プロジェクト
リグレッサー/分類器 250 40または3000
GAM 250 40、250、動的*
予測距離モデリングを使用したEureqa(予測距離ごとに1つのモデル) N/A 生成数は、高度なチューニングtask_sizeパラメーター により決定されます。デフォルトは中規模(1000回の生成)です。

* 生成数の動的オプションは、データセットの行数に基づいています。値は1000〜3000回の生成になります。

Eureqaとスタックされた予測

これを行うには計算上「高価」になりすぎるため、Eureqaブループリントはスタックされた予測をサポートしていません。ほとんどのモデルでは、プロジェクトの作成に使用されたデータでの予測を生成するためにスタッキングが使用されます。トレーニングデータでEureqa予測を生成する場合、すべての予測は、スタッキングからではなく、単一のEureqaモデルから生成されます。

したがって、Eureqaエラーはデータのエラーではなく、フィルターされたバージョンのデータのエラーです。これが、エラー指標が同じときに、レポートされたEureqaエラーがリーダーボードエラーよりも小さい理由です。DataRobotの最適化指標(リーダーボードでのモデルの格付けに使用される値)は変更できますが、Eureqaエラー指標を変更することはできません。

スタッキング予測がないことによる、Eureqa以外のモデルとの違いを以下に示します。

  • AutoMLでは、予測をトレーニングするブレンダー(GLMやENETなど)は無効になっています。他のブレンダーは利用できます(AVGやMEDなど)。
  • 検定やホールドアウトのためにトレーニングされたEureqaおよびEureqa GAMモデルでは、検定と交差検定のスコアは非表示です。
  • トレーニングデータの予測のダウンロードは無効になっています。

モデルトレーニングプロセス

Eureqaモデルをトレーニングするとき、DataRobotは新しいソリューション検索または再適合のいずれかを実行します。

  • 新しいソリューション検索:Eureqaの進化プロセスは完全な検索を行い、新しいソリューションのセットを探します。このメカニズムは改良よりも遅くなります。
  • 再適合:Eureqaは、線形要素の係数を再適合します。つまり、既存のソリューションからターゲット式を取得して、線形要素を抽出し、すべてのトレーニングデータを使用してその係数を再適合させます。

次の表は、Eureqaモデルタイプごとに、検定/バックテストのトレーニング動作とフローズン実行を示します。

モデルタイプ バックテスト/交差検定 フローズン実行
Eureqaリグレッサー/分類器 最初の分割でトレーニングされたモデルから既存のソリューションの係数を再適合させます。 親モデルから既存のソリューションの係数を再適合させます。
Eureqa GAM* 最初の分割でトレーニングされたモデルから既存のソリューションの係数を再適合させます。 XGBoostハイパーパラメーターを固定し、Eureqaの第2段階モデルの新しいソリューション検索を実行します。
予測距離モデリングを使用したEureqa(戦略ごとに、予測距離の最適なソリューションを選択) 新しいソリューション検索を実行します。 固定されたEureqaビルディングブロックを使用して新しいソリューション検索を実行します。

* Eureqa GAMは、2つのステージで構成されます。最初のステージはXGBoostです。2番目のステージはXGBoostモデルを近似するEureqaですが、トレーニングデータのサブセットでトレーニングされています。 

決定論的モデリング

他のDataRobotモデルと同様に、Eureqaのモデル生成プロセスは決定論的です。同じデータに対して同じ設定引数でEureqaを2回実行した場合、同じモデル(同じエラー、同じ複雑さ、同じモデル式)が得られます。Eureqa独自のモデル生成プロセスのために、その入力にわずかな変更(1つの行の削除やチューニングパラメーターの若干の変更など)を加えた場合でも、非常に異なるモデル式が返される可能性があります。

備考

高度なチューニングパラメーターsync_migrationsFalseに設定されている場合、Eureqaのモデル生成プロセスは非決定論的になります。その場合、優れたEureqaモデルがすばやく識別されることがあり(必ずしも保証されるものではありません)、使用可能なCPUが効率的に活用されます。

エラー指標でのチューニング

Eureqa GAMブループリントはXGBoostの出力上でEureqaを実行するので、Eureqa GAM(平均絶対誤差)でEureqaが使用する指標は、「代替」エラーです。これは、EureqaでXGBoostの元の出力がどれだけ正確に再現できるかを測定します。連続値の場合、高度なオプションでXGboostで使用される損失関数を変更できますが、Eureqaエラー指数は変更できません。また、DataRobotの最適化指標(リーダーボードでのモデルの格付けに使用される値)を変更できます。このチューニングを行うと、XGBoostのチューニングとXGBoost損失関数のデフォルトの選択に影響が生じ、Eureqa GAMで異なる結果が生成されます。

高度なチューニングのパラメーター

構築ブロックの変更、ターゲット式のカスタマイズおよびその他のモデルパラメーター(構築ブロックのサポート、誤差指標、行の加重、データ分割など)を変更することによって、Eureqaモデルをチューニングできます。Eureqaモデルは、式を使用して数学的関係性および変換を表します。

詳細については、Eureqaの高度なチューニングオプションのリファレンスガイドを参照してください。


更新しました February 22, 2022
Back to top