Para muitas empresas, os dados representam uma onda avassaladora de informações. A confusão caótica afeta o crescimento e dificulta alcançar resultados de negócios. Com a engenharia de recursos, organizações conseguem dar sentido aos dados e transformá-los em ativos valiosos.

A engenharia de recursos, ou feature engineering, envolve o processo de aplicar o conhecimento de domínio dos dados, criando recursos que ajudam algoritmos de machine learning a aprender melhor. Em geral, isso ocorre após a coleta e limpeza dos dados, e antes do treinamento dos modelos.

A engenharia de recursos é uma das etapas incorporadas ao fluxo de trabalho do ML, que incluem:

  1. Coleta de dados
  2. Limpeza de dados
  3. Aplicação da engenharia de recursos
  4. Definição do modelo
  5. Treinamento do modelo
  6. Execução de testes
  7. Previsão da saída

Grande parte das informações usadas pela inteligência artificial (IA) estão presentes em tabelas. Cada linha é uma observação e uma coluna é um recurso. Muitas vezes, os dados são complexos, irrelevantes, ausentes ou duplicados.

A engenharia de recursos possibilita transformar os dados em um formato capaz de descrever com mais precisão o problema subjacente. Ela consegue tornar os dados mais digeríveis os classificando em categorias, para reproduzir uma sequência finita de instruções definidas, ou substituir valores ausentes com parâmetros adequados.

Esse processo de transformação dos dados com engenharia de recursos é considerado a verdadeira união da arte e da ciência. Por exemplo, uma empresa pode desejar prever casos de fraude. Transações brutas com carimbo de data e hora podem ser introduzidas ao software de IA, mas o resultado talvez não seja relevante ou acionável. Contudo, um pouco de conhecimento do domínio é capaz de auxiliar o cientista de dados. Ao aplicar a experiência no varejo, o especialista pode criar um recurso que diferencia dias úteis do fim de semana, visto que as atividades e vendas aumentam nesse período. Quando esse contexto é definido manualmente, os modelos conseguem detectar anomalias com mais precisão e menos falsos positivos. Essa é a "obra prima" da engenharia de recursos.

Quando usada corretamente, a engenharia de recursos amplifica o poder preditivo de algoritmos de machine learning (ML). Isso é possível graças à modelagem dos dados brutos, que alimentam e facilitam o processo de ML. Inclusive, pode ser o diferencial entre um modelo adequado ou desfavorável.

Aprofundando ainda mais, as etapas da engenharia de recursos envolvem os seguintes processos:

  • Brainstorming de novos e potenciais recursos para o modelo
  • Criação de recursos
  • Avaliação da eficácia desses recursos sobre o desempenho do modelo
  • Iteração, correções e ajustes, conforme necessário
  • Desenvolvimento de recursos compatíveis com o modelo

A engenharia de recursos não deve ser considerada uma etapa isolada. Ela pode ser aplicada durante todo o ciclo de vida de projetos de data science para limpar os dados ou melhorar os resultados existentes. A engenharia de recursos consiste em um processo iterativo, interligado entre a seleção de dados, avaliação e revisão do modelo. Esse processo persiste até os dados apresentarem um formato digerível pelos modelos de ML, habilitando a produção de resultados acionáveis.

 

Exemplos de engenharia de recursos para machine learning

Algoritmos de ML aprendem soluções para problemas específicos usando dados de amostra. A engenharia de recursos ajuda empresas a organizar a distribuição desses dados, permitindo o treinamento do modelo para solucionar qualquer um desses problemas.

Na engenharia de recursos, representações e relações são fundamentais, com quatro estratégias comuns:

– Reamostragem de dados assimétricos
– Criação de novos recursos
– Correção de valores ausentes
– Detecção de outliers

Reamostragem de dados assimétricos

Normalmente, dados no formato bruto são desbalanceados. Muitas vezes, é possível utilizar técnicas de validação para solucionar o problema. Porém, quando esse desbalanceamento é significativo, ele pode afetar os resultados. A engenharia de recursos consegue gerar amostras automaticamente nos grupos minoritários. Essas amostras ajudam a tratar a variabilidade ou imprecisão dos dados.

Criação de novos recursos

A criação de novos recursos pode exigir apenas a restruturação dos dados em um formato diferente para corresponder ao contexto em questão. Por exemplo, uma empresa pode transformar horários de partida e chegada de trens em tempo total do percurso. Combinar carimbos de data/hora em um novo recurso habilita o algoritmo a se adaptar às necessidades da empresa e gerar resultados mais acionáveis

Usuários também podem combinar recursos úteis, pouco representativos de forma isolada, para criar um recurso capaz de ajudar a máquina a aprender com mais facilidade. No setor de saúde, por exemplo, onde existem diversos fatores de risco, mas que por si só, não apontam a probabilidade de uma ocorrência médica. Características como idade, hipertensão e tabagismo não preveem riscos de AVC se forem observadas separadamente, ao contrário dos três fatores juntos.

A seleção de recursos consiste em escolher os fatores independentes mais adequados e relacionados com o atributo determinante. A combinação de todos esses elementos ajuda a impulsionar o desempenho do modelo preditivo. Mapas de calor, seleção univariada e ExtraTreesClassifier são métodos testados e comprovados para identificar recursos compatíveis de forma eficaz.

A engenharia de recursos também facilita a escolha e criação de buckets para permitir que a máquina mapeie os dados relevantes com precisão até o bucket indicado. Isso inclui a limpeza e eliminação de traços e ruídos desfavoráveis que aprimoram o funcionamento do modelo.

Correção de valores ausentes

Valores ausentes são um problema constante nos dados, mas existem inúmeros mecanismos para tratar essa questão durante o processo de limpeza dos dados.

Além disso, há também diversas técnicas avançadas, capazes de aproveitar os dados disponíveis para reproduzir valores ocultos com precisão e preencher o conjunto de dados, garantindo que as informações estejam no formato ideal para os modelos.

Um desses métodos é a remoção de dados. Com isso, é possível eliminar dados de amostras com valores ausentes. Esse procedimento é mais indicado quando apenas algumas amostras estão incompletas. O desafio desse método é quando o conjunto de dados possui uma quantidade expressiva de valores ocultos.

Outra técnica envolve a substituição de dados faltantes por uma variável média ou mediana. Essa metodologia ajuda a lidar com a ausência de dados, mas também pode distorcer os resultados. Quando os dados possuem uma distribuição gaussiana, os valores ausentes podem ser imputados (um modelo dentro de um modelo) para corresponderem à distribuição normal.

Esses são os dois métodos principais. Apesar de existir outras opções para executar o processo, a eliminação de dados ou a imputação de variáveis são as práticas mais recomendadas.

Detecção de anomalias

A detecção de outliers é outro processo que atravessa a barreira da limpeza/engenharia. Durante o processo de limpeza, a IA é capaz de eliminar qualquer outlier, indicando possíveis erros ou amostras insignificativas dos dados. Contudo, essa é uma ferramenta sem precisão e pode ignorar informações essenciais.

Na data science, os fatores determinantes para o desempenho do modelo são o tratamento e o processamento de dados. Um modelo sem o controle adequado pode gerar uma taxa de acurácia em torno de 70%. Ao aplicar a engenharia de recursos ao mesmo modelo, os resultados podem melhorar substancialmente.

Mas uma boa compreensão dos dados ainda é imprescindível para a engenharia de recursos, pois permite que o cientista de dados possa definir padrões envolvendo a lógica de dados. Por exemplo, uma empresa pode ter um cliente com 100 anos de idade, mas definitivamente não com 1.000 anos. A máquina pode desconsiderar esses dois pontos de dados, enquanto um cientista de dados sabe que o zero extra é provavelmente um erro de entrada.

Essa parte do processo da engenharia de recursos pode ser demorada, desgastante e depender da habilidade e conhecimentos do domínio do cientista de dados. Por isso, alguns consideram a engenharia de recursos no ML como nada menos que uma forma de arte.

Benefícios da engenharia de recursos

O desempenho dos modelos de IA e ML dependem diretamente dos dados fornecidos. A integração da engenharia de recursos no processo de modelagem ajuda a aprimorar o rendimento e a pertinência dos modelos, contribuindo para solucionar problemas concretos. Entretanto, à medida que avançar, é muito importante considerar dois aspectos:

  • Definir o problema com clareza: usando métricas adequadas e objetivas para prever a acurácia do resultado
  • Avaliar as interdependências do modelo: estruturas inerentes e subjacentes nos dados da organização. Uma estrutura sólida sempre oferece resultados superiores.

Após considerar essas questões ao selecionar ou projetar recursos, os benefícios oferecidos pela engenharia de recursos incluem:

  • Maior flexibilidade e menor complexidade dos modelos
  • Processamento com mais rapidez
  • Modelos compreensíveis e precisos
  • Modelos simplificados e fáceis de atualizar
  • Melhor compreensão do problema subjacente
  • Melhor visualização de todos os dados disponíveis e necessários para identificar o problema subjacente

Desafios da engenharia de recursos

Normalmente, os dados são desestruturados e confusos, com outliers, redundâncias e valores ausentes. Como são provenientes de múltiplas fontes, informações obsoletas e duplicadas sempre podem ocorrer. Considerando os dados como o ponto de partida para o ML, isso gera alguns desafios relacionados à engenharia de recursos:

  • Executar a limpeza, combinação e análise de grandes volumes de dados de fontes variadas
  • Organizar os dados em uma estrutura compatível, capaz de utilizar modelos e ferramentas
  • Entender o contexto e os processos de negócios para detectar padrões e facilitar a análise
  • Oferecer insights relevantes e acionáveis para a organização
  • Apresentar informações com clareza para facilitar a compreensão dos usuários, através de painéis ou gráficos
  • Controlar prazos para evitar problemas com resultados demorados, que deixam de ser aplicáveis
  • Executar processos complexos pode exigir mão de obra especializada e a colaboração de um cientista de dados

O futuro da engenharia de recursos

As tecnologias modernas têm contribuído para aprimorar os avanços da engenharia de recursos. A aprendizagem profunda como um subconjunto do ML já começou a remodelar esse processo. Autocodificadores e máquinas Boltzmann restritas demonstram ser promissoras, aprendendo a representação abstrata de recursos automaticamente.

Quanto maior a capacidade do computador de 'pensar' como seres humanos, melhor será a eficácia da engenharia de recursos. Eliminar tarefas manuais intensas de cientistas de dados e distribuí-las nas máquinas reduz restrições de custo e tempo. Isso significa que, muito em breve, formatos de dados como imagens, vídeos, objetos e voz, difíceis de entender com a IA tradicional baseada em tabelas, poderão ser interpretados por máquinas com precisão.

Novos algoritmos de ML oferecem processos cada vez mais parecidos com o pensamento humano, além de aprimoramentos na análise de recursos e na acurácia do modelo.

Mas, por enquanto, o campo ainda depende de cientistas de dados. Para interpretar os dados da melhor maneira, é necessário possuir conhecimentos de data science, bem como conhecimentos do setor ou do domínio, convertendo esse subsistema de IA em um campo especializado. A interpretação de dados é crucial para organizações que desejam obter previsões precisas, e essa é a solução perfeita para alcançar resultados concretos.

Sua organização necessita fazer previsões mais acuradas?

A plataforma de machine learning da Alteryx oferece o Deep Feature Synthesis, ou síntese profunda de recursos. Assim, você pode criar modelos mais apurados, compreendendo as relações entre os dados e identificando recursos importantes.

Esses algoritmos são um divisor de águas para empresas que necessitam de modelos avançados a fim de esclarecer problemas, impulsionar a tomada de decisões e desenvolver estratégias futuras.

Próximo termo
O AutoML