Seleção de Features com Recursive Feature Elimination (RFE)

Alysson Guimarães
4 min readFeb 11, 2022
Reprodução: Pexels | https://www.pexels.com/pt-br/foto/adulto-beleza-encanto-cor-7755241/

Feature Selection

A seleção de features, ou feature selection, é parte crucial do pipeline da criação de modelos de machine learning, impacta diretamente a performace do seu modelo. Englobar todas as features não é uma boa prática e selecionar features com baixa importância também influencia o seu modelo.

Os métodos de seleção de features envolvem avaliar o relacionamento entre as variáveis de entrada e saída, para selecionar as variáveis de entrada que tem o relacionamento mais forte com a saída.

Os modelos mais complexos possuem uma alta variância, tendendo ao overfit. Já os modelos mais simples possuem um alto viés, e por sua vez, tendem ao underfit, falhando em capturar a complexidade de novos dados. Por isso é crucial balancear o viés e variância do modelo com uma seleção adequada de features.

Reprodução: Data Hackers | https://medium.com/data-hackers/o-que-%C3%A9-bias-variance-tradeoff-a5bc19866e4b

Os modelos, especialmente os de regressão, estimam seus parâmetros para cada input do modelo. Por isso a inclusão de variáveis não tão informativas além de adicionar incertezas nas previsões reduzem a eficácia geral do modelo.

As técnicas de seleção de features para modelos supervisionados são divididos em intrínsics, wrapper methods e filter methods. Os wrapper methods (como o RFE) são validados a partir da performace do modelo no dataset. Eles criam vários modelos com diferentes subconjuntos de features de entrada e selecionam deas features que trazem o melhor resultado para o modelo de acordo com uma métrica de desempenho. Ele segue a abordagem greedy search, que avalia todas as combinações possíveis de features em relação a métrica de validação, e os wrapper methods geralmente tem um poder preditivo melhor que os filter methods para selação de features.

Reprodução: Machine Learning Mastery | https://machinelearningmastery.com/feature-selection-with-real-and-categorical-data/

Diante disto, neste post falaremos sobre a seleção de features baseada no Recursive Feature Elimination (RFE)

Recursive Feature Elimination (RFE)

O RFE é um método simples e comum para selecionar as melhores ’n’ features para construção de modelos. Dado um estimador externo que atribui pesos às features (por exemplo, os coeficientes de um modelo linear), o objetivo da recursive feature elimination (RFE) é selecionar as features considerando recursivamente conjuntos cada vez menores de features. Primeiro, o estimador (modelo) é treinado no conjunto inicial de features e a importância de cada uma é obtida através de qualquer atributo específico. Em seguida, as features menos importantes são removidas do conjunto original de features. Esse procedimento é repetido recursivamente no dataset até que o número desejado de características a serem selecionadas seja obtido.

Tomando como exemplo uma regressão linear, após esta etapa, é realizado um processo iterativo de verificação de significância estatística (com base no valor P do coeficiente do modelo para uma feature) e verificação de multicolinearidade (com base no Variance Inflation Factor ou VIF) para seleção das features. Para o algoritmo RFE, é necessário especificar o número exato de recursos a serem selecionados para o desenvolvimento do modelo, mas com o uso da validação cruzada essa etapa pode ser automatizada.

--

--

Alysson Guimarães

Data Scientist. MBA Competitive Intelligence, Bachelor of Business Administration.