Élimination Récursive de Caractéristiques

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 allons apprendre à utiliser l'Élimination Récursive de Caractéristiques (RFE) pour la sélection de caractéristiques. Nous utiliserons la bibliothèque Scikit-Learn en Python pour effectuer cette tâche. La sélection de caractéristiques est une étape importante en apprentissage automatique pour améliorer les performances du modèle en éliminant les caractéristiques non pertinentes ou redondantes.

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 d'étude 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 limitations du carnet Jupyter.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sklearn(("Sklearn")) -.-> sklearn/CoreModelsandAlgorithmsGroup(["Core Models and Algorithms"]) sklearn(("Sklearn")) -.-> sklearn/DataPreprocessingandFeatureEngineeringGroup(["Data Preprocessing and Feature Engineering"]) sklearn(("Sklearn")) -.-> sklearn/UtilitiesandDatasetsGroup(["Utilities and Datasets"]) ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) sklearn/CoreModelsandAlgorithmsGroup -.-> sklearn/svm("Support Vector Machines") sklearn/DataPreprocessingandFeatureEngineeringGroup -.-> sklearn/feature_selection("Feature Selection") sklearn/UtilitiesandDatasetsGroup -.-> sklearn/datasets("Datasets") ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills sklearn/svm -.-> lab-49267{{"Élimination Récursive de Caractéristiques"}} sklearn/feature_selection -.-> lab-49267{{"Élimination Récursive de Caractéristiques"}} sklearn/datasets -.-> lab-49267{{"Élimination Récursive de Caractéristiques"}} ml/sklearn -.-> lab-49267{{"Élimination Récursive de Caractéristiques"}} end

Charger l'ensemble de données et diviser les données

Tout d'abord, nous allons charger l'ensemble de données des chiffres à l'aide de la bibliothèque Scikit-Learn. Cet ensemble de données est composé d'images 8x8 de chiffres de 0 à 9. Chaque image est représentée sous forme d'un tableau de 64 caractéristiques. Nous allons diviser les données en variables de caractéristiques et de cible.

from sklearn.datasets import load_digits
digits = load_digits()
X = digits.images.reshape((len(digits.images), -1))
y = digits.target

Créer l'objet RFE et ajuster les données

Ensuite, nous allons créer un objet de la classe RFE et l'ajuster aux données. Nous utiliserons un classifieur à vecteurs de support (SVC) avec un noyau linéaire comme estimateur. Nous sélectionnerons une caractéristique à la fois et prendrons une étape à la fois.

from sklearn.svm import SVC
from sklearn.feature_selection import RFE

svc = SVC(kernel="linear", C=1)
rfe = RFE(estimator=svc, n_features_to_select=1, step=1)
rfe.fit(X, y)

Classer les caractéristiques

Après avoir ajusté les données à l'objet RFE, nous pouvons classer les caractéristiques en fonction de leur importance. Nous utiliserons l'attribut ranking_ de l'objet RFE pour obtenir les classements des caractéristiques. Nous allons également redimensionner les classements pour qu'ils correspondent à la forme des images originales.

ranking = rfe.ranking_.reshape(digits.images[0].shape)

Visualiser les classements des caractéristiques

Enfin, nous allons tracer les classements des caractéristiques à l'aide de la bibliothèque Matplotlib. Nous utiliserons la fonction matshow() pour afficher les classements sous forme d'image. Nous ajouterons également une barre de couleur et un titre au graphique.

import matplotlib.pyplot as plt

plt.matshow(ranking, cmap=plt.cm.Blues)
plt.colorbar()
plt.title("Ranking of pixels with RFE")
plt.show()

Sommaire

Dans ce laboratoire, nous avons appris à utiliser l'Élimination Récursive de Caractéristiques (RFE) pour la sélection de caractéristiques. Nous avons utilisé la bibliothèque Scikit-Learn en Python pour charger l'ensemble de données des chiffres, créer un objet RFE, ajuster les données, classer les caractéristiques et visualiser les classements des caractéristiques.