L'enginyeria de funcions és el procés de creació de noves funcions o modificació de les existents a partir de dades en brut per millorar el rendiment dels models d'aprenentatge automàtic. És un aspecte crític perquè la qualitat i la rellevància de les funcions afecten significativament la capacitat d'un model per aprendre patrons i fer prediccions precises.
Per què és important l'enginyeria de funcions
-
Rendiment millorat del model: les funcions ben dissenyades poden destacar patrons i relacions dins de les dades que, d'altra manera, podrien ser difícils d'aprendre al model. Això condueix a una millor precisió predictiva.
-
Sobreajustament reduït: l'enginyeria de funcions pot ajudar a reduir el sobreajust proporcionant al model representacions més significatives i generalitzades de les dades.
-
Simplificació i interpretabilitat: les funcions dissenyades poden simplificar les relacions complexes dins de les dades, fent que el model sigui més interpretable i entenedor.
Exemple de tècniques habituals utilitzades en l'enginyeria de característiques
-
Imputació: maneja els valors que falten imputant-los amb mesures estadístiques com la mitjana, la mediana o la moda.
-
One-Hot Encoding: conversió de variables categòriques en vectors binaris, permetent als models entendre i processar dades categòriques.
-
Escala de característiques: normalitzar o estandarditzar característiques numèriques a una escala similar, evitant que certes característiques dominïn a causa de la seva major magnitud.
-
Característiques polinomials: generació de noves característiques augmentant les característiques existents a potències més altes, capturant relacions no lineals.
-
Selecció de funcions: escollint les característiques més rellevants i descartant-ne les menys informatives per reduir la dimensionalitat i el soroll de les dades.
-
Binning o Discretització: agrupa les característiques numèriques contínues en bins o categories, simplificant les relacions complexes.
-
Encreuaments/interaccions de funcions: creació de funcions noves combinant o interactuant les existents per capturar les interaccions entre elles.
-
Transformació de funcions: s'apliquen transformacions matemàtiques com logaritmes o arrels quadrades per fer que les dades es distribueixin de manera més normal o per reduir la sessió.
-
Enginyeria de característiques de text: tècniques com TF-IDF (freqüència de termini-freqüència inversa del document), incrustacions de paraules o n-grams per representar dades textuals de manera eficaç.
-
Funcions temporals: extreu característiques de les marques de temps, com ara el dia de la setmana, el mes o les diferències horàries, que poden revelar patrons relacionats amb el temps.
Cada problema i conjunt de dades pot requerir diferents enfocaments per a l'enginyeria de funcions. El coneixement del domini expert sovint juga un paper crucial a l'hora d'identificar les tècniques més efectives per a una tasca específica. L'enginyeria de funcions amb èxit pot millorar significativament el poder predictiu i la generalització d'un model, convertint-lo en una part fonamental del flux de treball d'aprenentatge automàtic.