Eliminación recursiva de características

Machine LearningMachine LearningBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a usar la eliminación recursiva de características (Recursive Feature Elimination - RFE) para la selección de características. Usaremos la biblioteca Scikit-Learn en Python para realizar esta tarea. La selección de características es un paso importante en el aprendizaje automático para mejorar el rendimiento del modelo al eliminar características irrelevantes o redundantes.

Consejos sobre la VM

Una vez que se haya iniciado la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos el problema rápidamente para usted.


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/DataPreprocessingandFeatureEngineeringGroup(["Data Preprocessing and Feature Engineering"]) 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{{"Eliminación recursiva de características"}} sklearn/feature_selection -.-> lab-49267{{"Eliminación recursiva de características"}} sklearn/datasets -.-> lab-49267{{"Eliminación recursiva de características"}} ml/sklearn -.-> lab-49267{{"Eliminación recursiva de características"}} end

Cargar el conjunto de datos y dividir los datos

Primero, cargaremos el conjunto de datos de dígitos utilizando la biblioteca Scikit-Learn. Este conjunto de datos consta de imágenes de 8x8 de dígitos del 0 al 9. Cada imagen se representa como una matriz de 64 características. Dividiremos los datos en variables de características y objetivo.

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

Crear el objeto RFE y ajustar los datos

A continuación, crearemos un objeto de la clase RFE y ajustaremos los datos a él. Usaremos un clasificador de vectores de soporte (Support Vector Classifier - SVC) con un kernel lineal como estimador. Seleccionaremos una característica a la vez y daremos un paso a la vez.

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)

Clasificar las características

Después de ajustar los datos al objeto RFE, podemos clasificar las características según su importancia. Usaremos el atributo ranking_ del objeto RFE para obtener las clasificaciones de las características. También redimensionaremos las clasificaciones para que coincidan con la forma de las imágenes originales.

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

Visualizar las clasificaciones de las características

Finalmente, graficaremos las clasificaciones de las características utilizando la biblioteca Matplotlib. Usaremos la función matshow() para mostrar las clasificaciones como una imagen. También agregaremos una barra de colores y un título al gráfico.

import matplotlib.pyplot as plt

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

Resumen

En este laboratorio, aprendimos cómo usar la eliminación recursiva de características (Recursive Feature Elimination - RFE) para la selección de características. Usamos la biblioteca Scikit-Learn en Python para cargar el conjunto de datos de dígitos, crear un objeto RFE, ajustar los datos, clasificar las características y visualizar las clasificaciones de las características.