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 情報