paint-brush
Ingeniería de funciones para el aprendizaje automáticopor@sumitmakashir
847 lecturas
847 lecturas

Ingeniería de funciones para el aprendizaje automático

por Sumit Makashir15m2024/05/15
Read on Terminal Reader

Demasiado Largo; Para Leer

La ingeniería de funciones es crucial para maximizar el rendimiento de los modelos de aprendizaje automático. Al crear y procesar características significativas, incluso los algoritmos simples pueden lograr resultados superiores. Las técnicas clave incluyen agregación, diferencias y proporciones, codificación de edad, codificación de indicadores, codificación one-hot y codificación de objetivos. El procesamiento de características eficaz implica el tratamiento de valores atípicos, el manejo de valores faltantes, el escalado, la reducción de dimensionalidad y la transformación de objetivos a una distribución normal.
featured image - Ingeniería de funciones para el aprendizaje automático
Sumit Makashir HackerNoon profile picture
0-item


Seguramente habrás escuchado el dicho "basura entra, basura sale". De hecho, este dicho es aplicable al entrenar modelos de aprendizaje automático. Si entrenamos modelos de aprendizaje automático utilizando datos irrelevantes, ni siquiera los mejores algoritmos de aprendizaje automático serán de gran ayuda. Por el contrario, el uso de funciones significativas bien diseñadas puede lograr un rendimiento superior incluso con un simple algoritmo de aprendizaje automático. Entonces, ¿cómo podemos crear estas características significativas que maximizarán el rendimiento de nuestro modelo? La respuesta es la ingeniería de características. Trabajar en ingeniería de características es especialmente importante cuando se trabaja con algoritmos tradicionales de aprendizaje automático, como regresión, árboles de decisión, máquinas de vectores de soporte y otros que requieren entradas numéricas. Sin embargo, crear estas entradas numéricas no se trata solo de habilidades con los datos. Es un proceso que exige creatividad y conocimiento del dominio y tiene tanto arte como ciencia.

En términos generales, podemos dividir la ingeniería de funciones en dos componentes: 1) crear nuevas funciones y 2) procesar estas funciones para que funcionen de manera óptima con el algoritmo de la máquina en consideración. En este artículo, analizaremos estos dos componentes de la ingeniería de características para conjuntos de datos transversales, estructurados y que no son PNL.


Creación de nuevas funciones

La recopilación de datos sin procesar puede resultar agotadora y, al final de esta tarea, es posible que estemos demasiado cansados para invertir más tiempo y energía en crear funciones adicionales. Pero aquí es donde debemos resistir la tentación de sumergirnos directamente en el entrenamiento modelo. ¡Te prometo que valdrá la pena! En este cruce, deberíamos hacer una pausa y preguntarnos: "Si tuviera que hacer las predicciones manualmente en función de mi conocimiento del dominio, ¿qué funciones me habrían ayudado a hacer un buen trabajo?" Hacer esta pregunta puede abrir posibilidades para crear nuevas características significativas que nuestro modelo podría haber pasado por alto de otro modo. Una vez que hayamos considerado de qué funciones adicionales podríamos beneficiarnos, podemos aprovechar las técnicas siguientes para crear nuevas funciones a partir de los datos sin procesar.


1. Agregación

Como sugiere el nombre, esta técnica nos ayuda a combinar múltiples puntos de datos para crear una visión más holística. Normalmente aplicamos agregaciones en datos numéricos continuos utilizando funciones estándar como recuento, suma, promedio, mínimo, máximo, percentil, desviación estándar y coeficiente de variación. Cada función puede capturar diferentes elementos de información y la mejor función a utilizar depende del caso de uso específico. A menudo, podemos aplicar la agregación en un tiempo o ventana de evento particular que sea significativo en el contexto de ese problema.

Tomemos un ejemplo en el que queremos predecir si una determinada transacción con tarjeta de crédito es fraudulenta. Para este caso de uso, sin duda podemos usar funciones específicas de transacciones, pero además de esas funciones, también podemos beneficiarnos de la creación de funciones agregadas a nivel de cliente como:

  1. Recuento de veces que el cliente ha sido víctima de fraude en los últimos cinco años: un cliente que ha sido víctima de fraude varias veces anteriormente puede tener más probabilidades de volver a ser víctima de fraude. Por lo tanto, el uso de esta vista agregada a nivel de cliente puede proporcionar señales de predicción adecuadas.

  2. Mediana de los montos de las últimas cinco transacciones: a menudo, cuando una tarjeta de crédito se ve comprometida, los estafadores pueden intentar múltiples transacciones de bajo valor para probar la tarjeta. Ahora bien, una sola transacción de bajo valor es muy común y puede no ser un signo de fraude, pero si vemos muchas transacciones de este tipo en corta sucesión, puede indicar una tarjeta de crédito comprometida.


El gráfico superior muestra los montos de las transacciones individuales y podemos ver que las transacciones aisladas de bajo valor no son infrecuentes y no indican fraude; sin embargo, múltiples transacciones sucesivas de bajo valor son una señal de fraude. El gráfico inferior muestra una mediana móvil de los últimos cinco montos de transacciones y solo devuelve un valor bajo si existe un patrón de múltiples transacciones sucesivas de bajo valor. En este caso, la vista agregada inferior permite distinguir entre transacciones legítimas de bajo valor y transacciones fraudulentas de bajo valor utilizando el monto de la transacción como característica.



2. Diferencias y proporciones

En muchos tipos de problemas, el cambio en un patrón establecido es una señal valiosa para la predicción o detección de anomalías. Las diferencias y proporciones son técnicas eficaces para representar cambios en características numéricas. Al igual que la agregación, también podemos aplicar estas técnicas durante un período de tiempo significativo en el contexto de ese problema.

Ejemplos:

  1. Diferencia entre el porcentaje de nuevas transacciones comerciales en la última hora y el porcentaje de nuevas transacciones comerciales en los últimos 30 días: un alto porcentaje de nuevas transacciones comerciales en rápida sucesión podría indicar riesgo de fraude en sí mismo, pero cuando vemos que este comportamiento ha cambiado en comparación con el comportamiento histórico del cliente, se convierte en una señal aún más evidente.

  2. Relación entre el recuento de transacciones del día actual y el recuento medio de transacciones diarias de los últimos 30 días: cuando una tarjeta de crédito se ve comprometida, es probable que tenga muchas transacciones en un corto período de tiempo, lo que puede no ajustarse al uso anterior de la tarjeta de crédito. Una proporción significativamente alta del recuento de transacciones del día actual con respecto a la mediana del recuento de transacciones diarias de los últimos 30 días puede indicar patrones de uso fraudulentos.


En la tabla anterior podemos ver que un recuento elevado de transacciones en un día determinado puede no ser por sí solo una indicación de un comportamiento anómalo en las transacciones. Por el contrario, una característica basada en índices puede facilitar la comparación entre el comportamiento de transacciones actual del cliente y su comportamiento de transacciones pasadas y, por lo tanto, puede capturar anomalías de manera más efectiva.

3. Codificación de edad

Podemos utilizar la técnica de cálculo de edad para convertir las características de fecha o marca de tiempo en características numéricas tomando la diferencia entre dos marcas de tiempo o fechas. También podemos utilizar esta técnica para convertir ciertas características no numéricas en características numéricas significativas si la tenencia asociada con los valores de las características puede ser una señal valiosa para la predicción.

Ejemplos:

  1. Días desde la última vez que se utilizó la tarjeta de crédito: una transacción repentina con una tarjeta de crédito que ha estado inactiva durante mucho tiempo puede estar asociada con un alto riesgo de fraude. Podemos calcular esta característica tomando la diferencia horaria entre la fecha desde la última vez que se utilizó la tarjeta de crédito y la fecha de la transacción actual.
  2. Días desde que se utilizó por primera vez el dispositivo del cliente: si vemos que una transacción proviene de un dispositivo nuevo, es probable que sea más riesgosa que una transacción realizada desde un dispositivo que el cliente ha utilizado durante más tiempo. Podemos crear una función que indique la antigüedad del dispositivo como la diferencia entre la fecha desde que el cliente usó este dispositivo por primera vez y la fecha de la transacción actual.

Las tablas anteriores muestran un ejemplo de codificación de edad. Aquí, hemos creado una nueva característica numérica "Días desde que se usó por primera vez el dispositivo de transacción" como la diferencia en días entre la fecha de primer uso del dispositivo del cliente y la fecha de transacción actual.


4. Codificación del indicador

El indicador o las características booleanas tienen valores binarios {1, 0} o {Verdadero, Falso}. Las características de los indicadores son muy comunes y se utilizan para representar varios tipos de información binaria. En algunos casos, es posible que ya tengamos dichas características binarias en forma numérica, mientras que en otros casos, es posible que tengan valores no numéricos. Para utilizar las funciones binarias no numéricas para el entrenamiento de modelos, todo lo que tenemos que hacer es asignarlas a valores numéricos.

Más allá de estas ocurrencias y usos comunes de las características de los indicadores, podemos aprovechar la codificación de indicadores como una herramienta para representar una comparación entre puntos de datos no numéricos. Este atributo lo hace particularmente poderoso ya que crea una forma de medir los cambios en características no numéricas.

Ejemplos:

  1. Verificación fallida durante un evento de inicio de sesión reciente: un evento de inicio de sesión fallido reciente puede estar asociado con un mayor riesgo de transacciones fraudulentas. En este caso, los datos sin procesar pueden tener valores Sí o No para esta característica; todo lo que tenemos que hacer aquí es asignar estos valores a 1 o 0.

  2. Cambio en la ubicación del país desde la última transacción: un cambio en la ubicación del país puede indicar una tarjeta de crédito comprometida. Aquí, la creación de una característica indicadora que represente un cambio en la característica no numérica 'ubicación del país' capturará la información de cambio de este país.


Las tablas anteriores muestran un ejemplo de codificación de indicadores. Aquí hemos creado una nueva característica numérica "Cambio de país de transacción anterior" comparando la ubicación del país de transacción actual de un cliente con la ubicación del país de transacción anterior.


5. Codificación en caliente

Esta técnica se puede aplicar si nuestros datos de características están en forma categórica, ya sea numérica o no numérica. La forma numérica-categórica se refiere a datos numéricos que contienen datos no continuos o que no son de medición, como códigos de región geográfica, ID de tienda y otros tipos de datos similares. Una técnica de codificación en caliente puede convertir dichas características en un conjunto de características indicadoras que podemos usar en el entrenamiento de modelos de aprendizaje automático. La aplicación de una codificación activa en una característica categórica creará una nueva característica binaria para cada categoría en esa variable categórica. Dado que la cantidad de funciones nuevas aumenta a medida que aumenta la cantidad de categorías, esta técnica es adecuada para funciones con una cantidad baja de categorías, especialmente si tenemos un conjunto de datos más pequeño. Una de las reglas generales estándar sugiere aplicar esta técnica si tenemos al menos diez registros por categoría.

Ejemplos:

  1. Categoría de compra de transacciones: Ciertos tipos de categorías de compra pueden estar asociados con un mayor riesgo de fraude. Dado que los nombres de las categorías de compra son datos de texto, podemos aplicar la técnica de codificación one-hot para convertir esta característica en un conjunto de características de indicadores numéricos. Si hay diez nombres de categorías de compra diferentes, la codificación one-hot creará diez nuevas características de indicador, una para cada nombre de categoría de compra.
  2. Tipo de dispositivo: una transacción en línea se puede realizar a través de varios tipos diferentes de dispositivos, como un iPhone, un teléfono Android, una PC con Windows y una Mac. Algunos de estos dispositivos son más susceptibles al malware o de fácil acceso para los estafadores y, por lo tanto, pueden estar asociados con un mayor riesgo de fraude. Para incluir información del tipo de dispositivo en forma numérica, podemos aplicar codificación one-hot al tipo de dispositivo, lo que creará una nueva función indicadora para cada tipo de dispositivo.

Las tablas anteriores muestran un ejemplo de codificación one-hot. Aquí hemos creado un conjunto de nuevas características de indicador numérico aplicando la técnica de codificación one-hot a la característica categórica no numérica "Tipo de dispositivo".


6. Codificación de destino

Esta técnica se aplica al mismo tipo de funciones a las que aplicaríamos la codificación one-hot, pero tiene algunas ventajas y desventajas sobre la codificación one-hot. Cuando el número de categorías es alto (alta cardinalidad), el uso de codificación one-hot aumentará indeseablemente el número de características, lo que puede provocar un sobreajuste del modelo. La codificación de objetivos puede ser una técnica eficaz en tales casos, siempre que estemos trabajando en un problema de aprendizaje supervisado. Es una técnica que asigna el valor de cada categoría al valor esperado del objetivo para esa categoría. Si trabaja con un problema de regresión con un objetivo continuo, este cálculo asigna la categoría al valor objetivo medio para esa categoría. En el caso de un problema de clasificación con un objetivo binario, la codificación del objetivo asignará la categoría a la probabilidad de evento positivo de esa categoría. A diferencia de la codificación one-hot, esta técnica tiene la ventaja de no aumentar la cantidad de funciones. Una desventaja de esta técnica es que sólo se puede aplicar a problemas de aprendizaje supervisado. La aplicación de esta técnica también puede hacer que el modelo sea susceptible de sobreajuste, particularmente si el número de observaciones en algunas categorías es bajo.

Ejemplos:

  1. Nombre del comerciante: las transacciones realizadas contra ciertos comerciantes podrían indicar actividad fraudulenta. Podría haber miles de comerciantes de este tipo, cada uno con un riesgo diferente de realizar transacciones fraudulentas. La aplicación de codificación one-hot a una función que contiene nombres de comerciantes puede introducir miles de funciones nuevas, lo cual no es deseable. En tales casos, la codificación de objetivos puede ayudar a capturar la información sobre el riesgo de fraude del comerciante sin aumentar la cantidad de funciones.
  2. Código postal de la transacción: al igual que los comerciantes, las transacciones realizadas en diferentes códigos postales pueden representar diferentes niveles de riesgo de fraude. Aunque los códigos postales tienen valores numéricos, no son variables de medición continua y no deben usarse en el modelo tal cual. En su lugar, podemos incorporar la información del riesgo de fraude asociada con cada código postal aplicando una técnica como la codificación de objetivos.

Las tablas anteriores muestran un ejemplo de codificación de destino. Aquí hemos creado una nueva característica numérica única "Codificación de destino del nombre del comerciante" aplicando la técnica de codificación de destino a una característica categórica no numérica "Nombre del comerciante". Como sugiere el nombre, esta técnica se basa en valores objetivo para calcular los nuevos valores de características.



Una vez que hayamos creado las nuevas funciones a partir de los datos sin procesar, el siguiente paso es procesarlas para lograr un rendimiento óptimo del modelo. Logramos esto a través del procesamiento de características como se analiza en la siguiente sección.

Procesamiento de características

El procesamiento de características se refiere a una serie de pasos de procesamiento de datos que garantizan que los modelos de aprendizaje automático se ajusten a los datos según lo previsto. Si bien algunos de estos pasos de procesamiento son necesarios cuando se utilizan ciertos algoritmos de aprendizaje automático, otros garantizan que logremos una buena química de trabajo entre las funciones y el algoritmo de aprendizaje automático que se está considerando. En esta sección, analicemos algunos pasos de procesamiento de funciones comunes y por qué los necesitamos.

1. Tratamiento de valores atípicos

Varios algoritmos de aprendizaje automático, especialmente los paramétricos, como los modelos de regresión, se ven gravemente afectados por los valores atípicos. Estos algoritmos de aprendizaje automático intentan adaptarse a los valores atípicos, lo que afecta gravemente a los parámetros del modelo y compromete el rendimiento general. Para tratar los valores atípicos, primero debemos identificarlos. Podemos detectar valores atípicos para una característica específica aplicando ciertas reglas generales, como tener un valor absoluto mayor que la media más tres desviaciones estándar o un valor fuera del valor del bigote más cercano (valor del cuartil más cercano más 1,5 veces el valor del rango intercuartil). Una vez que hayamos identificado los valores atípicos en una característica específica, podemos utilizar algunas de las técnicas siguientes para tratar los valores atípicos:

  1. Eliminación: podemos eliminar las observaciones con al menos un valor atípico. Sin embargo, si nuestros datos tienen demasiados valores atípicos en diferentes características, podemos perder muchas observaciones.
  2. Sustitución: podemos sustituir valores atípicos con promedios, como la media, la mediana y la moda, de una característica determinada.
  3. Transformación o estandarización de características: podemos usar la transformación logarítmica o la estandarización de características (como se describe en escalado) para reducir la magnitud de los valores atípicos.
  4. Limitación y suelo: podemos reemplazar los valores atípicos más allá de un determinado valor con ese valor, por ejemplo, reemplazando todos los valores por encima del percentil 99 con el valor del percentil 99 y reemplazando todos los valores por debajo del percentil 1 con el valor del percentil 1.


La imagen de arriba muestra las dos técnicas comúnmente utilizadas para detectar valores atípicos univariados. Podemos ver que las dos técnicas pueden generar diferentes conjuntos de valores atípicos. Se debe utilizar la técnica de media + 3 DE si los datos siguen una distribución normal. La técnica basada en bigotes de diagrama de caja es más genérica y se puede aplicar a datos con cualquier distribución.


Las tablas anteriores muestran la aplicación de técnicas comúnmente utilizadas para el tratamiento de valores atípicos.


Tenga en cuenta que existen técnicas para detectar observaciones que son valores atípicos multivariados (valores atípicos con respecto a múltiples características), pero son más complejas y generalmente no agregan mucho valor en términos de entrenamiento de modelos de aprendizaje automático. Tenga en cuenta también que los valores atípicos no son una preocupación cuando se trabaja con la mayoría de los modelos de aprendizaje automático no paramétrico, como máquinas de vectores de soporte y algoritmos basados en árboles, como árboles de decisión, bosques aleatorios y XGBoost.


2. Tratamiento de valores perdidos

Los datos faltantes son muy comunes en conjuntos de datos del mundo real. La mayoría de los algoritmos de aprendizaje automático tradicionales, excepto algunos como XGBoost, no permiten valores faltantes en los conjuntos de datos de entrenamiento. Por lo tanto, corregir los valores faltantes es una de las tareas rutinarias en el modelado de aprendizaje automático. Existen varias técnicas para tratar los valores perdidos; sin embargo, antes de implementar cualquier técnica, es importante comprender la causa de los datos faltantes o, al menos, saber si los datos faltan al azar. Si los datos no faltan al azar, lo que significa que es más probable que a ciertos subgrupos les falten datos, imputar valores para ellos puede resultar difícil, especialmente si hay pocos o ningún dato disponible. Si faltan datos al azar, podemos utilizar algunas de las técnicas de tratamiento comunes que se describen a continuación. Todos tienen pros y contras, y depende de nosotros decidir qué método se adapta mejor a nuestro caso de uso.

  1. Eliminación: Podemos eliminar las observaciones a las que les falta al menos un valor de característica. Sin embargo, si nuestros datos tienen demasiados valores faltantes en diferentes características, podemos terminar perdiendo muchas observaciones.
  2. Descartar: si una característica tiene una gran cantidad de valores faltantes, podemos optar por eliminarla.
  3. Sustituir con promedios: podemos usar promedios como la media, la mediana y la moda de una característica determinada para sustituir los valores faltantes. Este método es sencillo de implementar, pero es posible que no proporcione buenas estimaciones para todos los tipos de observaciones. Por ejemplo, una transacción con alto riesgo de fraude puede tener un monto de transacción promedio diferente al monto de transacción con bajo riesgo de fraude, y usar un promedio general para un monto faltante de transacción con alto riesgo de fraude puede no ser una buena sustitución.
  4. Máxima verosimilitud, imputaciones múltiples, K vecinos más cercanos: estos son métodos más complejos que consideran la relación con otras características del conjunto de datos y podrían proporcionar estimaciones más precisas que los promedios generales. Sin embargo, la implementación de estos métodos requerirá una implementación adicional de modelado o algoritmo.

Las tablas anteriores muestran la aplicación de técnicas comúnmente utilizadas para el tratamiento de valores perdidos.

3. Escalado

A menudo, las funciones que utilizamos en los modelos de aprendizaje automático tienen diferentes rangos. Si los usamos sin escalar, las características con valores absolutos grandes dominarán el resultado de la predicción. En cambio, para brindar a cada característica una oportunidad justa de contribuir al resultado de la predicción, debemos poner todas las características en la misma escala. Las dos técnicas de escalado más comunes son:

  1. Normalización: esta técnica de escala restringe los valores de la característica entre 0 y 1. Para aplicar la normalización, restamos el valor mínimo de la característica y lo dividimos por el rango (diferencia entre mínimo y máximo) de esa característica. Es posible que la normalización no sea una buena técnica si algunas de nuestras características tienen una marcada inclinación o algunos valores atípicos extremos.
  2. Estandarización: esta técnica transforma la distribución de datos de características a la distribución normal estándar. Podemos implementar esta técnica restando la media y dividiéndola por la desviación estándar. Generalmente se prefiere esta técnica si la característica tiene una inclinación pronunciada o algunos valores atípicos extremos.

Tenga en cuenta que los algoritmos basados en árboles, como los árboles de decisión, el bosque aleatorio, XGBoost y otros, pueden funcionar con datos sin escalar y no necesitan escalar cuando se utilizan estos algoritmos.

Las tablas anteriores muestran la aplicación de las dos técnicas de escalado de características comúnmente utilizadas.


La imagen de arriba muestra la diferencia de escala entre los valores de características originales, normalizados y estandarizados. Como podemos ver, el escalado no afecta la forma de la distribución de datos.

4. Reducción de dimensionalidad

Hoy en día, tenemos una enorme cantidad de datos y podemos crear una amplia colección de funciones para entrenar nuestros modelos. Para la mayoría de los algoritmos, tener más funciones es bueno ya que proporciona más opciones para mejorar el rendimiento del modelo. Sin embargo, esto no es cierto para todos los algoritmos. Los algoritmos basados en métricas de distancia sufren la maldición de la dimensionalidad: a medida que el número de características aumenta sustancialmente, el valor de la distancia entre las dos observaciones deja de tener sentido. Por lo tanto, para utilizar algoritmos que se basan en métricas de distancia, debemos asegurarnos de no utilizar una gran cantidad de funciones. Si nuestro conjunto de datos tiene una gran cantidad de características y no sabemos cuáles conservar y cuáles descartar, podemos utilizar técnicas como el análisis de componentes principales (PCA). PCA transforma el conjunto de funciones antiguas en un conjunto de funciones nuevas. Crea nuevas funciones de modo que la que tiene los valores propios más altos captura la mayor parte de la información de las funciones antiguas. Luego podemos conservar solo las principales funciones nuevas y descartar las restantes.

Se pueden utilizar otras técnicas estadísticas, como el análisis de asociación y los algoritmos de selección de características, en problemas de aprendizaje supervisado para reducir la cantidad de características. Sin embargo, generalmente no capturan el mismo nivel de información que PCA con la misma cantidad de funciones.

Las tablas anteriores muestran la aplicación de PCA para la reducción de características. Como podemos ver, las tres primeras características capturan más del 87% de la información contenida en el conjunto de datos original. En este caso, podemos optar por omitir las dos funciones (f4 y f5) para una pérdida de <13% de información. La cantidad de funciones que se deben conservar y la cantidad de funciones que se deben eliminar variarán de un problema a otro dependiendo de varios factores.


5. Transformación a distribución normal

Este paso es una excepción porque solo se aplica al objetivo y no a las funciones. Además, la mayoría de los algoritmos de aprendizaje automático no tienen restricciones en la distribución del objetivo, pero algunos, como la regresión lineal, requieren que el objetivo se distribuya normalmente. La regresión lineal supone que los valores de error son simétricos y se concentran alrededor de cero para todos los puntos de datos (al igual que la forma de la distribución normal), y una variable objetivo distribuida normalmente garantiza que se cumpla este supuesto. Podemos entender la distribución de nuestro objetivo trazando un histograma. Las pruebas estadísticas como la prueba de Shapiro-Wilk nos informan sobre la normalidad al probar esta hipótesis. En caso de que nuestro objetivo no tenga una distribución normal, podemos probar varias transformaciones, como la transformación logarítmica, la transformación cuadrada, la transformación de raíz cuadrada y otras, para comprobar qué transformaciones hacen que la distribución objetivo sea normal. También hay una transformación Box-Cox que prueba múltiples valores de parámetros y podemos elegir el que mejor transforme la distribución de nuestro objetivo a normal.

La imagen de arriba muestra tres transformaciones de los datos de destino originales. En este caso específico, podemos ver que la transformación logarítmica funciona mejor para transformar la distribución de datos original a una distribución normal.


Nota: Si bien podemos implementar los pasos de procesamiento de funciones en cualquier orden, debemos considerar detenidamente la secuencia de su aplicación. Por ejemplo, el tratamiento de valores faltantes mediante sustitución de valores medios se puede implementar antes o después de la detección de valores atípicos. Sin embargo, el valor medio utilizado para la sustitución puede diferir dependiendo de si tratamos los valores faltantes antes o después del tratamiento de los valores atípicos. La secuencia de procesamiento de funciones descrita en este artículo trata los problemas en el orden del impacto que pueden tener en los pasos de procesamiento sucesivos. Por lo tanto, seguir esta secuencia debería ser generalmente eficaz para abordar la mayoría de los problemas.


Conclusión

Como se mencionó en la introducción, la ingeniería de características es una dimensión del aprendizaje automático que nos permite controlar el rendimiento del modelo en un grado excepcional. Para aprovechar todo el potencial de la ingeniería de funciones, en este artículo aprendimos varias técnicas para crear nuevas funciones y procesarlas para que funcionen de manera óptima con modelos de aprendizaje automático. Independientemente de los principios y técnicas de ingeniería de características de este artículo que elija utilizar, el mensaje importante aquí es comprender que el aprendizaje automático no se trata solo de pedirle al algoritmo que descubra los patrones. Se trata de que permitamos que el algoritmo haga su trabajo de manera efectiva al proporcionar el tipo de datos que necesita.