Como selecionar as melhores variáveis para melhorar o seu modelo?

Vinicius Hora
Data Hackers
3 min readNov 23, 2023

--

Recentemente em um de meus projetos, precisei construir um modelo de crédito a partir de um Dataset com mais de 100 variáveis disponíveis. A partir daí, surgiu a pergunta, qual dessas variáveis devo utilizar?

Existem 3 principais formas de selecionar as melhores variáveis para a construção de um modelo e são elas:

Embedded methods

São métodos de seleção baseados em algoritmos que possuem métodos específicos de seleção para as features, variando a cada modelo.

Os 2 maiores expoentes dessa metodologia são:

  • Lasso (Least Absolute Shrinkage and Selection Operator) ao qual buscar a partir de uma regressão, incentiva os coeficientes dos inputs a 0, o que faz com que aqueles com coeficientes estatisticamente diferente de 0 sejam selecionados para a construção do modelo. referência
  • Tree-based, que é basicamente um algoritmo de Random Forest , ao qual as diferentes árvores geradas irão possuir diferentes combinações dos inputs iniciais, separando as amostras em 2 diferentes conjuntos a cada avanço. Assim, ao final das decisões, mede-se o nível de impurity de cada uma das árvores geradas, chegando assim ao nível de importância das features. referência

Filter methods

A partir de métricas e técnicas estatísticas, é possível inferir quais dos inputs disponíveis possuem a maior probabilidade de interferir nos valores da variável alvo. Apesar dos inúmeros testes estatísticos possíveis que podem ser aplicados, para este artigo foram selecionados 3:

  • Teste de Chi-Quadrado, para este teste, deve ser selecionadas duas variáveis categóricas, a fim de medir o seu nível dependência entre elas. Sendo assim, o teste deve ser realizado buscando entender o nível de dependência entre o input e a variável target, possibilitando a escolha de características que apresentaram evidências de influência na variável alvo.
  • ANOVA-F, diferente do teste anterior, este é utilizado entre 2 variáveis contínuas. A partir da relação entre os diferentes grupos, utilizando a diferença entre as médias, é possível inferir quais dos inputs possuem maior importância para a variação do alvo.
  • Testes de correlação, ao qual medem o nível de dispersão entre o input e o target, medindo a variação de ambos no tempo, revelando se existe alguma relação entre elas, seja positiva ou negativa. A correlação pode variar entre -1 e 1, assim, valores próximos a 0 indicam que as variáveis não estão diretamente relacionadas e quanto mais próximos de 1 ou -1, indicam forte relação entre elas, seja positiva ou negativa, respectivamente. Sendo assim, exclui-se as variáveis próximas a 0 e mantem aquelas mais próximas aos extremos.

Wrapper methods

Utiliza métodos de Machine Learning, que coloca como problema de pesquisa a seleção de um conjunto de variáveis, de acordo com uma métrica de performance específica, ditada pelo cientista.

  • Recursive Feature Elimination (RFE — Scikit Learn), de acordo com a própria documentação do scikit, o objetivo desse algoritmo é de selecionar as variáveis, a partir de diferentes conjuntos, ao qual se afunila ao longo do tempo, estimando um coeficiente para cada um dos conjuntos, ao qual ao final chega-se a um coeficiente de importância de cada uma das variáveis, podendo assim selecionar as que deseja.

Conclusão

A partir dos métodos apresentados, é possível solucionar o problema de seleção de features a partir de um dataset com inúmeras características disponíveis para a avaliação, o que acaba se tornando um problema do cotidiano, ainda mais em situações em que uma empresa se encontra em um alto nível de maturidade de dados, coletando informações que não necessariamente se encaixe para o problema em questão, podendo até mesmo prejudicar o nível de acurácia do modelo.

--

--

Vinicius Hora
Data Hackers

Busco contribuir com o seu desenvolvimento pessoal e contribuir/auxiliar em projetos que façam a diferença no mundo 🚀💻