# ターゲット式のカスタマイズ

> ターゲット式のカスタマイズ - Eureqaモデルのターゲット式をカスタマイズする多くの方法について説明します。

This Markdown file sits beside the HTML page at the same path (with a `.md` suffix). It summarizes the topic and lists links for tools and LLM context.

Companion generated at `2026-07-15T05:55:45.028738+00:00` (UTC).

## Primary page

- [ターゲット式のカスタマイズ](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [ターゲット式の概要](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#what-is-the-target-expression): In-page section heading.
- [指数検索テンプレート](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#exponential-search-template): In-page section heading.
- [式の例](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#example-expressions): In-page section heading.
- [基本的な例](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#basic-examples): In-page section heading.
- [複数の関数](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#multiple-functions): In-page section heading.
- [ターゲット式形式の制約（GAMのみ）](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#constrain-the-target-expression-format-gam-only): In-page section heading.
- [係数の適合](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#fit-coefficients): In-page section heading.
- [ネストされた関数](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#nested-functions): In-page section heading.
- [二値分類](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#binary-classification): In-page section heading.
- [基本的な二値分類](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#basic-binary-classification): In-page section heading.
- [モデルの制約](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#model-constraints): In-page section heading.
- [特徴量または用語の追加](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#add-variables-or-terms): In-page section heading.
- [制約を追加する](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#add-a-constraint): In-page section heading.
- [条件を強制する](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#force-a-condition): In-page section heading.

## Documentation content

ターゲット式をカスタマイズすることによって、Eureqaモデルをカスタムチューニングすることができます。 式は、 [Eureqaモデルの構築ブロック](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/building-blocks.html.md) のネストされた組み合わせである場合があります。 たとえば、a、b、およびcが入力特徴量である場合、式の例には次が含まれる可能性があります。

- Target = 10 * a + b * c
- Target = if( a > 10, b, c) + 15

## ターゲット式の概要

ターゲット式を使用して、作成するモデルのタイプを指定できます。 デフォルトでは、ターゲット式は、すべての入力特徴量の関数としてターゲット特徴量をモデル化する方程式です。

実際のターゲット特徴量名に関係なく、ターゲット式はform"Target = "の形式で作成する必要があります。 たとえば、ターゲット特徴量loan_is_bad（またはdefault_rate、Sales、purchase_priceなど）のターゲット式を作成するには、"Target = f(...)"の形式を使用します。 DataRobotでは、データセットで定義されたデフォルトのターゲット特徴量および入力特徴量を使用して、選択されたEureqaモデルタイプのターゲット式が提供されます。 ターゲット特徴量 Target および x の1～ n の入力特徴量に対して、各検索テンプレートのデフォルトのターゲット式は次のようになります。

- 数値検索テンプレート： ターゲット = f(x1 ... xn)
- 分類検索テンプレート： ターゲット = logistic(f0() + f2() * f1(x1 ... xn))
- 指数検索テンプレート： Target = exp(f0(x1 ... xn)) + f1()

上級ユーザーは複雑な式を使用して、多項方程式や二値分類のモデリングを始めとする複雑な関係性を指定および検索できます。

Target Expressionパラメーター( target_expression_string ）は、予測モデルのパラメーター内で使用することができ、Eureqaモデルのチューニングの一環として変更できます。

### 指数検索テンプレート

Eureqaモデル用のデータセットで指数トレンドが検出されると、 exp() 関数が適用されます。 このプロセスの一環として、全ての入力特徴量のlog()が取得され、変換された特徴量が操作されて最終的なターゲット値が取得された後、exp()を使用してログ変換が反転されます。

exp()構築ブロックはデフォルトで 無効化 されます。 指数トレンドを含むデータのあるプロジェクト内のモデルのターゲット式をカスタマイズする場合、モデルに対してexp()を有効にして、DataRobotでのモデル構築中にexp()を有効にすることができます。

> [!TIP] ヒント
> Eureqa GAMモデルの場合のみ：exp()サポートを有効にした場合、 exponential を EUREQA_target_expression_format [パラメーター](https://docs.datarobot.com/ja/docs/reference/pred-ai-ref/eureqa-ref/custom-expressions.html.md#constrain-the-target-expression-format-gam-only) の特徴量として選択することをお勧めします。

## 式の例

ここでは、ターゲット式として作成できる基本的な式と高度な式の例をいくつか示します。 次の例では、データセットにw、x、y、およびzという名前の4つの特徴量が含まれると仮定します。

### 基本的な例

ターゲット 特徴量を特徴量 x の関数としてモデル化します。

Target = f(x)

ターゲット 特徴量を2つの特徴量（ x および z ）の関数としてモデル化します。

Target = f(x, z)

ターゲット 特徴量を x および式 sin(z) の関数としてモデル化します。

Target = f(x, sin(z))

> [!NOTE] 備考
> この例に示すように、 sin(z) を含め、 z を除外した場合、DataRobotは、サイン関数の後でなければ特徴量 z 内のデータにアクセスできなくなります。

### 複数の関数

複数の関数をターゲット式で使用するには、 f0() から始まる数字付き関数を使用します。 例：

Target = f0(x) + f1(w, z)

ターゲット 特徴量を x 、 w 、およびべき乗則の関係性がある関数としてモデル化します。

Target = f(x, w, x^f1(), w^f2())

2つの既知のモデルでメカニズムが変化したことを確認します。

Target = if(x > f1(),exp(f2() * x), exp(f3() * x))

### ターゲット式形式の制約（GAMのみ）

GAMモデルの場合、 EUREQA_target_expression_format パラメーターを有効にして、モデルの式形式を制約できます。 デフォルトでは、式形式の制約はありません。

- exponential は、次のようにターゲット式を指数形式に制約します。

Target = exp(f(...))

たとえば、次のデフォルトのターゲット式の場合： Target = f(var1, var2, var3) を指数形式に制約すると、 Target = exp(f(var1, var2, var3)) になります。

- feature_interaction はターゲット式を制約し、特徴量間で検出された交互作用を関数として含めます。 その結果、特徴量の相互作用（インタラクション）が明示的に宣言されます。 たとえば、モデルで特徴量 x および y のインタラクションが検出された場合、式は次のようになります。

Target = n + f(x, y)

（ここで、 n はデータセットのその他の特徴量を識別します）

### 係数の適合

不明な定数または係数を引数なしの関数、 f() として表すことができます。 f1() のように引数なしの関数をいくつか使用して、任意の非線形方程式の係数に適合させることができます。 たとえば、次のような形式の多項式を探している場合を考えてみます。

Target = a * x + b * x^2 + c * x^3

この場合、次のターゲット式を使用します。

Target = f0() * x + f1() * x^2 + f2() * x^3

### ネストされた関数

ターゲット 特徴量を連続値または反復関数として3の深度でモデル化します。

Target = f(f(f(x)))

## 二値分類

y が0と1で補填された二値特徴量である場合、ロジスティック関数のようなスカッシング関数を使用してモデル化します。 DataRobotを分類に使用した場合、いくつかの利点があります。

- モデルを検索する際に必要なデータの量が少ない
- モデルは非常に適切に補完されることがある
- 検出されたモデルはシンプルで分析、再フィッティング、および再使用が可能
- モデルの構造は分類問題のインサイトを提供するので、予測に加えて、分類がどのように機能するかについて知ることができる

### 基本的な二値分類

ターゲット 特徴量を x および w のバイナリ関数としてモデル化します。

Target = logistic(f(x, w))

ロジスティック関数は0～1の中間値（0.77や0.0001など）を生成するので、最終的な0または1の出力を取得するために値にしきい値を設定する必要があることに注意してください。

## モデルの制約

ターゲット式を使用してモデル出力に制約を加えることもできます。 ターゲット式に require および contains 関数を含めて、特定のモデル構築または出力動作を強制することができます。

> [!TIP] ヒント
> require および contains は非常に高度な「実験的」設定なので、DataRobotで解を見つけることが困難になり、モデル検索の速度が顕著に遅くなることがあります。 これらの設定を使用する場合は、出力の動作が保証されないのでDataRobotに支援を要請することを強くお勧めします。

### 特徴量または用語の追加

特定の特徴量または条件をEureqaモデルに表示する必要がある場合、 require または contains 関数をネストする条件を追加します。

y を x の関数として、 x^2 条件を含む必要のあるすべてのプロジェクトでモデル化します。

Target = f(x) + 0 * require(contains(f(x),x^2))

これが機能するには、 contains 演算子の最初の条件が適合させようとする関数条件（この例ではf(x)）に完全に一致する必要があります。 2番目の条件を0で乗算することによって、特定の解f(x)によって生成される値に影響することを防止します。

### 制約を追加する

準拠する必要のある特定の要件がある場合（「価格 > 原価」など)、モデル出力で制約を強制することもできます その場合、 require 関数を含む条件を追加します。

y を x の関数として、出力値が0よりも大きい必要のあるすべての解でモデル化します。

Target = f(x) + require( f(x) > 0 )

高速な代替方法を以下に示します。

Target = max( f(x), 0 )

### 条件を強制する

データを完全に説明しない既知の関係性がデータ内に存在することがあります。 たとえば、学術的理論に基づいて生成されたモデルがある場合、DataRobotを使用して、その既知のモデルと実際のデータの間の残差を適合させることができます。

Target を x の関数としてモデル化します。 x^2 の関係性の既存のナレッジを使用し、残差をモデル化します。

Target = f0(a, b, c, d, e) + f1() * x^2

DataRobotでは f1() が係数として解釈され、条件が適切にフィッティングされます。
