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.
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.