Eu estou querendo saber se existem algoritmos (talvez algoritmos genéticos) em R para construção de recursos (derivados de preditores candidatos de preditores existentes)? Estou pensando em uma rotina para testar potências, interações, proporções e combinações lineares de ordem superior e funções não lineares de variáveis existentes (sin, cos, atan etc.).
Pode ser uma rotina de filtro ou invólucro (ou seja, não usar um algoritmo de aprendizado ou um para definir a adequação do recurso).
Meu objetivo é "descobrir" proporções potencialmente significativas e similares dos preditores existentes.
Obrigado!
Respostas:
Parece-me que isso o deixaria altamente vulnerável a problemas como correlação espúria e até superajustamento. Esqueço o nome do princípio que afirma que quanto mais modelos você tenta, maior o risco de se deparar com um modelo ruim - se você tentar tantos modelos para realmente executar um algoritmo genético, poderá imaginar como esse princípio é violado.
fonte
Você poderia fazer o seguinte: a partir de um data.frame, você adiciona um conjunto 'razoável' de preditores transformados ou até interações aos seus dados (model.matrix e similares devem ser capazes de fazer isso).
Uma vez lá, qualquer método de seleção de variáveis pode funcionar.
glmnet
vem à mente, mas há muitas opções. Uma desvantagem dessa maneira de trabalhar é que será difícil garantir que o principal efeito esteja no modelo quando houver uma interação. Talvez algumas formas de seleção de variáveis apóiam isso, mas não conheço outras que sejam óbvias além dos procedimentos passo a passo (que desafiariam o propósito).fonte
Você pode começar com algo simples, como encontrar componentes principais ou componentes independentes . Você também pode ficar um pouco louco e gerar todas as interações bidirecionais de suas variáveis. Obviamente, à medida que você gera e testa mais recursos, você precisa de um algoritmo de seleção de recursos que seja mais robusto contra o ajuste excessivo.
Alguns algoritmos de modelagem, como MARS , florestas aleatórias e SVMs não lineares, encontram automaticamente determinadas interações entre seus recursos originais.
fonte