Gostaria de executar algum modelo de aprendizado de máquina como floresta aleatória, aumento de gradiente ou SVM no meu conjunto de dados. Existem mais de 200 variáveis preditivas no meu conjunto de dados e minhas classes de destino são uma variável binária.
Preciso executar a seleção de recursos antes do ajuste do modelo? Isso afeta significativamente o desempenho do modelo ou não há muita diferença se eu ajustar diretamente o modelo usando todas as variáveis preditoras?
Respostas:
A seleção de recursos pode ser considerada um estágio a ser evitado. Você precisa gastar tempo de computação para remover recursos e realmente perder dados, e os métodos necessários para a seleção de recursos não são ideais, pois o problema é NP-Complete . Usá-lo não soa como uma oferta que você não pode recusar.
Então, quais são os benefícios de usá-lo?
Agora, para o seu caso específico: recomendo que você comece a calcular as correlações entre os recursos e o conceito. A correlação computacional entre todos os recursos também é informativa. Observe que existem muitos tipos de correlações úteis (por exemplo, Pearson , informações mútuas ) e muitos atributos que podem afetá-las (por exemplo, escassez, desequilíbrio de conceito). Examiná-los em vez de optar cegamente por um algoritmo de seleção de recursos pode economizar muito tempo no futuro.
Não acho que você tenha muitos problemas de tempo de execução com seu conjunto de dados. No entanto, a proporção de amostras / recursos não é muito alta; portanto, você pode se beneficiar da seleção de recursos.
Escolha um classificador de baixa complexidade (por exemplo, regressão linear, uma pequena árvore de decisão) e use-o como referência. Experimente no conjunto completo de dados e em alguns conjuntos de dados com um subconjunto dos recursos. Essa referência guiará você no uso da seleção de recursos. Você precisará dessas orientações, já que existem muitas opções (por exemplo, o número de recursos a serem selecionados, o algoritmo de seleção de recursos) e, uma vez que o objetivo geralmente é a predicação e não a seleção de recursos, para que o feedback esteja a pelo menos um passo.
fonte
Publiquei uma pergunta muito semelhante no Cross Validated há alguns meses e recebi um número muito grande de respostas. Leia as respostas e os comentários.
/stats/215154/variable-selection-for-predictive-modeling-really-needed-in-2016
fonte
Sim, a seleção de recursos é uma das tarefas mais cruciais para os problemas de aprendizado de máquina, depois de realizar a limpeza e manipulação de dados. você pode encontrar as funções que implementam o processo de seleção de recursos usando a importância do recurso XGBOOST aqui.
https://github.com/abhisheksharma4194/Machine-learning
fonte