Engenharia de recursos - Feature engineering

Engenharia de recursos é o processo de usar o conhecimento de domínio para extrair recursos (características, propriedades, atributos) de dados brutos .

Um recurso é uma propriedade compartilhada por unidades independentes nas quais a análise ou previsão deve ser feita.

Os recursos são usados ​​por modelos preditivos e influenciam os resultados.

A engenharia de recursos foi empregada em competições Kaggle e projetos de aprendizado de máquina.

Processo

O processo de engenharia de recursos é:

  • Brainstorming ou teste de recursos;
  • Decidir quais recursos criar;
  • Criação de recursos;
  • Testar o impacto dos recursos identificados na tarefa;
  • Melhorar seus recursos, se necessário;
  • Repetir.

Características típicas de engenharia

A lista a seguir fornece algumas maneiras típicas de projetar recursos úteis

  • Transformações numéricas (como frações ou dimensionamento)
  • Codificador de categoria como codificador one-hot ou de destino (para dados categóricos )
  • Clustering
  • Valores agregados do grupo
  • Análise de componentes principais (para dados numéricos)

Relevância

Os recursos variam em importância. Mesmo recursos relativamente insignificantes podem contribuir para um modelo. A seleção de recursos pode reduzir o número de recursos para evitar que um modelo se torne muito específico para o conjunto de dados de treinamento (overfitting).

Explosão

A explosão de recursos ocorre quando o número de recursos identificados aumenta inadequadamente. As causas comuns incluem:

  • Modelos de recursos - implementando modelos de recursos em vez de codificar novos recursos
  • Combinações de recursos - combinações que não podem ser representadas por um sistema linear

A explosão de recursos pode ser limitada por meio de técnicas como: regularização , método de kernel e seleção de recursos .

Automação

A automação da engenharia de recursos é um tópico de pesquisa que remonta à década de 1990. O software de aprendizado de máquina que incorpora engenharia de recursos automatizados está disponível comercialmente desde 2016. A literatura acadêmica relacionada pode ser dividida em dois tipos:

  • O aprendizado de árvore de decisão multi-relacional (MRDTL) usa um algoritmo supervisionado que é semelhante a uma árvore de decisão .
  • Deep Feature Synthesis usa métodos mais simples.

Aprendizagem de árvore de decisão multi-relacional (MRDTL)

MRDTL gera recursos na forma de consultas SQL, adicionando sucessivamente cláusulas às consultas. Por exemplo, o algoritmo pode começar com

SELECT COUNT(*) FROM ATOM t1 LEFT JOIN MOLECULE t2 ON t1.mol_id = t2.mol_id GROUP BY t1.mol_id

A consulta pode então ser refinada sucessivamente adicionando condições, como "WHERE t1.charge <= -0,392".

No entanto, a maioria dos estudos MRDTL baseiam as implementações em bancos de dados relacionais, o que resulta em muitas operações redundantes. Essas redundâncias podem ser reduzidas usando truques como a propagação de id de tupla. A eficiência pode ser aumentada usando atualizações incrementais, o que elimina redundâncias.

Deep Feature Synthesis

O algoritmo Deep Feature Synthesis venceu 615 de 906 equipes humanas em uma competição.

Bibliotecas:

  • Featuretools.
  • OneBM
  • ExploreKit.

[OneBM] ajuda os cientistas de dados a reduzir o tempo de exploração de dados, permitindo que eles tentem e errem muitas ideias em um curto espaço de tempo. Por outro lado, permite que não especialistas, que não estão familiarizados com a ciência de dados, extraiam valor rapidamente de seus dados com pouco esforço, tempo e custo.

Lojas de artigos especiais

Um armazenamento de recursos inclui a capacidade de armazenar o código usado para gerar recursos, aplicar o código a dados brutos e servir esses recursos aos modelos mediante solicitação. Recursos úteis incluem controle de versão de recursos e políticas que regem as circunstâncias em que os recursos podem ser usados.

Os armazenamentos de recursos podem ser ferramentas de software independentes ou integrados a plataformas de aprendizado de máquina. Por exemplo, a Feast é uma loja de recursos de código aberto, enquanto plataformas como o Michelangelo da Uber usam lojas de recursos como um componente.

Veja também

Referências

Leitura adicional

  • Boehmke, Bradley; Greenwell, Brandon (2019). "Engenharia de recursos e objetivos". Hands-On máquina de aprendizagem com R . Chapman & Hall. pp. 41–75. ISBN 978-1-138-49568-5.
  • Zheng, Alice; Casari, Amanda (2018). Engenharia de recursos para aprendizado de máquina: princípios e técnicas para cientistas de dados . O'Reilly. ISBN 978-1-4919-5324-2.
  • Zumel, Nina; Mount, John (2020). "Engenharia de dados e modelagem de dados". Practical Data Science with R (2ª ed.). Tripulação. pp. 113–160. ISBN 978-1-61729-587-4.