LightGBMのチュートリアルを読み解く(予測)

LightGBM
この記事は約2分で読めます。
スポンサーリンク

予測に関しては学習結果を利用して予測を行うので、予測の際にパラメータでどうこうするということはありません。
基本は予測対象のデータを渡すだけです。

data = np.random.rand(7, 10)
ypred = bst.predict(data)

学習時にEarly Stoppingを指定している場合は「num_iteration」に「best_iteration」を指定できます。これを指定すると一番正解率が高かった学習結果が予測に使用されるようです。
これを考慮しても、Early Stoppingは指定しないともったいないですね。

ypred = bst.predict(data, num_iteration=bst.best_iteration)

保存と読み込み

小さいデータであれば、予測するたびに「学習」→「予測」してもいいですが、大規模データになったり、予測を頻繁に実施するような場合は学習する時間がボトルネックになってしまいます。
そのため学習結果は保存しておき、予測する場合に読み込むという方法が一般的かと思います。

Early Stoppingを指定している場合は保存するときに精度が高かった結果を保存してくれます。

bst.save_model('model.txt', num_iteration=bst.best_iteration)

データの読み込みは以下のようになります。
loadではなくboosterでオブジェクトを作成する感じですかね。

bst = lgb.Booster(model_file='mode.txt')

タイトルとURLをコピーしました