Skip to content

train_lgbm

LGBM のモデル学習を実行します。

実行方式は JSON-RPC v2.0 を利用します。

リクエスト例

LGBM モデル学習を実行するには、プロベナンス API の prov.process のパラメータに method として train_lgbm を指定します。

JSON-RPC のリクエスト例は以下のとおりです。

{
  "jsonrpc": "2.0",
  "method": "prov.process",
  "params": {
    "method": "train_lgbm",
    "params": {
      "output_ddc": "ddc:model",
      "input_ddc": "ddc:train_data",
      "param_json": "{ (パラメータの項目を参照) }",
      "no_exec": true
    },
  },
  "id": "provenance_jsonrpc_id"
}

パラメータ

train_lgbm に指定できるパラメータは以下のとおりです。

パラメータ名 内容
output_ddc 出力 ddc 名
output_mode 出力モード (overwrite または error)
input_ddc 入力 ddc 名
param_json モデル学習のパラメータ

param_json には、モデル学習方法を制御する詳細パラメータを指定できます。

source.date_parts

input_ddc で指定されたテーブルの中で、時刻情報として利用するカラム名を列挙します。

source.id_column

input_ddc で指定されたテーブルの中で、測定地点を一意に特定できるカラム名を指定します。

target.column

input_ddc で指定されたテーブルの中で、予測対象とするカラム名を指定します。

target.prediction_time

何ステップ先の値を予測するかを指定します。

lgbm.features

input_ddc で指定されたテーブルの中で、特徴量に利用するカラム名と時間範囲を以下の形式で列挙します。

"features": [
  {"column": "nox", "range": 24},
  {"column": "temp", "range": [24, -3]},
  ...
]

columns にカラム名を指定し、range に時間範囲を指定します。時間範囲は以下の形式で指定できます。

指定形式 意味
正の整数 24 基準時刻と過去 24 時間の値を利用する
0 基準時刻の値のみを利用する (過去の値を予測に使わない)
負の整数 -3 基準時刻と未来 3 時間の値を利用する
2 要素の配列 [24, -3] 24 時間前から 3 時間後までの値を利用する (両端を含む)

lgbm.regressor

LightGBM の LGBMRegressor に渡すパラメータを指定できます。

入力データ

input_ddc に指定する ddc は以下のスキーマを持つ必要があります。

カラム名 内容 備考
start_datetime 開始時刻 イベントテーブルの必須カラム
end_datetime 終了時刻 イベントテーブルの必須カラム
(測定地点 id) 測定地点を表す id
(属性 1) 任意の属性値 (数値型)
(属性 2) 任意の属性値 (数値型)
(...) 任意の属性値 (数値型)

出力データ

output_ddc に出力される ddc のスキーマは以下のとおりです。 この ddc は LGBM での予測を実行するときに必要です。

カラム名 内容 備考
method 学習方式 lgbm 文字列に固定
train_data 入力データ名 ddc ではなく実テーブル名が記載されます
param_json パラメータ 学習時のパラメータ文字列
location_code 測定地点を表す id Max 文字列に固定
target 予測対象 target.column の値
prediction_time 予測時刻 target.prediction_time の値
model_path モデルファイルパス モデルファイルの実体は計算ノード上に保存されます

戻り値

出力 ddc 情報