Você não precisa de conhecimento de domínio (o conhecimento do que seus dados significam ) para realizar a engenharia de recursos (encontrando maneiras mais expressivas de enquadrar seus dados).
Como Tu N. explicou , você pode encontrar combinações "rápidas e sujas" de recursos que podem ser úteis com bastante facilidade. Dada uma saída e uma característica individuais x , você pode tomar as seguintes transformações, x ' ∈ { e x , log ( x ) , x 2 , x 3 , tanh ( x ) } . Uma verificação rápida da utilidade da transformação é se a correlação entre { y , x ′ } for maior que a correlação entreyxx′∈{ex,log(x),x2,x3,tanh(x)}{y,x′} .{y,x}
Aviso sobre correlação: a correlação não mostra tudo e, dependendo do modelo que você está usando (altamente não linear, como NN ou RF) e interação com outras variáveis, uma alteração na correlação pode não significar nada.
No entanto, se você estiver usando um modelo linear simples como regressão logística, é um bom indicador de desempenho. A melhor maneira de avaliar essa transformação, no entanto, conforme observado por Fokhruz Zaman , seria construir um modelo com e sem o recurso transformado e ver como evolui o erro de validação (nas dobras de validação cruzada).
É bastante fácil identificar transformações de recurso único dessa maneira. Eles se aplicam a muitos dados, onde uma relação mais expressiva entre sua entrada e saída pode estar em uma escala diferente. Por exemplo, a relação entre Renda e "Felicidade" parece ser logarítmica, mas você nunca registraria diretamente o registro de uma renda participante.
DD2
Pode ser difícil interpretar a representação interna de um NN, ou mesmo interpretar a importância do recurso em uma Floresta Aleatória. Um método mais fácil e provavelmente mais adequado para essa finalidade, seria o Boosting com árvores de decisão. Existem muitas bibliotecas implementando o Boosting, e se você estiver na competição do Kaggle como sua publicação parece sugerir, o XGBoost parece ser usado por muitos participantes, então você pode encontrar alguma ajuda / tutoriais sobre o que vou descrever.
Primeiro, execute seu algoritmo de aumento usando apenas tocos , árvores de decisão de um nível. Os tocos são muito fracos, mas o Boosting o torna um modelo razoável. Isso atuará como sua linha de base. Dependendo da biblioteca que você está usando, você deve poder exibir com facilidade quais são os recursos mais utilizados e plotá-los contra a resposta (ou fazer um histograma se a resposta for categórica) para identificar algum padrão. Isso pode lhe dar uma intuição sobre o que seria uma boa transformação de recurso único.
Em seguida, execute o algoritmo Boosting com árvores de decisão de dois níveis. Este modelo é muito mais complexo que o anterior; se duas variáveis juntas tiverem mais poder do que as tomadas individualmente, esse modelo deverá superar a anterior (novamente, não em termos de erro de treinamento, mas de erro de validação!). Com base nisso, você deve conseguir extrair qual variável é frequentemente usada em conjunto e isso leva a possíveis transformações de vários recursos.
Em material relacionado, eu recomendaria os seguintes vídeos, pois são fáceis de seguir
Você poderia explicar mais com exemplos específicos sobre sua declaração a seguir?
Não tenho certeza de como você pode fazer a Engenharia de recursos sem entender bem o seu conjunto de dados e os atributos fornecidos!
Os dados tabulares são descritos em termos de observações ou instâncias (linhas) compostas de variáveis ou atributos (colunas). Um atributo pode ser um recurso.
"A idéia de um recurso, separada de um atributo, faz mais sentido no contexto de um problema. Um recurso é um atributo útil ou significativo para o seu problema. É uma parte importante de uma observação para aprender sobre a estrutura de um problema. o problema que está sendo modelado.
Na visão computacional, uma imagem é uma observação, mas um recurso pode ser uma linha na imagem.
No processamento de linguagem natural, um documento ou um tweet pode ser uma observação e uma contagem de frase ou palavra pode ser um recurso.
No reconhecimento de fala, um enunciado pode ser uma observação, mas um recurso pode ser uma única palavra ou fonema. "
Visite o seguinte URL para mais:
Descubra a engenharia de recursos, como projetar recursos e como se tornar bom nisso
fonte