# カスタムモデルのメタデータを定義する

> カスタムモデルのメタデータを定義する - model-metadata.yamlファイルを使用してカスタムタスクまたはカスタム推論モデルの追加情報を指定する方法。

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:44.598986+00:00` (UTC).

## Primary page

- [カスタムモデルのメタデータを定義する](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-metadata.html.md): Full documentation for this topic (Markdown sidecar).

## Sections on this page

- [一般的なメタデータのパラメーター](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-metadata.html.md#general-metadata-parameters): In-page section heading.
- [推論モデルのメタデータ（inferenceModel）](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-metadata.html.md#inference-model-metadata): In-page section heading.

## Documentation content

構造化推論モデルの場合、 `model-metadata.yaml` で `inferenceModel` セクションを宣言する必要があります。二値モデルにはPositive/Negativeクラスのラベルが必要です。多クラスおよび多ラベルモデルには、モデルの確率出力と同じ順序で `targetName` および `classLabels` が必要です。 詳細については、 [推論モデルのメタデータ](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-metadata.html.md#inference-model-metadata) を参照してください。

メタデータを定義するには、 `model-metadata.yaml` ファイルを作成して、タスクまたはモデルのディレクトリのトップレベルに置きます。 この手順はほとんどのケースで省略できますが、カスタムタスクが非数値データを出力する場合のカスタム変換タスクには必要です。 `model-metadata.yaml` は、 `custom.py` と同じフォルダーにあります。

以下のセクションでは、カスタムモデルとカスタムタスクのメタデータを定義する方法について説明します。 詳細については、DRUMリポジトリの [カスタムモデル](https://github.com/datarobot/datarobot-user-models/blob/master/model_templates/python3_sklearn/model-metadata.yaml) と [タスク](https://github.com/datarobot/datarobot-user-models/blob/master/task_templates/1_transforms/1_python_missing_values/model-metadata.yaml) の完全な例を参照してください。

## 一般的なメタデータのパラメーター

次の表で、タスクや推論モデルで利用可能なオプションについて説明します。 `drum push` を使用して、作成するモデル/タスク/バージョンに関する情報を提供するには、そのパラメーターが必要です。 一部のパラメーターは、互換性の理由から、 `drum push` 以外でも必要です。

> [!NOTE] 備考
> その `modelID` パラメーターは、指定されたIDを持つ既存のカスタムモデルやカスタムタスクに新しいバージョンを追加します。 このため、新しいベースレベルのカスタムモデルやカスタムタスクを構成するすべてのオプションは、このパラメーターと一緒に渡された場合、無視されます。 ただし、現時点ではまだこれらのパラメーターを含める必要があります。

| オプション | 必要な場合 | タスクまたは推論モデル | 説明 |
| --- | --- | --- | --- |
| name | 常時 | 両方 | drum pushがカスタムモデルのタイトルとして使用する文字列で、検索を容易にするため、ユニークなものにすることが望ましいです。 |
| type | 常時 | 両方 | training（カスタムタスク用）またはinference（カスタム推論モデル用）のいずれかの文字列です。 |
| environmentID | 常時 | 両方 | カスタムモデルやカスタムタスクの実行中に使用する実行環境のハッシュです。 利用可能な実行環境の一覧は、モデルレジストリ > カスタムモデルワークショップ > 環境で確認できます。 環境を展開して、環境情報タブをクリックすると、ファイルIDが表示され、コピーできます。 drum pushの場合のみに必要です。 |
| targetType | 常時 | 両方 | ターゲットのタイプを示す文字列です。 次のいずれかである必要があります。binaryregressionanomalyunstructured（推論モデルのみ）multiclassmultilabel（推論モデルのみ）textgeneration（推論モデルのみ）agenticworkflow（推論モデルのみ）transform（変換タスクのみ） |
| modelID | オプション | 両方 | モデルやタスクの作成後に、バージョン管理を使って反復しながらコードを追加することがベストプラクティスです。 新しいモデルやタスクの代わりに新しいバージョンを作成する場合は、このフィールドを使用して作成したカスタムのモデルやタスクをリンクします。 このID（ハッシュ）は、カスタムのモデルやタスクのURLを介して、UIから取得できます。 drum pushでのみ使用します。 |
| description | オプション | 両方 | 検索可能なフィールドです。 modelIDが設定されている場合、モデルやタスクの説明の変更にはUIを使います。 drum pushでのみ使用します。 |
| majorVersion | オプション | 両方 | このパラメーターで、作成するモデルのバージョンをメジャー（True、デフォルト）または、マイナー（False）のどちらの更新バージョンにするか指定します。 たとえば、更新前のモデルのバージョンが2.3の場合、メジャーなら3.0、マイナーなら2.4の更新バージョンが作成されます。drum pushにのみ使用します。 |
| targetName | 二値、多クラス、および多ラベルの場合（inferenceModel内） | モデル | inferenceModelで、モデルが予測する列の名前。 多クラスおよび多ラベルの場合、ワークショップのターゲット名と同じ名前を使用し、classLabelsにはターゲットクラスまたはターゲットラベルと同じクラスまたはラベルの順序を使用します。 |
| positiveClassLabel / negativeClassLabel | 二値分類モデル用 | モデル | inferenceModelでは、モデルが確率を予測する場合、positiveClassLabelは予測がどのクラスに対応するかを示します。 |
| classLabels | 多クラスおよび多ラベル分類モデルの場合 | モデル | inferenceModelでは、クラス名またはラベル名（文字列）のリスト。 リスト順は、モデルが返す予測クラスまたはラベル確率の順序（たとえば、確率出力の列順）と一致している必要があります。 ワークショップでカスタムモデルに設定したターゲットクラスまたはターゲットラベルと同じラベルを使用します。 |
| predictionThreshold | オプション（二値分類モデルでのみ使用） | モデル | inferenceModelでは、予測ラベルとして選択されるラベルを示す、0と1の間のカットオフポイント。 |
| trainOnProject | オプション | タスク | モデルやバージョンのトレーニングを行う、プロジェクトID（PID）のハッシュ。 drum pushを使用してカスタム推定タスクのテストとアップロードを行う場合、DataRobotへの推定タスクのアップロードに成功した直後に、シングルタスクのブループリントをトレーニングするオプションを選択できます。 trainOnProjectオプションは、そのブループリントをトレーニングするプロジェクトを指定します。 |

## 推論モデルのメタデータ（inferenceModel）

構造化推論モデルの場合、ターゲットおよびクラスラベルの設定は、 `model-metadata.yaml` 内の最上位キー `inferenceModel` に属します。 DataRobotまたはDRUMが `targetType` に必要とするフィールドを省略すると、構築、テスト、またはデプロイが失敗する可能性があります。

| targetType | inferenceModelにおいて必須 | 備考 |
| --- | --- | --- |
| binary | targetName, positiveClassLabel, negativeClassLabel | オプション：predictionThreshold。 |
| multiclass | targetName, classLabels | classLabelsは、モデルの確率出力と同じ順序のクラス名のYAMLリストです。 |
| multilabel | targetName, classLabels | classLabelsは、モデルのラベルごとの確率出力と同じ順序で、少なくとも2つのラベル名を列挙したYAMLリストです。 各確率は0から1の間である必要があります。多クラスモデルとは異なり、ラベルの確率は互いに独立しており、合計が1.0になる必要はありません。 |
| regression | （多くの場合なし） | 多くの連続値テンプレートは、inferenceModelブロックなしで動作します。環境およびDRUMの要件に従ってください。 |
| anomaly、unstructured、textgeneration、… | テンプレート/DRUMに従います | ターゲットタイプの例を参照してください。 |

ワークショップで生成されたファイル： レジストリワークショップの アセンブル タブで、 model-metadata.yamlを作成 すると、モデルのターゲットタイプのスターターファイルが生成されます。 多クラスおよび多ラベルモデルの場合、そのファイルには `targetName` および `classLabels` （ ターゲットクラス または ターゲットラベル と一致）とともに `inferenceModel` が含まれており、デプロイを成功させるために必要な要件を満たしています。

`model-metadata.yaml` ファイルでは、 [ランタイムパラメーターを定義](https://docs.datarobot.com/ja/docs/api/code-first-tools/drum/custom-model-runtime-parameters.html.md) して、カスタムモデルのコードを再利用しやすくすることもできます。
