Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Realización | Ingeniería de Características
Procesamiento Previo de Datos
course content

Contenido del Curso

Procesamiento Previo de Datos

Procesamiento Previo de Datos

1. Introducción Breve
2. Procesamiento de Datos Cuantitativos
3. Procesamiento de Datos Categóricos
4. Procesamiento de Datos de Series Temporales
5. Ingeniería de Características
6. Avanzando a Tareas

bookRealización

Ahora ya tiene una idea de lo que incluye la ingeniería de funciones. Pasemos a la aplicación práctica y veamos el proceso completo en acción.

En este ejemplo, mostraremos todas las canalizaciones en un programa para el preprocesamiento de datos utilizando el famoso conjunto de datos del iris. Prepararemos los datos, extraeremos características, seleccionaremos las características más relevantes, crearemos nuevas características, normalizaremos y estandarizaremos las características, fusionaremos las características, evaluaremos su calidad, realizaremos las características y las integraremos para su uso en un modelo de aprendizaje automático.

  1. Preparación de los datos: utilizaremos el conjunto de datos del iris de la biblioteca scikit-learn, que ya está preprocesado y limpio.
  2. *2. Lectura de características: utilizaremos las siguientes características del conjunto de datos: Longitud del septum, Anchura del septum, Longitud del pétalo, Anchura del pétalo.
    1. Selección de características: utilizaremos el método SelectKBest de scikit-learn para seleccionar las 2 características más relevantes en función de su puntuación de información mutua.
    1. Creación de características: crearemos una nueva característica llamada 'Sepal to Petal Ratio' dividiendo la longitud del sépalo por la longitud del pétalo.
    1. Estandarización: utilizaremos el método StandardScaler de scikit-learn para escalar las características seleccionadas.
    1. Fusión de características: fusionaremos las características seleccionadas y las recién creadas en un array.
    1. Evaluación de características: evaluaremos la calidad de las características calculando sus coeficientes de correlación.
      Las características con alta correlación son más linealmente dependientes y, por tanto, tienen casi el mismo efecto sobre la variable dependiente. Por tanto, cuando dos características tienen una correlación alta, podemos descartar una de ellas.
  3. Integración y uso: por último, integraremos las características realizadas en un modelo de aprendizaje automático para la clasificación.

Hay que tener en cuenta que existe una diferencia entre la selección y la creación de características: la selección de características se refiere al proceso de seleccionar un subconjunto de las características disponibles en un conjunto de datos que sea más relevante o informativo para una determinada tarea de aprendizaje automático. La creación de características, por su parte, consiste en generar nuevas características a partir de las existentes para captar relaciones más complejas o abstractas entre ellas.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
# Import libraries from sklearn.datasets import load_iris from sklearn.feature_selection import SelectKBest, mutual_info_classif from sklearn.preprocessing import StandardScaler import numpy as np # Load dataset iris = load_iris() # Read features X = iris.data sepal_length = X[:, 0] sepal_width = X[:, 1] petal_length = X[:, 2] petal_width = X[:, 3] # Create new features sepal_to_petal_ratio = sepal_length / petal_length sepal_to_petal_ratio = np.reshape(sepal_to_petal_ratio, (-1, 1)) sepal_area = sepal_length * sepal_width petal_area = petal_length * petal_width ratio_sepal = sepal_length / sepal_width ratio_petal = petal_length / petal_width # Feature selection kbest = SelectKBest(mutual_info_classif, k=2) X_new = kbest.fit_transform(X, iris.target) # Feature creation X_new = np.hstack((X_new, sepal_to_petal_ratio)) # Scaling scaler = StandardScaler() X_new = scaler.fit_transform(X_new) # Feature merging X_new = np.hstack((X_new, sepal_area.reshape(-1, 1))) X_new = np.hstack((X_new, petal_area.reshape(-1, 1))) X_new = np.hstack((X_new, ratio_sepal.reshape(-1, 1))) X_new = np.hstack((X_new, ratio_petal.reshape(-1, 1))) # Feature evaluation correlation_matrix = np.corrcoef(X_new.T) print('Correlation Matrix:') print(correlation_matrix) X_new = np.array(X_new, np.float32) # Integration and usage # The realized features can now be used in a machine learning model for classification
copy
¿Cuál es la diferencia entre selección de rasgos y creación de rasgos?

¿Cuál es la diferencia entre selección de rasgos y creación de rasgos?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 2
some-alt