python, R, vimでデータマイニング

python, R, vim で疑問に思ったことなどを

lightgbmの変数の重要度を取得する関数

1. 概要

モデル構築後に変数の重要度を確認することが多いので関数化しました。
学習済みのestimatorを与えると重要度テーブルがデータフレームで返されます。
utils4mlという自作パッケージを作成中でそこに取り込んでいます。

2. 使用例

Code:
# %%
import pandas as pd
from lightgbm import LGBMClassifier
from utils4ml.lgbwrappers import create_importance_df
from utils4ml.utils import load_bank_classifier

X, y = load_bank_classifier()
clf = LGBMClassifier()
clf.fit(X, y)
importance_df = create_importance_df(clf)
importance_df.to_csv('output/importance_df.csv')
# %%
Table 1. Result:
  feature_name importance

12

duration

4840.519355148077

10

balance

1412.680456519127

11

day

1380.2339130043983

9

age

1188.5334162265062

8

poutcome

1144.403927654028

7

month

720.7538131475449

14

pdays

687.5430861711502

6

contact

555.3039375543594

13

campaign

463.4079278707504

1

marital

300.297524869442

2

education

289.3929640054703

4

housing

204.38219678401947

15

previous

162.35857447981834

5

loan

135.40583151578903

0

job

126.77435421943665

3

default

30.483178555965424