🌟 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