A engenharia de recursos é um procedimento em aprendizado de máquina e mineração de dados para preparar os dados em um formato adequado para algoritmos de aprendizado de máquina. Também é descrito como vetorização de recursos, transformação de dados ou construção de recursos. O objetivo da engenharia de recursos é selecionar recursos significativos de dados brutos e, em seguida, manipulá-los em um formato adequado para aprendizado de máquina ou modelagem preditiva.
O processo de engenharia de recursos envolve a transformação de dados em representação numérica, como a quantificação de atributos qualitativos ou a padronização de recursos numéricos. Uma variedade de técnicas é comumente usada, incluindo discretização, normalização, agregação, seleção, agrupamento e transformação.
A discretização envolve a divisão de recursos contínuos em valores discretos, normalmente conhecidos como compartimentos. Isso reduz a probabilidade de ajuste excessivo e simplifica as relações entre os recursos.
A normalização é o processo de dimensionamento de recursos para um intervalo apropriado para o algoritmo específico usado.
A agregação realiza operações matemáticas, como soma, médias, valores mínimos ou máximos sobre instâncias relevantes de um recurso.
Normalmente, a seleção envolve a redução da lista de recursos de interesse a um subconjunto menor.
O agrupamento é uma técnica semelhante, mas envolve a combinação de recursos semelhantes e, em seguida, a aplicação da agregação.
A transformação envolve a criação de novos recursos a partir de recursos existentes, que podem não ser característicos para a capacidade de aprendizado de máquina, mas fornecem uma visão significativa dos dados.
A engenharia de recursos é uma parte importante do processo em muitas tarefas de aprendizado de máquina, pois pode levar a uma maior precisão. O processo de engenharia de recursos requer um entendimento dos algoritmos de aprendizado de máquina e dos dados, além da capacidade de selecionar e transformar recursos de forma a melhorar o desempenho. Como o sucesso de um algoritmo de aprendizado de máquina geralmente depende muito do processo de engenharia de recursos, ele se tornou uma parte indispensável em muitas tarefas de aprendizado de máquina.