Contenu du cours
Apprentissage Ensembliste
Apprentissage Ensembliste
Régression par Ensachage
Bagging Regressor crée un ensemble de plusieurs modèles de régression de base et combine leurs prédictions pour produire une prédiction finale. Dans Bagging Regressor, le modèle de base est généralement un algorithme de régression, tel que Decision Tree Regressor. L'idée principale derrière Bagging Regressor est de réduire le surapprentissage et d'améliorer la stabilité et la précision des prédictions en moyennant les prédictions de plusieurs modèles de base.
Comment fonctionne Bagging Regressor ?
- Échantillonnage Bootstrap : Le Bagging Regressor génère plusieurs sous-ensembles des données d'entraînement en sélectionnant aléatoirement des échantillons avec remplacement. Chaque sous-ensemble est appelé un échantillon bootstrap ;
- Entraînement du Modèle de Base : Un modèle de régression de base distinct (par exemple, Decision Tree Regressor) est entraîné sur chaque échantillon bootstrap. Cela crée plusieurs modèles de base, chacun avec sa propre variation due aux différents sous-ensembles de données sur lesquels ils ont été entraînés ;
- Agrégation des Prédictions : Le Bagging Regressor agrège les prédictions de tous les modèles de base pour faire des prédictions. Dans le cas des tâches de régression, les prédictions sont généralement moyennées à travers les modèles de base pour former la prédiction finale. Cette approche d'ensemble aide à réduire le surapprentissage et à améliorer la performance globale du modèle.
Remarque
Sélectionner des échantillons avec remplacement est un concept souvent utilisé en statistiques et en probabilité. Il se réfère à une méthode d'échantillonnage de points de données ou d'éléments à partir d'un ensemble de données ou d'une population où, après chaque sélection, l'élément sélectionné est remis dans l'ensemble de données avant la sélection suivante. En d'autres termes, le même élément peut être choisi plus d'une fois dans le processus d'échantillonnage.
Exemple d'utilisation
Le principe d'utilisation d'un Bagging Regressor en Python est le même que celui d'un Bagging Classifier. La seule différence est que Bagging Regressor n'a pas d'implémentation pour la méthode .predict_proba()
- la méthode .predict()
est utilisée pour créer des prédictions à la place.
Remarque
Si nous ne spécifions pas le modèle de base de
AdaBoostRegressor
, leDecisionTreeRegressor
sera utilisé par défaut.
import numpy as np import pandas as pd from sklearn.datasets import fetch_california_housing from sklearn.model_selection import train_test_split from sklearn.ensemble import BaggingRegressor from sklearn.tree import DecisionTreeRegressor from sklearn.metrics import mean_squared_error # Load the California Housing dataset data = fetch_california_housing() X, y = data.data, data.target # Split the data into training and testing sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Create a base model (Decision Tree Regressor) base_model = DecisionTreeRegressor(random_state=42) # Create the Bagging Regressor bagging_model = BaggingRegressor(base_model, n_estimators=10) # Train the Bagging Regressor bagging_model.fit(X_train, y_train) # Make predictions on the test data predictions = bagging_model.predict(X_test) # Calculate mean squared error (MSE) mse = mean_squared_error(y_test, predictions) print(f'Mean Squared Error: {mse:.4f}')
Merci pour vos commentaires !