LigthGBMのパラメータ一覧を取得する方法

この記事では、LigthGBMの推定値のパラメータの一覧を取得したい方向けの記事です。

PythonでLigthGBMを用いてハイパーパラメータチューニングをする際に、LightGBMでは多くのハイパーパラメータを持つため、どのようなハイパーパラメータがあるのか知りたい方がいらっしゃるかと思います。

結論を先に説明しますと、get_params()メソッドを利用することで、推定値のパラメータ一覧を取得できます。

その使い方を解説します。

get_params()メソッドで推定値のパラメータ一覧を取得する

それでは、回帰と分類モデルに対して、get_params()メソッドを用いて、推定値のパラメータ一覧を取得してみましょう。

もしLigthGBMのインストールができていない方はこちらからインストールしてみてください。

Google Colabでは既にインストールされているため、直ぐに以下のコードを試すことができます。)

import lightgbm as lgb

model_r = lgb.LGBMRegressor()
model_clf =  lgb.LGBMClassifier()

print(len(model_r.get_params()))
print(len(model_clf.get_params()))

print(model_r.get_params())
print(model_clf.get_params())

出力結果

20
20
{'boosting_type': 'gbdt', 'class_weight': None, 'colsample_bytree': 1.0, 'importance_type': 'split', 'learning_rate': 0.1, 'max_depth': -1, 'min_child_samples': 20, 'min_child_weight': 0.001, 'min_split_gain': 0.0, 'n_estimators': 100, 'n_jobs': -1, 'num_leaves': 31, 'objective': None, 'random_state': None, 'reg_alpha': 0.0, 'reg_lambda': 0.0, 'silent': True, 'subsample': 1.0, 'subsample_for_bin': 200000, 'subsample_freq': 0}
{'boosting_type': 'gbdt', 'class_weight': None, 'colsample_bytree': 1.0, 'importance_type': 'split', 'learning_rate': 0.1, 'max_depth': -1, 'min_child_samples': 20, 'min_child_weight': 0.001, 'min_split_gain': 0.0, 'n_estimators': 100, 'n_jobs': -1, 'num_leaves': 31, 'objective': None, 'random_state': None, 'reg_alpha': 0.0, 'reg_lambda': 0.0, 'silent': True, 'subsample': 1.0, 'subsample_for_bin': 200000, 'subsample_freq': 0}

上記のように、get_params()メソッドを利用することで推定値のパラメータの一覧を取得することができました。

それぞれの詳細を知りたい方は下記の公式ドキュメントを是非参考にしてみてください。

公式ドキュメント:lightgbm.LGBMRegressor

公式ドキュメント:lightgbm.LGBMClassifier

LightGBMの全パラメータが知りたい方へ

LightGBMの全パラメータは100以上存在します。

コアパラメータや制御パラメータ、目的パラメータ、メトリックパラメータ、ネットワークパラメータなどなどの項目があります。

全てのパラメータが知りたい方は下記ページをご確認ください。

Parameters

機械学習を効率よく学ぶには

機械学習を学ぶ上でオススメなのは、機械学習エンジニアからいつでも質問できる環境で学ぶことです。

AI Academy Bootcampなら、6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください。