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ブループリントを追加します。 (オートパイロットモードではEureqa一般化加法モデルが自動的に作成され、リーダーボードから使用できるようになります。)
-
リポジトリの検索ボックスに
eureqa
と入力して表示をフィルターします。 ドロップダウンから、作成する各Eureqaモデルの追加をクリックします。 -
準備ができたらタスクを実行をクリックします。
モデルの処理が開始されます。進捗状況は、ワーカーキューのステータスで確認できます。 構築処理が完了したら、リーダーボードでモデルが使用可能になります。
Eureqaモデルタブ¶
Eureqaモデルの詳細を表示するには、リーダーボードでモデル()を選択し、Eureqaモデルタブを選択します。
ディスプレイ要素 | 説明 |
---|---|
1 Eureqaモデルのサマリー | リーダーボードモデルのEureqaの複雑さ、Eureqaのエラー、およびモデル式を表示します。 |
2 小数の四捨五入処理 | Eureqa定数での四捨五入処理で表示する小数点以下の桁数を設定します。 |
3 エラーと複雑さの比較によるモデルチャート | モデルの複雑さに対するモデルのエラーをプロットします。 |
4 選択されたモデルの詳細 | 選択されたモデルの数式およびプロットを表示します。 |
5 エクスポートリンク | リーダーボードモデルの前処理およびパラメーター情報を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エラーを示すツールチップが表示されます。 モデル(ポイント)をクリックすると、そのモデルの詳細で右側の選択されたモデルの詳細グラフが更新されます。
選択されたモデルの詳細グラフ¶
選択されたモデルの詳細グラフでは、選択したモデルの複雑性とエラースコアに加えて、モデルの数式的表現がレポートされます。
エラーと複雑さの比較によるモデルグラフのモデル(ポイント)をクリックすると、選択されたモデルの詳細グラフが更新されます。 さらに、別のモデルを選択すると、リーダーボードに移動ボタンがアクティブになります。 ボタンをクリックすると、選択したモデルの新しい追加のリーダーボードエントリーが作成されます。 モデルは既に構築されているので、新しい計算は必要ありません。
グラフに表示される部分の内容は、連続値問題で作業しているか分類問題で作業しているかに応じて異なります。
連続値プロジェクトの場合¶
連続値問題の選択されたモデルの詳細グラフは、選択されたモデルのデータに合わせた散布図を表示します。 リフトチャートと同様に、選択されたモデルの詳細グラフのオレンジのポイントは、データ全体のターゲット値(実測値)を示し、青い線はモデルの予測値をグラフ化しています。 別のモデルの出力を表示するには、エラーと複雑さの比較によるモデルグラフで新しいモデル(別のポイント)を選択します。
グラフは次のように解釈します。
コンポーネント | 説明 |
---|---|
1 | 選択されたモデルの複雑さの値、エラーの値、およびモデル式 |
2 | 選択されたモデルをリーダーボードに送るアクション。 使用可能なすべてのEureqaモデルは最初の実行時に構築されるため、追加の処理は必要ありません。 |
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番目のバケットに含まれるモデル予測のパーセンテージを示します。 混同行列の解釈の詳細については、ROC曲線に関する全般的な説明を参照してください。
ヒストグラムには、選択されたモデルに適用されるすべての予測値が表示されます。 のモデルの出力を表示するには、エラーと複雑さの比較によるモデルグラフで新しいモデル(別のポイント)を選択します。
グラフは次のように解釈します。
コンポーネント | 説明 |
---|---|
1 | 選択されたモデルの複雑さの値、エラーの値、およびモデル式 |
2 | 選択されたモデルをリーダーボードに送るアクション。 使用可能なすべてのEureqaモデルは最初の実行時に構築されるため、追加の処理は必要ありません。 |
3 | 合計値、値の範囲、True/Falseのカウントの内訳など、バケットの内容を説明するツールチップ。 |
4 | 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モデルタイプ | オートパイロット | リポジトリ |
---|---|---|
AutoMLプロジェクト | ||
リグレッサー/分類器 |
|
|
GAM |
|
|
時系列プロジェクト | ||
リグレッサー/分類器 |
|
制限なし |
GAM |
|
制限なし |
予測距離モデリングを使用したEureqa | N/A |
|
生成回数¶
次の表は、選択したブループリントに基づいて実行された生成回数を示しています。 生成値はブループリント名に反映されます。
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つの行の削除やチューニングパラメーターの若干の変更など)を加えた場合でも、非常に異なるモデル式が返される可能性があります。
備考
同期_移行の高度なチューニングパラメーターがFalseに設定されている場合、Eureqaのモデル生成プロセスは非決定的になります。 その場合、優れたEureqaモデルがすばやく識別されることがあり(必ずしも保証されるものではありません)、使用可能なCPUが効率的に活用されます。
エラー指標でのチューニング¶
Eureqa GAMブループリントはXGBoostの出力上でEureqaを実行するので、Eureqa GAM(平均絶対誤差)でEureqaが使用する指標は、「代替」エラーです。 これは、EureqaでXGBoostの元の出力がどれだけ正確に再現できるかを測定します。 連続値の場合、高度なオプションでXGBoostで使用される損失関数を変更できますが、Eureqaエラー指標は変更できません。 また、DataRobotの 最適化指標(リーダーボードでのモデルの格付に使用される値)も変更できます。 このチューニングを行うと、XGBoostのチューニングとXGBoost損失関数のデフォルトの選択に影響が生じ、Eureqa GAMで異なる結果が生成されます。
高度なチューニングのパラメーター¶
構築ブロックの変更、ターゲット式のカスタマイズおよびその他のモデルパラメーター(構築ブロックのサポート、誤差指標、行の加重、データ分割など)を変更することによって、Eureqaモデルをチューニングできます。 Eureqaモデルは、式を使用して数学的関係性および変換を表します。
詳細については、Eureqaの高度なチューニングオプションのリファレンスガイドを参照してください。
機能に関する注意事項¶
GAMモデルと一般のEureqaモデルの両方で作業する際や特に 時系列プロジェクトでのEureqaモデルで作業する際には、次の点に注意してください。
備考
Eureqaモデルブループリントは、トレーニングおよび検定環境のコアの数が一定に維持される場合、Eureqaモデルブループリントは決定性です。 設定が異なれば、Eureqaブループリントで得られる結果も異なります。
-
多クラス分類モデリングのサポートはありません。
-
交差検定はリーダーボードからのみ実行できます(リポジトリからは実行できません)。
-
レガシーEureqa SaaS製品ユーザーの場合、コア数が少ないので精度が相対的に低下することがあります。 (レガシーユーザーは、DataRobot担当者に連絡してこの問題の対処オプションを相談できます。)
-
Eureqaスコアリングコードは、AutoMlと時系列の両方で使用できます。 時系列で使用する場合、スコアリングコードはEureqa連続値とEureqa GAMのみ(分類なし)でサポートされます。
-
時系列モデルのあるオフセットはサポートされません。