Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Classificateur de Bagging | Modèles de Bagging Couramment Utilisés
Apprentissage Ensembliste
course content

Contenu du cours

Apprentissage Ensembliste

Apprentissage Ensembliste

1. Principes de Base de la Construction de Modèles d'Ensemble
2. Modèles de Bagging Couramment Utilisés
3. Modèles de Boosting Couramment Utilisés
4. Modèles de Stacking Couramment Utilisés

book
Classificateur de Bagging

Nous avons déjà considéré le principe de fonctionnement de l'ensemble de bagging. Maintenant, appliquons ces connaissances et créons un modèle qui fournira une classification en utilisant un tel ensemble en Python :

Tout d'abord, nous importons la classe BaggingClassifier qui contient tous les outils nécessaires pour travailler avec le classificateur de bagging.
Ensuite, nous créons une instance de cette classe en spécifiant le modèle de base, le nombre de ces modèles pour créer un ensemble, et le paramètre n_jobs.

Note

Nous avons déjà mentionné que les modèles de bagging peuvent être ajustés en utilisant le calcul parallèle. n_jobs=-1 signifie que nous utiliserons tous les processeurs disponibles pour entraîner le modèle

Maintenant, nous pouvons utiliser les méthodes .fit() et .predict() de BaggingClassifier pour ajuster le modèle sur les données disponibles et faire des prédictions :

Maintenant, parlons des modèles de base d'un ensemble.

Quels modèles peuvent être utilisés comme base ?

Nous pouvons utiliser absolument tous les modèles conçus pour effectuer des tâches de classification comme modèles de base de l'ensemble (régression logistique, SVM, réseaux neuronaux, etc.).

Il est également important de noter que lors de l'utilisation de la méthode .fit(), l'ensemble apprendra sur différents sous-échantillons de données par lui-même, donc nous n'avons pas besoin de spécifier des paramètres supplémentaires ou de contrôler manuellement le processus d'apprentissage.

Lorsque nous utilisons la méthode .predict(), la technique de vote dur crée une prédiction finale.
Si nous voulons créer une prédiction finale en utilisant le vote souple, nous devons utiliser l'estimateur de base avec la méthode .predict_proba() implémentée au lieu de la méthode .predict(). En conséquence, nous obtiendrons le vecteur correspondant à chaque échantillon de l'ensemble de test contenant les probabilités agrégées appartenant à une classe particulière (nous l'appellerons la matrice de probabilité).

Note

Si nous ne spécifions pas le modèle de base de BaggingClassifer, le Classificateur d'Arbre de Décision sera utilisé par défaut.

Exemple d'utilisation

Résolvons quelques problèmes de classification simples en utilisant un ensemble de bagging avec la régression logistique comme modèle de base :

12345678910111213141516171819202122232425262728
import numpy as np from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split from sklearn.ensemble import BaggingClassifier from sklearn.linear_model import LogisticRegression from sklearn.metrics import f1_score # Generate synthetic data X, y = make_classification(n_samples=1000, n_features=10, n_informative=5, n_clusters_per_class=1, random_state=42) # 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 (Logistic Regression) base_model = LogisticRegression(random_state=42) # Create a Bagging Classifier bagging_model = BaggingClassifier(base_model, n_estimators=10, n_jobs=-1) # Train the `BaggingClassifier` bagging_model.fit(X_train, y_train) # Make predictions on the test data predictions = bagging_model.predict(X_test) # Calculate F1 score f1 = f1_score(y_test, predictions) print(f'F1 score: {f1:.4f}')
copy
Comment pouvons-nous utiliser le vote pondéré dans `BaggingClassifier`?

Comment pouvons-nous utiliser le vote pondéré dans BaggingClassifier?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1
We're sorry to hear that something went wrong. What happened?
some-alt