🌟 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