Eureqaモデル¶
タブ | 説明 |
---|---|
詳細 |
Eureqaモデルタブの使用
Eureqaモデリングアルゴリズムは、「ノイズ」を扱う際に堅牢であり、非常に柔軟で、さまざまなデータセットで優れたパフォーマンスを発揮します。 一般的に、Eureqaでは、データに適したエクスポート可能な式で容易に解釈できるシンプルなモデルが検索されます。
Eureqa GAMブループリント(Eureqa/XGBoostハイブリッド)は、連続値プロジェクトと分類プロジェクトの両方で使用できます。
DataRobotでEureqaブループリントを実行すると、Eureqaアルゴリズムで数百万の対象モデルが試行され、データに最も適した(さまざまな複雑さの)いくつかのモデルが選択されます。 Eureqaモデルタブでは、これらのモデルの検査と比較を行い、複雑さと予測精度のバランスの要件を最適に満たすモデルを選択できます。
1つまたは複数のEureqa GAMモデルを選択して将来のデプロイを目的としてリーダーボードに追加することができます。 さらに、Eureqaモデルを再作成できるので、その予測をDataRobotの外部で完全に再現できます。 これは、規制対象業界の要件を満たすだけでなく、生産ソフトウェアにモデルを組み込む手順を簡素化するためにも役立ちます。 Eureqaモデルの再作成は、モデル式をターゲットデータベースや運用環境にコピーして貼り付けるのと同様にシンプルです。 (Also, for GAM models only, parameters can be exported to recreate models.)
その他の重要情報については、関連する注意事項を参照してください。
Eureqaモデルのメリット¶
Eureqaモデルを使用する利点は多数あります。
-
人に判読可能かつ解釈可能な分析式を返してくれるので、専門家によるレビューも容易です。
-
モデル構築の過程で複雑さを減らすことを余儀なくされているため、特徴量選択が非常に得意です。 たとえば、データにターゲット特徴量を予測するために20個の異なる列が使用されている場合、シンプルな式の検索は、最強の予測実行のみを使用する式を生成します。
-
小規模なデータセットにうまく対応するため、大量のデータを生成しない物理実験のデータを収集する科学研究者に人気があります。
-
ドメイン知識に統合する簡単な方法を提供します。 モデリングしているシステムの基本的な関係性がわかっていれば、Eureqaに「ヒント」(たとえば、熱伝導の公式や特定の地域での住宅価格の仕組みなど)を与えて、ビルディングブロックや学習の出発点とすることができます。 Eureqaは、そこから機械学習修正を構築します。
Eureqaモデルの構築¶
Eureqaモデルはオートパイロットの一部として実行されるのではなく、モデルの ブループリントリポジトリからアクセスできます。 Eureqaモデルは、手動モードで開始されたエクスペリメントまたは構築されたエクスペリメントに追加できます。 See the Eureqa reference on when models are available based on modeling mode and project type.
Eureqaブループリントを実行するには、ブループリントリポジトリを開き、検索ボックスにeureqa
を入力して表示をフィルターします。 ドロップダウンから、作成する各Eureqaモデルの追加をクリックします。 選択が完了したら、モデルのトレーニングボタンをクリックすると、DataRobotが選択されたモデルの処理を開始します。 キュー内でステータスを確認できます。トレーニングが完了すると、モデルはリーダーボードから利用可能になります。
Eureqaモデルタブ¶
Eureqaモデルの詳細を表示するには、リーダーボードからモデルを開いてから、詳細 > Eureqaモデルタブを選択します。
次の表は、分類プロジェクトにおけるEureqaモデルの要素を示します。
ディスプレイ要素 | 説明 |
---|---|
1 Eureqaモデルのサマリー | モデルのEureqaの複雑さ、Eureqa誤差、モデル式を表示します。 |
2 10進数の丸め処理 | Eureqa定数での四捨五入処理で表示する小数点以下の桁数を設定します。 |
3 誤差と複雑さの比較によるモデルチャート | モデルの複雑さに対するモデルのエラーをプロットします。 |
4 選択されたモデルの詳細 | 選択されたモデルの数式およびプロットを表示します。 |
5 エクスポートリンク | リーダーボードモデルの前処理およびパラメーター情報をCSVにエクスポートします(GAMのみ)。 |
Eureqaモデルのサマリー¶
この上部セクションに表示されるモデルサマリー情報は、リーダーボードモデルの情報を表します。 It includes complexity and error scores as well as a mathematical representation of the model (i.e., model expression) and access to model export (for GAM only).
備考
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モデルと比較できます。 モデル式は、モデルを表現する数学関数を示します。 エクスポートリンクをクリックすると、モデルの前処理およびパラメーターデータをダウンロードするためのダイアログが開きます。 See this note on data partitioning and error metrics.
小数の四捨五入処理¶
読みやすさを向上させるために、DataRobotはデフォルトで定数を小数点以下2桁の精度で表示します。 表示される精度は、四捨五入ドロップダウンで変更できます。 表示を変更しても、基盤となるモデルには影響しません。
デフォルトの表示:
すべてのポイントが表示された状態:
エラーと複雑さの比較によるモデル¶
Eureqaモデルの左側のパネルには、モデルの複雑さに対するプロットモデルエラーが表示されます。 Each point on the resulting graph (known as a Pareto front) represents a different model created by Eureqa. 各ポイントの色の範囲は、最もシンプルで最低精度のモデルを表す赤から最も複雑で正確なモデルを表す青までの範囲です。
リーダーボードエントリー(「現在のモデル」)の場所がグラフに示されます()。 その他のポイントの上にマウスを置くと、モデルのEureqa複雑さとEureqaエラーを示すツールチップが表示されます。 モデル(ポイント)をクリックすると、そのモデルの詳細で右側の選択されたモデルの詳細グラフが更新されます。
選択されたモデルの詳細グラフ¶
選択されたモデルの詳細グラフでは、選択したモデルの複雑性とエラースコアに加えて、モデルの数式的表現がレポートされます。
エラーと複雑さの比較によるモデルグラフのモデル(ポイント)をクリックすると、選択されたモデルの詳細グラフが更新されます。 さらに、別のモデルを選択すると、リーダーボードに移動ボタンがアクティブになります。 ボタンをクリックすると、選択したモデルの新しい追加のリーダーボードエントリーが作成されます。 モデルは既に構築されているので、新しい計算は必要ありません。
グラフに表示される部分の内容は、連続値問題で作業しているか分類問題で作業しているかに応じて異なります。
連続値プロジェクトの場合¶
連続値問題の選択されたモデルの詳細グラフは、選択されたモデルのデータに合わせた散布図を表示します。 Similar to the Lift Chart, the orange points in the Selected Model Detail graph show the target value across the data; the blue line graphs model predictions. 別のモデルの出力を表示するには、エラーと複雑さの比較によるモデルグラフで新しいモデル(別のポイント)を選択します。
グラフは次のように解釈します。
コンポーネント | 説明 |
---|---|
1 | 選択されたモデルの複雑さの値、エラーの値、およびモデル式 |
2 | |
3 | ターゲット値とモデル値を表示するツールチップ。 |
4 | X軸に沿った行の順番を制御するドロップダウン。 |
並べ替え基準ドロップダウンには、以下を始めとするいくつかのオプションがあります。
- Row (default): rows are ordered in the same order as the original data
- Data Values: rows are ordered by the target values
- Model Values: rows are ordered by the model predictions
分類プロジェクトの場合¶
分類問題の選択されたモデルの詳細グラフは、選択されたモデルの分布ヒストグラム(混同行列)を表示します。 したがって、モデル予測の範囲全体で均等に分割されたn番目のバケットに含まれるモデル予測のパーセンテージを示します。 For more information about understanding a confusion matrix, see a general description in the ROC Curve details.
ヒストグラムには、選択されたモデルに適用されるすべての予測値が表示されます。 のモデルの出力を表示するには、エラーと複雑さの比較によるモデルグラフで新しいモデル(別のポイント)を選択します。
グラフは次のように解釈します。
コンポーネント | 説明 |
---|---|
1 | 選択されたモデルの複雑さの値、エラーの値、およびモデル式 |
2 | |
3 | 合計値、値の範囲、True/Falseのカウントの内訳など、バケットの内容を説明するツールチップ。 |
4 |
ヒストグラムには、プロットを4つの領域に分割する垂直のしきい線(上の例では0.5
のすぐ下)が表示されます。 プロットの上部には、ターゲット値が1
であったすべての行が表示され、下部にはターゲット値が0
であったすべての行が含まれます。 しきい線の左側のすべての予測は False (陰性)予測で、左下は正しい予測を表し、左上は間違った予測を表します。 しきい線の右側の値は、Trueと予測された値です。 ヒストグラムの数は、トレーニングデータセット全体で計算されます。
モデルパラメーターのエクスポート¶
備考
エクスポートボタンを使用してGAMモデルを再作成できますが、モデル式をコピーしてターゲット環境(SQLクエリー、Python、Javaなど)に直接コピーすることによってGAMまたは非GAMのEureqaモデルを再作成することもできます。
エクスポートボタンをクリックするとウィンドウが開き、選択したリーダーボードエントリーのEureqa前処理およびパラメーターテーブルをダウンロードできます。 このエクスポートでは、DataRobotの外部でGAMモデルを再作成するために必要なすべての情報が提供されます。 Interpret the output in the same way as you would the export available from the Coefficients tab (with GAM-specific information here), with the following differences:
-
出力の最初のセクションは、Eureqaモデル式を示します。 これは、Eureqaモデルタブの上部に表示される数学方程式で、
Target=...
で始まります。 -
2番目のセクションは、モデルで使用された各特徴量のDataRobotの前処理を表示します。これには、1つまたは2つの入力変換(標準化など)のパラメーターが含まれます。 Eureqaモデルでは、テキストおよび高カーディナリティ特徴量がない場合、
Coefficient
フィールドは0に設定されます。 「係数」は、列の線形にフィットした係数を示すために線形モデルにおいて使用されます。 -
Eureqaモデルパラメーターは.csv形式でのみエクスポートできます(.pngおよび.zipオプションは選択できません)。
詳しい情報...¶
従来のDataRobotのモデル構築では、データは、トレーニング、検定、およびホールドアウトのセットに分割されます。 対照的に、Eureqaでは、トレーニングDataRobot分割が使用されますが、Eureqaエラーを計算するために、独自の内部トレーニング/検定分割ロジックを使用して、そのセットがさらに分割されます。
モデルの可用性¶
次の表は、AutoMLおよび時系列プロジェクトのEureqaモデルがオートパイロットおよびリポジトリで使用できる条件を示しています。
Eureqaモデルタイプ | オートパイロット | リポジトリ |
---|---|---|
予測エクスペリメント | ||
リグレッサー/分類器 |
|
|
GAM |
|
|
生成回数¶
次の表は、選択したブループリントに基づいて実行された生成回数を示しています。 生成値はブループリント名に反映されます。
Eureqaモデルタイプ | オートパイロット生成 | リポジトリの生成 |
---|---|---|
予測エクスペリメント * | ||
リグレッサー/分類器 | 250 | 40、250、または3000 |
GAM | 動的* | 40、動的*、または10,000 |
*生成数の動的オプションは、データセットの行数に基づいています。 値は1000~3000回の生成になります。
Eureqaとスタックされた予測¶
これを行うには計算上「高価」になりすぎるため、Eureqaブループリントは スタックされた予測をサポートしていません。 ほとんどのモデルでは、プロジェクトの作成に使用されたデータでの予測を生成するためにスタッキングが使用されます。 トレーニングデータでEureqa予測を生成する場合、すべての予測は、スタッキングからではなく、単一のEureqaモデルから生成されます。
したがって、Eureqaエラーはデータのエラーではなく、フィルターされたバージョンのデータのエラーです。 これが、エラー指標が同じときに、レポートされたEureqaエラーがリーダーボードエラーよりも低い理由です。 You cannot change the Eureqa error metric, although you can change the DataRobot optimization metric (the value DataRobot uses to rank models on the Leaderboard).
以下に、スタッキング予測がないことによる非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つの行の削除やチューニングパラメーターの若干の変更など)を加えた場合でも、非常に異なるモデル式が返される可能性があります。
エラー指標でのチューニング¶
Eureqa GAMブループリントはXGBoostの出力上でEureqaを実行するので、Eureqa GAM(平均絶対誤差)でEureqaが使用する指標は、「代替」エラーです。 これは、EureqaでXGBoostの元の出力がどれだけ正確に再現できるかを測定します。 連続値の場合、高度なオプションでXGBoostで使用される損失関数を変更できますが、Eureqaエラー指標は変更できません。 You can also change the DataRobot optimization metric (the value DataRobot uses to rank models on the Leaderboard). このチューニングを行うと、XGBoostのチューニングとXGBoost損失関数のデフォルトの選択に影響が生じ、Eureqa GAMで異なる結果が生成されます。
機能に関する注意事項¶
GAMモデルと一般的なEureqaモデルの両方を使用する場合、以下の注意事項が適用されます。
備考
Eureqaモデルブループリントは、トレーニングおよび検定環境のコアの数が一定に維持される場合、Eureqaモデルブループリントは決定性です。 設定が異なれば、Eureqaブループリントで得られる結果も異なります。
-
多クラス分類モデリングのサポートはありません。
-
交差検定はリーダーボードからのみ実行できます(リポジトリからは実行できません)。
-
レガシーEureqa SaaS製品ユーザーの場合、コア数が少ないので精度が相対的に低下することがあります。 (レガシーユーザーは、DataRobot担当者に連絡してこの問題の対処オプションを相談できます。)
-
Eureqaスコアリングコードは、AutoMlと時系列の両方で使用できます。 時系列で使用する場合、スコアリングコードはEureqa連続値とEureqa GAMのみ(分類なし)でサポートされます。
-
時系列モデルのあるオフセットはサポートされません。