Glossário

Engenharia de recursos

Aumente a precisão da aprendizagem automática com engenharia de caraterísticas especializada. Aprenda técnicas para criar, transformar e selecionar caraterísticas impactantes.

A engenharia de caraterísticas é o processo de utilização do conhecimento do domínio para selecionar, criar e transformar dados brutos em caraterísticas que representem melhor o problema subjacente aos modelos preditivos. É um passo crítico e muitas vezes demorado no pipeline de aprendizagem automática (ML), uma vez que a qualidade das caraterísticas tem um impacto direto no desempenho e na precisão do modelo resultante. Uma engenharia de caraterísticas eficaz pode ser a diferença entre um modelo medíocre e um modelo altamente preciso, produzindo muitas vezes ganhos de desempenho mais significativos do que a escolha de um algoritmo diferente ou a afinação extensiva de hiperparâmetros.

## O processo de engenharia de caraterísticas

A engenharia de caraterísticas é simultaneamente uma arte e uma ciência, combinando conhecimentos do domínio com técnicas matemáticas. O processo pode ser dividido em várias actividades comuns, muitas vezes geridas utilizando bibliotecas como o módulo de pré-processamento do scikit-learn ou ferramentas especializadas para a engenharia de caraterísticas automatizada.

  • Criação de caraterísticas: Trata-se de criar novas caraterísticas a partir de caraterísticas existentes. Por exemplo, num conjunto de dados de retalho, pode subtrair uma "data de compra" de uma data "cliente desde" para criar uma caraterística "duração da fidelidade do cliente". Na análise de séries temporais, pode derivar caraterísticas como médias móveis ou sazonalidade a partir de um carimbo de data/hora.
  • Transformações: Muitas vezes, os dados em bruto precisam de ser transformados para satisfazerem os pressupostos de um algoritmo de aprendizagem automática. Isto inclui o escalonamento de caraterísticas numéricas, a aplicação de transformações logarítmicas para lidar com dados enviesados ou a utilização de técnicas como o binning para agrupar números em categorias.
  • Codificação: Muitos modelos de ML não conseguem lidar diretamente com dados categóricos. A codificação envolve a conversão de categorias baseadas em texto em representações numéricas. Os métodos comuns incluem a codificação de uma só vez, em que cada valor de categoria é convertido numa nova coluna binária, e a codificação de etiquetas.
  • Seleção de caraterísticas: Nem todas as caraterísticas são úteis. Algumas podem ser redundantes ou irrelevantes, introduzindo ruído que pode levar a um sobreajuste. A seleção de caraterísticas visa escolher um subconjunto das caraterísticas mais relevantes para melhorar o desempenho do modelo e reduzir o custo computacional.

## Aplicações no mundo real

O impacto da engenharia de caraterísticas é evidente em muitos sectores. A sua eficácia depende frequentemente de um conhecimento profundo do domínio para criar caraterísticas que captem verdadeiramente sinais preditivos.

  1. Pontuação de crédito: Em finanças, os dados brutos do cliente podem incluir rendimento, idade e historial de empréstimos. Um engenheiro de funcionalidades pode criar novas variáveis como "rácio dívida/rendimento" (dividindo a dívida total pelo rendimento bruto) ou "utilização de crédito" (dividindo o saldo do cartão de crédito pelo limite de crédito). Estas caraterísticas concebidas fornecem um sinal muito mais claro da saúde financeira de uma pessoa do que apenas os números brutos, conduzindo a modelos de risco de crédito mais exactos.
  2. Manutenção Preditiva: No fabrico, os sensores nas máquinas produzem vastos fluxos de dados em bruto, como vibração, temperatura e velocidade de rotação. Para prever falhas, um engenheiro pode criar caraterísticas como a "média móvel da temperatura nas últimas 24 horas" ou o "desvio padrão da vibração". Estas caraterísticas podem revelar padrões subtis de degradação que precedem uma falha mecânica, permitindo uma manutenção proactiva e evitando tempos de inatividade dispendiosos.

## Engenharia de recursos vs. conceitos relacionados

É importante distinguir a engenharia de caraterísticas dos termos relacionados na IA e na ciência dos dados.

  • Engenharia de caraterísticas vs. Extração de caraterísticas: A engenharia de caraterísticas é um processo largamente manual de criação de novas caraterísticas com base na intuição e na experiência. A extração de caraterísticas é normalmente um processo automatizado de transformação de dados num conjunto reduzido de caraterísticas. Na aprendizagem profunda, modelos como as Redes Neuronais Convolucionais (CNN) realizam automaticamente a extração de caraterísticas, aprendendo caraterísticas hierárquicas (arestas, texturas, formas) a partir de dados brutos de pixéis sem intervenção humana.
  • Engenharia de caraterísticas vs. Embeddings: Os Embeddings são uma forma sofisticada e aprendida de representação de caraterísticas, comum na PNL e na visão computacional. Em vez de criar manualmente caraterísticas, um modelo aprende um vetor denso que capta o significado semântico de um item (como uma palavra ou uma imagem). Por conseguinte, os embeddings são o resultado da aprendizagem automatizada de caraterísticas e não da engenharia manual.
  • Engenharia de caraterísticas vs. Pré-processamento de dados: O pré-processamento de dados é uma categoria mais ampla que inclui a engenharia de caraterísticas como uma das suas principais etapas. Também engloba outras tarefas essenciais, como a limpeza de dados (tratamento de valores em falta e outliers) e a preparação de conjuntos de dados para formação.

Embora as arquitecturas modernas, como as dos modelos Ultralytics YOLO, automatizem a extração de caraterísticas para tarefas baseadas em imagens, como a deteção de objectos e a segmentação de instâncias, os princípios da engenharia de caraterísticas continuam a ser fundamentais. Compreender como representar os dados de forma eficaz é crucial para depurar modelos, melhorar a qualidade dos dados e resolver problemas complexos que envolvem a combinação de dados visuais com dados estruturados. Plataformas como o Ultralytics HUB fornecem ferramentas para gerir todo este ciclo de vida, desde a preparação do conjunto de dados até à implementação do modelo.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência