説明
TRAIN MODEL 文はプロバイダに、指定したモデル定義を使用してモデルをトレーニングするよう伝えます。プロバイダは、ML 構成によって指定されます。
FROM
FROM 節は、モデルをトレーニングするためのデータを提供します。
FROM の許容される使用と省略を示す例
TRAIN MODEL の FROM
CREATE MODEL model_b PREDICTING ( label ) WITH ( column_1, column_2, column_3)
TRAIN MODEL model_b FROM table
CREATE MODEL の FROM
CREATE MODEL model_a PREDICTING ( label ) FROM table
TRAIN MODEL model_a
Note:
TRAIN MODEL 文から FROM を省略する場合は、CREATE MODEL から既定のクエリを使用します。
WITH
WITH を使用すると、データの特徴列をモデル定義のスキーマに明示的に合わせることができます。各列は、標準の識別子です。
FOR
FOR を使用すると、データのラベル列をモデル定義のスキーマに明示的に合わせることができます。例えば、モデル定義のラベル列には column_a という名前が付けられているが、トレーニング・データでは column_b という名前が付けられている場合、次のように列を合わせることができます。
CREATE MODEL model_a PREDICTING ( column_a ) FROM table_a
TRAIN MODEL model_a FOR column_b FROM table_b
名前付け
AS を使用すると、トレーニングされたモデルに明示的に名前を付けることができます。
モデル定義とトレーニングされたモデルは、同じスキーマに存在しています。トレーニングされたモデルに AS を使用して明示的に名前が付けられていない場合、名前はモデル定義名に実行中の整数が付加されたものになります。INFORMATION_SCHEMA.ML_TRAINED_MODELS テーブルをクエリして、その違いを確認できます。
CREATE MODEL TitanicModel PREDICTING (Survived binary) FROM IntegratedML_dataset_titanic.passenger
TRAIN MODEL TitanicModel
TRAIN MODEL TitanicModel
TRAIN MODEL TitanicModel
TRAIN MODEL TitanicModel AS TrainedTitanic
SELECT MODEL_NAME, TRAINED_MODEL_NAME FROM INFORMATION_SCHEMA.ML_TRAINED_MODELS
MODEL_NAME |
TRAINED_MODEL_NAME |
TitanicModel |
TitanicModel_t1 |
TitanicModel |
TitanicModel_t2 |
TitanicModel |
TitanicModel_t3 |
TitanicModel |
TrainedTitanic |
NOT DEFAULT
各モデル定義には、既定のトレーニング済みモデルがあります。ユーザが指定しない場合、最後にトレーニングされたモデルが既定になります。NOT DEFAULT 節を使用すると、新しいモデルをトレーニングし、それを既定のトレーニング済みモデルにしないことができます。
CREATE MODEL TitanicModel PREDICTING (Survived) FROM IntegratedML_dataset_titanic.passenger
TRAIN MODEL TitanicModel As FirstModel
TRAIN MODEL TitanicModel As SecondModel NOT DEFAULT
SELECT MODEL_NAME, DEFAULT_TRAINED_MODEL_NAME FROM INFORMATION_SCHEMA.ML_MODELS
MODEL_NAME |
DEFAULT_TRAINED_MODEL_NAME |
TitanicModel |
FirstModel |
NOT DEFAULT を使用しない場合、DEFAULT_TRAINED_MODEL フィールドは別の方法で “SecondModel” を読み取ります。
USING 節の考慮事項
トレーニング実行をよりカスタマイズするために、USING 節でプロバイダ固有のパラメータを渡すことができます。この節は、1 つ以上のキーと値のペアで構成される JSON 文字列を受け入れます。使用できるパラメータのリストは、プロバイダによって異なります。
例えば、AutoML をプロバイダとして使用してトレーニングする場合、ランダム・シードを変更できます。
TRAIN MODEL IsSpam USING {"seed": 3}
各プロバイダに渡すことができるパラメータの詳細は、"プロバイダ" を参照してください。
NULL 値を渡す方法
TRAIN MODEL 文のラベル列で NULL 値のデータを渡すと、トレーニングされたモデルの動作が不定になります。このため、データ準備プロセスの一環として、NULL 値がないかどうかを注意深く調べる必要があります。
必要なセキュリティ特権
TRAIN MODEL を呼び出すには、%MANAGE_MODEL 特権が必要です。ない場合、SQLCODE –99 エラーになります (特権違反)。%MANAGE_MODEL 特権を割り当てるには、GRANT コマンドを使用します。