2.6 KiB
🌟 Paramètres principaux de LGBMRegressor 1️⃣ objective='regression'
But : indique le type de problème à résoudre.
Ici, tu veux prédire une valeur continue (par ex. un rendement futur, un prix, etc.).
Autres valeurs possibles :
'binary' → pour classification 0/1
'multiclass' → pour plusieurs classes
'regression_l1' → pour des valeurs continues mais avec perte L1 (moins sensible aux outliers)
📘 En résumé : ici LightGBM cherche à minimiser l’erreur entre la valeur prédite et la valeur réelle.
2️⃣ metric='rmse'
But : indique la métrique utilisée pour évaluer la qualité du modèle.
'rmse' = Root Mean Squared Error (racine de la moyenne des carrés des erreurs) → pénalise fortement les grosses erreurs.
'mae' (Mean Absolute Error) est une alternative plus robuste (moins sensible aux outliers).
Tu peux aussi utiliser plusieurs métriques : metric=['rmse', 'mae'].
3️⃣ n_estimators=300
But : nombre d’arbres de décision à construire.
Chaque arbre apprend à corriger les erreurs du précédent → c’est le boosting.
Plus ce nombre est grand :
Meilleure précision potentielle
Mais risque de surapprentissage et de lenteur
Typiquement, on le combine avec un petit learning_rate (comme ici 0.05).
4️⃣ learning_rate=0.05
But : contrôle l’intensité avec laquelle chaque nouvel arbre corrige les erreurs.
Si learning_rate ↓, il faut plus d’arbres (n_estimators ↑) pour converger.
Typiquement :
0.1 = standard
0.05 = prudent (meilleur généralisation)
0.01 = très lent mais précis
⚖️ Ce paramètre agit comme un “frein” sur l’apprentissage.
5️⃣ max_depth=7
But : profondeur maximale des arbres.
Plus les arbres sont profonds :
→ plus le modèle capture des relations complexes
→ mais risque de surapprentissage
Valeurs typiques :
3 à 8 pour éviter le surapprentissage
-1 = pas de limite
6️⃣ subsample=0.8
But : fraction de l’échantillon d’entraînement utilisée pour chaque arbre.
Exemple :
0.8 = chaque arbre est entraîné sur 80 % des lignes (tirées aléatoirement).
Permet :
de réduire le surapprentissage
d’accélérer l’entraînement
Si tu veux des résultats très stables → monte à 1.0 Si tu veux plus de diversité entre les arbres → garde entre 0.7 et 0.9.
7️⃣ colsample_bytree=0.8
But : fraction de colonnes (features) utilisées pour chaque arbre.
Comme subsample, mais pour les variables.
Aide à la régularisation : chaque arbre ne voit pas toutes les colonnes → modèle plus robuste.
Typiquement entre 0.6 et 1.0.
8️⃣ random_state=42
But : fixe la graine aléatoire.
Permet d’obtenir de