106 lines
2.6 KiB
Markdown
106 lines
2.6 KiB
Markdown
🌟 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 |