Hasta ahora, te dimos la impresión de que un modelo actúa directamente en las filas de un conjunto de datos. Sin embargo, los modelos, en realidad, transfieren datos de manera un poco diferente.
Por ejemplo, supongamos que un conjunto de datos proporciona cinco columnas, pero solo dos de ellas (b
y d
) son atributos del modelo. Cuando se procesa el ejemplo de la fila 3, ¿el modelo simplemente toma el contenido de las dos celdas destacadas (3b y 3d) de la siguiente manera?
De hecho, el modelo transfiere un array de valores de punto flotante llamado vector de características. Puedes pensar en un vector de características como los valores de punto flotante que componen un ejemplo.
Sin embargo, los vectores de características rara vez usan los valores sin procesar del conjunto de datos. En cambio, por lo general, debes procesar los valores del conjunto de datos en representaciones de las que tu modelo pueda aprender mejor. Por lo tanto, un vector de características más realista podría verse de la siguiente manera:
¿No sería mejor que un modelo generara mejores predicciones si se entrenara con los valores reales del conjunto de datos en lugar de los valores alterados? Sorprendentemente, la respuesta es no.
Debes determinar la mejor manera de representar los valores del conjunto de datos sin procesar como valores entrenables en el vector de atributos. Este proceso se denomina ingeniería de atributos y es una parte vital del aprendizaje automático. Las técnicas de ingeniería de atributos más comunes son las siguientes:
- Normalización: Convierte los valores numéricos en un rango estándar.
- Agrupación (también conocida como agrupamiento): Convierte valores numéricos en buckets de rangos.
En esta unidad, se explica la normalización y el agrupamiento. En la siguiente unidad, Trabaja con datos categóricos, se abordan otras formas de procesamiento previo, como convertir datos no numéricos, como cadenas, en valores de punto flotante.
Cada valor de un vector de atributos debe ser un valor de punto flotante. Sin embargo, muchas funciones son, de forma natural, cadenas o valores no numéricos. En consecuencia, gran parte de la ingeniería de atributos consiste en representar valores no numéricos como valores numéricos. Verás mucho de esto en módulos posteriores.