objectif
Extraire importances (gain/split) et sauvegarder/charger le modèle.
code minimal
import lightgbm as lgb
from sklearn.datasets import load_breast_cancer
X, y = load_breast_cancer(return_X_y=True)
dtrain = lgb.Dataset(X, label=y)
bst = lgb.train({"objective":"binary","metric":"auc","seed":0}, dtrain, num_boost_round=50, verbose_eval=False)
gain = bst.feature_importance(importance_type="gain")
split = bst.feature_importance(importance_type="split")
print(len(gain) == X.shape[1] == len(split))
utilisation
# Noms de features
print(len(bst.feature_name()) == X.shape[1])
variante(s) utile(s)
# Sauvegarde/chargement
bst.save_model("lgb.txt")
loaded = lgb.Booster(model_file="lgb.txt")
print(len(loaded.feature_name()) == X.shape[1])
notes
- Le type ‘gain’ mesure l’amélioration de la perte; ‘split’ compte les partitions où la feature a été utilisée.