Exploration des méthodes d'ensemble avec Scikit-Learn

Machine LearningMachine LearningBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous explorerons les méthodes d'ensemble à l'aide de scikit-learn. Les méthodes d'ensemble sont des techniques d'apprentissage automatique qui combinent plusieurs modèles pour obtenir une performance meilleure que celle d'un seul modèle. Nous nous concentrerons plus précisément sur deux méthodes d'ensemble populaires : le Bagging et les Forêts aléatoires.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limites du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/ModelSelectionandEvaluationGroup(["Model Selection and Evaluation"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/tree("Decision Trees") sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/ensemble("Ensemble Methods") sklearn/ModelSelectionandEvaluationGroup -.-> sklearn/model_selection("Model Selection") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/tree -.-> lab-71108{{"Exploration des méthodes d'ensemble avec Scikit-Learn"}} sklearn/ensemble -.-> lab-71108{{"Exploration des méthodes d'ensemble avec Scikit-Learn"}} sklearn/model_selection -.-> lab-71108{{"Exploration des méthodes d'ensemble avec Scikit-Learn"}} sklearn/datasets -.-> lab-71108{{"Exploration des méthodes d'ensemble avec Scikit-Learn"}} ml/sklearn -.-> lab-71108{{"Exploration des méthodes d'ensemble avec Scikit-Learn"}} end

Importation des dépendances

Commenceons par importer les dépendances nécessaires.

import numpy as np
from sklearn.ensemble import BaggingClassifier, RandomForestClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split, cross_val_score

Charger les données

Ensuite, nous allons charger l'ensemble de données iris à partir de scikit-learn en utilisant la fonction load_iris.

data = load_iris()
X, y = data.data, data.target

Diviser les données

Nous allons diviser les données en ensembles d'entraînement et de test en utilisant la fonction train_test_split de scikit-learn.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Ajuster un classifieur Bagging

Maintenant, nous allons ajuster un classifieur Bagging sur les données d'entraînement. Le classifieur Bagging est une méthode d'ensemble qui utilise l'échantillonnage bootstrap pour créer plusieurs modèles de base (souvent des arbres de décision) et combine leurs prédictions en utilisant le vote majoritaire.

bagging = BaggingClassifier(DecisionTreeClassifier(), n_estimators=10)
bagging.fit(X_train, y_train)

Évaluer le classifieur Bagging

Évaluons le classifieur Bagging en calculant le score d'exactitude sur les données de test en utilisant la méthode score.

accuracy = bagging.score(X_test, y_test)
print(f"Précision du classifieur Bagging : {accuracy}")

Ajuster un classifieur à forêt aléatoire

Ensuite, nous allons ajuster un classifieur à forêt aléatoire sur les données d'entraînement. Le classifieur à forêt aléatoire est également une méthode d'ensemble qui utilise l'échantillonnage bootstrap pour créer plusieurs arbres de décision, mais il ajoute également une aléatoire supplémentaire en considérant seulement un sous-ensemble de caractéristiques à chaque division.

random_forest = RandomForestClassifier(n_estimators=10)
random_forest.fit(X_train, y_train)

Évaluer le classifieur à forêt aléatoire

Évaluons le classifieur à forêt aléatoire en calculant le score d'exactitude sur les données de test.

accuracy = random_forest.score(X_test, y_test)
print(f"Précision du classifieur à forêt aléatoire : {accuracy}")

Sommaire

Dans ce laboratoire, nous avons exploré les méthodes d'ensemble à l'aide de scikit-learn. Nous avons ajusté un classifieur Bagging et un classifieur à forêt aléatoire sur l'ensemble de données iris et évalué leur performance. Les méthodes d'ensemble telles que Bagging et les forêts aléatoires peuvent être des outils puissants pour améliorer les performances prédictives des modèles d'apprentissage automatique.