Feature engineering är en process inom maskininlärning där man använder sin domänkunskap för att skapa nya attribut (features) från befintliga data som förbättrar prestandan hos en algoritm.
Det handlar om att välja och skapa de rätta funktionerna som ska representera data för att kunna lösa ett specifikt problem på ett effektivt sätt. Det är en kritisk komponent för att uppnå hög prestanda i många maskininlärningsapplikationer.
Feature engineering är en viktig process eftersom de flesta maskininlärningsalgoritmer arbetar bäst med numeriska data som representerar en viss aspekt av den underliggande verkligheten. Att välja rätt attribut och att rensa data är därför en nödvändig process för att få en högpresterande maskininlärningsmodell.
För att utföra feature engineering kan man använda sig av olika tekniker såsom principalkomponentanalys, Fourier-transform, eller kanske helt enkelt en kombination av olika attribut.
En viktig sak att komma ihåg är att det inte finns någon universell metod för att utföra feature engineering och det kan kräva en hel del experimenterande och justeringar innan man hittar den mest lämpliga metoden för sitt specifika problem.