A enxeñaría de funcións é o proceso de creación de novas funcións ou de modificación das existentes a partir de datos brutos para mellorar o rendemento dos modelos de aprendizaxe automática. É un aspecto crítico porque a calidade e relevancia das funcións afectan significativamente a capacidade dun modelo para aprender patróns e facer predicións precisas.
Por que é importante a enxeñería de funcións
-
Rendemento do modelo mellorado: as funcións ben deseñadas poden resaltar patróns e relacións dentro dos datos que, doutro xeito, poderían ser un reto para o modelo. Isto leva a unha mellor precisión preditiva.
-
Sobreadaptación reducida: a enxeñaría de funcións pode axudar a reducir o sobreajuste proporcionando ao modelo representacións máis significativas e xeneralizadas dos datos.
-
Simplificación e interpretabilidade: as funcións deseñadas poden simplificar relacións complexas dentro dos datos, facendo que o modelo sexa máis interpretable e comprensible.
Exemplo de técnicas comúns empregadas na enxeñaría de características
-
Imputación: manexa os valores que faltan imputándoos con medidas estatísticas como a media, a mediana ou a moda.
-
One-Hot Encoding: converte variables categóricas en vectores binarios, o que permite aos modelos comprender e procesar datos categóricos.
-
Escala de características: normaliza ou estandariza características numéricas a unha escala similar, evitando que determinadas características dominen debido á súa maior magnitude.
-
Características polinómicas: xerando novas características elevando as características existentes a maiores potencias, capturando relacións non lineais.
-
Selección de funcións: escollendo as características máis relevantes e descartando outras menos informativas para reducir a dimensionalidade e o ruído dos datos.
-
Binning ou Discretization: agrupando características numéricas continuas en bins ou categorías, simplificando relacións complexas.
-
Cruces/Interaccións de funcións: crea novas funcións combinando ou interactuando as existentes para capturar as interaccións entre elas.
-
Transformación de funcións: aplicando transformacións matemáticas como logaritmos ou raíces cadradas para que os datos se distribúan de forma máis normal ou para reducir a asimetría.
-
Text Feature Engineering: técnicas como TF-IDF (Term Frequency-Inverse Document Frequency), incorporacións de palabras ou n-gramas para representar os datos textuais de forma eficaz.
-
Características temporais: extrae funcións de marcas de tempo, como o día da semana, o mes ou as diferenzas horarias, que poden revelar patróns relacionados co tempo.
Cada problema e conxunto de datos pode requirir enfoques diferentes para a enxeñaría de características. O coñecemento do dominio experto a miúdo xoga un papel crucial na identificación das técnicas máis eficaces para unha tarefa específica. A enxeñería de funcións exitosa pode mellorar significativamente o poder preditivo e a xeneralización dun modelo, converténdoo nunha parte fundamental do fluxo de traballo de aprendizaxe automática.