Engenharia de recursos - Feature engineering
Parte de uma série sobre |
Aprendizado de máquina e mineração de dados |
---|
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
- Covariate
- Transformação de dados
- Extração de recursos
- Aprendizagem de recursos
- Truque de hash
- Método de kernel
- Lista de conjuntos de dados para pesquisa de aprendizado de máquina
- Mapeamento do espaço
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.