Engenharia de Atributos
Aumente a precisão do machine learning com a engenharia de atributos especializada. Aprenda técnicas para criar, transformar e selecionar atributos impactantes.
A engenharia de caraterísticas é a arte e a ciência de tirar partido do conhecimento do domínio para transformar dados brutos em atributos informativos
atributos informativos que representam o problema subjacente de forma mais eficaz para os modelos de previsão. No âmbito mais alargado da
aprendizagem automática (ML), os dados em bruto raramente estão prontos
para processamento imediato; muitas vezes contêm ruído, valores em falta ou formatos que os algoritmos não podem interpretar
diretamente. Ao criar novas caraterísticas ou modificar as existentes, os engenheiros podem melhorar significativamente a
melhorar significativamente a precisão e o desempenho do modelo, obtendo frequentemente
resultados melhores do que simplesmente passar para um algoritmo mais complexo. Este processo preenche a lacuna entre a informação bruta
recolhida e a representação matemática necessária para a
modelação preditiva.
Técnicas fundamentais de engenharia de caraterísticas
O processo envolve normalmente várias etapas iterativas concebidas para expor os sinais mais relevantes nos dados. Embora
ferramentas como a bibliotecaPandas em Python facilitem estas manipulações, a
estratégia depende muito da compreensão do domínio específico do problema.
-
Imputação e limpeza: Antes de criar novas caraterísticas, os dados devem ser estabilizados. Isto implica
tratamento de valores em falta através de
técnicas de limpeza de dados, como o preenchimento de lacunas com
com a média, mediana ou um valor previsto - um processo conhecido como
imputação.
-
Transformação e escalonamento: Muitos algoritmos têm um desempenho fraco quando as variáveis de entrada têm
escalas muito diferentes. Técnicas como
normalização (escalonamento dos dados para um intervalo de 0 a 1)
ou a normalização (centrar os dados em torno da média) asseguram que nenhuma caraterística única domina o processo de aprendizagem
devido apenas à sua magnitude.
-
Codificação de dados categóricos: Os modelos requerem geralmente dados numéricos. A engenharia de caraterísticas envolve
conversão de etiquetas de texto ou
dados categóricos em
números. Os métodos comuns incluem a codificação de etiquetas e
codificação de um ponto, que cria colunas binárias para cada categoria.
-
Construção de caraterísticas: Este é o aspeto criativo em que são derivadas novas variáveis. Por exemplo, num
um conjunto de dados imobiliários, em vez de utilizar "comprimento" e "largura" separadamente, um engenheiro pode
multiplicá-las para criar uma caraterística de "metragem quadrada", que se correlaciona mais fortemente com o preço.
-
Seleção de caraterísticas: A adição de demasiadas caraterísticas pode levar a
sobreajuste, em que o modelo memoriza o ruído.
Técnicas como a eliminação recursiva de caraterísticas ou a
redução da dimensionalidade ajudam a identificar
e reter apenas os atributos mais impactantes.
Engenharia de caraterísticas em visão computacional
No domínio da visão por computador (CV), a engenharia de caraterísticas
assume frequentemente a forma de
aumento de dados. Embora os modelos modernos de aprendizagem profunda
aprendem automaticamente a hierarquia e os padrões, podemos "projetar" os dados de treino para serem mais robustos
simulando diferentes condições ambientais. Modificando
configurações de ajuste de hiperparâmetros para
incluir transformações geométricas permite que o modelo aprenda caraterísticas invariantes à orientação ou perspetiva.
O seguinte trecho de código demonstra como aplicar a engenharia de caraterísticas baseada em aumento durante o treinamento de um
YOLO11 modelo. Ao ajustar argumentos como
degrees e shearsintetizamos novas variações de caraterísticas a partir do conjunto de dados original.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Train with augmentation hyperparameters acting as on-the-fly feature engineering
# 'degrees' rotates images +/- 10 deg, 'shear' changes perspective
model.train(data="coco8.yaml", epochs=3, degrees=10.0, shear=2.5)
Aplicações no Mundo Real
O valor da engenharia de caraterísticas é melhor compreendido através da sua aplicação prática em diferentes sectores.
-
Avaliação do risco financeiro: No sector financeiro, os registos brutos das transacções são insuficientes para
avaliar a fiabilidade creditícia. Os peritos utilizam a
IA nas finanças
para construir rácios como "dívida/rendimento" ou "taxa de utilização do crédito". Estas caraterísticas
Estas caraterísticas fornecem um sinal direto da saúde financeira, permitindo uma
mais precisa do risco de crédito do que a utilização
salário bruto ou números de dívida isolados.
-
Manutenção Preditiva na Indústria Transformadora: Em
IA na indústria transformadora, os sensores recolhem
dados de alta frequência sobre vibração e temperatura. A introdução das leituras brutas dos sensores diretamente num modelo é frequentemente ruidosa
e ineficaz. Em vez disso, os engenheiros utilizam
análise de séries temporais para criar caraterísticas como
"temperatura média móvel da última hora" ou "desvio padrão da vibração". Estas
Estas caraterísticas agregadas captam as tendências e anomalias indicativas do desgaste da máquina muito melhor do que os
valores instantâneos.
Distinção de termos relacionados
É útil distinguir a engenharia de caraterísticas de conceitos semelhantes para evitar confusões nas discussões sobre o fluxo de trabalho.
-
Engenharia de caraterísticas vs. Extração de caraterísticas: Embora muitas vezes utilizados indistintamente, existe uma nuance.
A engenharia de caraterísticas implica um processo manual e criativo de construção de novas entradas com base no
conhecimento do domínio. Em contrapartida,
extração de caraterísticas refere-se frequentemente a métodos
métodos automatizados ou projecções matemáticas (como PCA) que destilam dados de elevada dimensão para uma representação densa. Na
aprendizagem profunda (DL), as camadas das
Redes Neuronais Convolucionais (CNN)
realizam a extração automática de caraterísticas através da aprendizagem de filtros para arestas e texturas.
-
Engenharia de caraterísticas vs. Embeddings: No moderno
processamento de linguagem natural (PNL), a criação manual de caraterísticas (como a contagem da frequência de palavras) foi largamente substituída por
embeddings. Os embeddings são representações vectoriais densas
densas aprendidas pelo próprio modelo para captar o significado semântico. Embora os embeddings sejam uma forma de caraterísticas,
são aprendidas através de
aprendizagem automática de máquinas (AutoML)
em vez de serem explicitamente "concebidos" à mão.
Ao dominar a engenharia de caraterísticas, os programadores podem criar modelos que não só são mais exactos como também mais eficientes,
exigindo menos potência computacional para obter um elevado desempenho.