A engenharia de características é o processo de criação de novas características ou de modificação das existentes a partir de dados em bruto para melhorar o desempenho dos modelos de aprendizagem automática. É um aspeto crítico porque a qualidade e a relevância das características têm um impacto significativo na capacidade de um modelo para aprender padrões e fazer previsões exactas.
Porque é que a engenharia de características é importante
-
Desempenho melhorado do modelo: As características bem concebidas podem realçar padrões e relações nos dados que, de outra forma, poderiam ser difíceis de aprender pelo modelo. Isto leva a uma melhor precisão de previsão.
-
Redução do sobreajuste: A engenharia de características pode ajudar a reduzir o sobreajuste, fornecendo ao modelo representações mais significativas e generalizadas dos dados.
-
Simplificação e interpretabilidade: As características de engenharia podem simplificar relações complexas dentro dos dados, tornando o modelo mais interpretável e compreensível.
Exemplo de técnicas comuns utilizadas na engenharia de características
-
Imputação: Tratamento de valores em falta, imputando-os com medidas estatísticas como a média, a mediana ou a moda.
-
Codificação de um ponto: Conversão de variáveis categóricas em vectores binários, permitindo que os modelos compreendam e processem dados categóricos.
-
Escala de características: Normalização ou padronização de características numéricas para uma escala semelhante, evitando que certas características dominem devido à sua maior magnitude.
-
Características polinomiais: Geração de novas características através da elevação das características existentes a potências superiores, captando relações não lineares.
-
Seleção de características: Escolher as características mais relevantes e descartar as menos informativas para reduzir a dimensionalidade e o ruído nos dados.
-
Binning ou Discretização: Agrupamento de características numéricas contínuas em compartimentos ou categorias, simplificando relações complexas.
-
Cruzamentos/Interacções de elementos característicos: Criação de novas características através da combinação ou interação de características existentes para captar as interacções entre elas.
-
Transformação de características: Aplicação de transformações matemáticas como logaritmos ou raízes quadradas para tornar os dados mais normalmente distribuídos ou para reduzir a assimetria.
-
Engenharia de características de texto: Técnicas como TF-IDF (Term Frequency-Inverse Document Frequency), word embeddings ou n-grams para representar dados textuais de forma eficaz.
-
Características temporais: Extração de características de carimbos de data/hora, como o dia da semana, o mês ou diferenças horárias, que podem revelar padrões relacionados com o tempo.
Cada problema e conjunto de dados pode exigir diferentes abordagens à engenharia de características. O conhecimento especializado do domínio desempenha frequentemente um papel crucial na identificação das técnicas mais eficazes para uma tarefa específica. Uma engenharia de características bem sucedida pode melhorar significativamente o poder preditivo e a generalização de um modelo, tornando-a uma parte fundamental do fluxo de trabalho da aprendizagem automática.