あれもPython,これもPython

Pythonメモ※本サイトはアフィリエイトを利用しています

Pythonでlightgbmを使う

lightgbmはboostingの中でも、比較的早く学習でき、精度が高いアルゴリズムです。
sklearnには存在しないため、パッケージを直接インストールします。
私の環境ではpipからインストール可能でした。

コード

sklearnライクな使い方もありますが、デフォルトの方で使ってみます。

パラメータで回帰、分類やハイパーパラメータを指定、Datasetで読み込めるデータの形にします。今回は基本的な動きの確認のため、評価データを作りませんでした。

回帰

import lightgbm as lgb

# 回帰の場合
reg_params = {
    "objective":"regression"
}

# データを用意する
reg_train = lgb.Dataset(
    boston_X,
    boston_y
)

reg_mdl = lgb.train(
    reg_params,
    reg_train,
    #valid_sets = valid_data,
    #valid_setsを用いる際、過程を表示しない
    #verbose_eval=False
)

分類

# 多値分類
mc_params = {
    "objective":"multiclass",
    "num_class": 3 #必須
} 
mc_train = lgb.Dataset(
    iris_X,
    iris_y,
)
mc_mdl =lgb.train(
    mc_params,
    mc_train,
    #valid_sets = valid_data
    
)

特徴重要度の可視化

作成したモデル特徴重要度はfeature_importanceで見ることができます。<br< また、可視化を直接してくれるメソッドも存在します。

mc_mdl.feature_importance()
lgb.plot_importance(mc_mdl)

f:id:esu-ko:20200919221813p:plain