Eliminação de recursos recursivos: o que é e por que é importante?

Publicados: 2023-03-27

Os dados são a espinha dorsal da tomada de decisões moderna, e as empresas estão sempre procurando maneiras de extrair insights valiosos deles. O aprendizado de máquina é uma das técnicas mais comuns implantadas nas organizações para análise de dados, que envolve treinamento de algoritmos para fazer previsões com base em dados históricos. No entanto, nem todos os recursos em um conjunto de dados são criados iguais e alguns podem ter um impacto maior no desempenho do modelo do que outros.

A eliminação recursiva de recursos é uma técnica popular de análise de dados usada para identificar e eliminar recursos irrelevantes ou redundantes de um conjunto de dados, melhorando a precisão e a eficiência do modelo de aprendizado de máquina.

Obtenha a Certificação de Machine Learning das melhores universidades do mundo. Ganhe programas de certificação Master, Executive PGP ou Advanced para acelerar sua carreira.

Neste artigo, exploraremos o que é a eliminação recursiva de recursos , como ela funciona e por que é importante para as empresas que buscam extrair insights significativos de seus dados.

Índice

Quais são as diferentes técnicas para seleção de recursos?

A seleção de recursos é uma etapa crucial no aprendizado de máquina que envolve a seleção dos atributos mais relevantes de um conjunto de dados para criar um modelo que prevê resultados com precisão. No entanto, selecionar os recursos certos nem sempre é simples. Existem muitas técnicas diferentes, cada uma com seus pontos fortes e fracos. Vamos dar uma olhada em alguns deles!

Métodos de filtro

Os métodos de filtro selecionam recursos criados em propriedades estatísticas, como sua correlação com a variável ou variação de destino. Esses métodos são computacionalmente eficientes e podem ser aplicados antes do treinamento do modelo. Exemplos de métodos de filtro incluem o teste Qui-quadrado, seleção de recurso baseada em correlação e limite de variância.

Métodos de wrapper

Os métodos wrapper selecionam recursos avaliando o desempenho de um modelo de aprendizado de máquina com um subconjunto de recursos. Esses métodos são computacionalmente caros, mas podem levar a um melhor desempenho do modelo. Exemplos de métodos wrapper incluem eliminação recursiva de recursos, seleção direta e eliminação reversa.

Métodos incorporados

Para métodos incorporados, a seleção de recursos ocorre durante o treinamento. Esses métodos incluem técnicas como Lasso e Ridge Regression, que adicionam penalidades aos coeficientes do modelo para reduzir os recursos menos significativos a zero.

Métodos Híbridos

Os métodos híbridos combinam diferentes técnicas de seleção de recursos para obter melhores resultados. Esses métodos costumam ser mais eficazes do que usar apenas uma abordagem. Exemplos de métodos híbridos incluem ReliefF e Random Forest Feature Selection.

Em essência, a escolha da técnica de seleção de recursos depende do problema específico, conjunto de dados e recursos computacionais disponíveis.

Agora, vamos nos aprofundar em um dos métodos wrapper mais cruciais para a eliminação de recursos, a Eliminação Recursiva de Recursos.

O que é eliminação recursiva de recursos?

Recursive Feature Elimination (RFE) é um método wrapper que elimina recursivamente os recursos e constrói um modelo sobre os restantes. Ele classifica os recursos com base na importância e elimina os menos importantes até que o número desejado de recursos seja alcançado. O RFE é um processo iterativo que funciona da seguinte maneira:

  1. Treine o modelo em todos os recursos e classifique-os com base em sua importância.
  2. Elimine o recurso menos importante.
  3. Treine repetidamente o modelo nos recursos restantes e elimine o recurso menos significativo até que o número desejado de recursos seja alcançado.

O RFE considera a interação entre os recursos e seu impacto no desempenho do modelo.

Para entender como o RFE funciona, vamos considerar um exemplo.

Suponha que tenhamos um conjunto de dados de preços de imóveis com dez características diferentes, incluindo o número de quartos, a metragem quadrada e a idade da casa. Queremos construir um modelo de aprendizado de máquina para prever o preço de uma casa com base nesses recursos. No entanto, suspeitamos que alguns dos recursos podem não ser importantes e podem até prejudicar o desempenho do modelo.

Podemos usar o RFE para identificar os recursos mais relevantes treinando o modelo com todos os recursos e, em seguida, eliminando recursivamente os menos importantes até atingirmos o subconjunto ideal. O RFE treina o modelo durante cada iteração e avalia seu desempenho usando um conjunto de validação cruzada.

Por exemplo, o RFE pode determinar que o número de quartos, a metragem quadrada e a localização são os recursos mais críticos para prever os preços das casas. Em contraste, outras características, como a idade da casa, têm pouco impacto na precisão do modelo.

Por que o RFE entrou em cena? O que isso resolve?

À medida que o aprendizado de máquina se tornou mais prevalente, os cientistas de dados perceberam que alguns recursos podem ser irrelevantes ou redundantes, enquanto outros podem afetar significativamente a precisão do modelo. Isso deu origem a um dos métodos essenciais para a construção de modelos eficientes de aprendizado de máquina - a técnica de seleção de recursos de eliminação recursiva de recursos.

A eliminação recursiva de recursos (RFE) foi introduzida para abordar algumas das limitações dos métodos existentes, enquanto emergia como um método wrapper que recursivamente remove recursos e avalia seu impacto no desempenho do modelo. O processo continua até que o número ideal de recursos seja alcançado.

O RFE resolve vários problemas encontrados pelas técnicas tradicionais de seleção de recursos.

  • O RFE é uma abordagem de seleção reversa que começa com todos os recursos e, em seguida, remove os menos importantes iterativamente. Essa abordagem é superior à seleção direta, que começa com o recurso menos importante e adiciona mais até que o número ideal seja alcançado.
  • O RFE evita o overfitting por validação cruzada durante o processo de seleção de recursos. O overfitting ocorre quando um modelo é muito complexo e se ajusta muito bem aos dados de treinamento, resultando em baixo desempenho em novos dados.
  • A RFE pode ser aplicada a qualquer tipo de modelo, tornando-se uma técnica versátil que pode ser utilizada em diversos cenários.

Implementando o algoritmo RFE em Python

O Python fornece várias bibliotecas que podem ser usadas para implementar o algoritmo RFE. Vamos agora dar uma olhada em alguns exemplos RFE Python.

RFE com scikit-learn

Scikit-learn é uma biblioteca popular de aprendizado de máquina em Python que fornece uma implementação simples do algoritmo RFE. O trecho de código a seguir demonstra como implementar o RFE no sci-kit-learn:

de sklearn.feature_selection importar RFE

de sklearn.linear_model import LogisticRegression

model = LogisticRegression()

rfe = RFE(modelo, n_features_to_select=5)

rfe.fit(X, y)

No trecho de código acima, primeiro importamos a classe RFE do módulo feature_selection do sci-kit-learn. Em seguida, criamos uma instância da classe LogisticRegression, que atuará como nosso estimador base. Em seguida, criamos uma instância da classe RFE, passando o estimador base e o número de recursos a serem selecionados. Em seguida, ajustamos o objeto RFE aos nossos dados e rótulos.

RFE para Classificação

Em problemas de classificação, o RFE remove recursivamente recursos e constrói um modelo sobre os recursos restantes. A classificação de recursos é baseada nas pontuações de importância de recursos calculadas pelo estimador. O trecho de código a seguir demonstra o uso de RFE para um problema de classificação:

de sklearn.datasets import make_classification

de sklearn.feature_selection importar RFE

de sklearn.tree import DecisionTreeClassifier

X, y = make_classification(n_samples=1000, n_features=10, n_informative=5, n_redundant=0, random_state=42)

modelo = DecisionTreeClassifier()

rfe = RFE(modelo, n_features_to_select=5)

rfe.fit(X, y)

print("Recursos selecionados: ", rfe.support_)

print("Classificação de recursos: ", rfe.ranking_)

No trecho de código acima, primeiro geramos um conjunto de dados sintético usando a função make_classification do sci-kit-learn. Em seguida, criamos uma instância da classe DecisionTreeClassifier, que atuará como nosso estimador base. Em seguida, criamos uma instância da classe RFE, passando o estimador base e o número de recursos a serem selecionados. Em seguida, ajustamos o objeto RFE em nossos dados e rótulos, imprimindo os recursos escolhidos e os recursos de classificação.

Hiperparâmetros RFE

O RFE possui vários hiperparâmetros que podem ser ajustados para obter melhores resultados. Alguns hiperparâmetros importantes são:

  • n_features_to_select: Este hiperparâmetro determina o número de recursos a serem selecionados.
  • etapa: Este hiperparâmetro determina o número de recursos para remover cada iteração.O valor padrão é 1, o que significa que um recurso é removido a cada iteração.
  • estimador: Este hiperparâmetro especifica o estimador base a ser usado.Por padrão, um SVM linear é usado.
  • pontuação: Este hiperparâmetro especifica a métrica a ser usada para classificação de recursos.O valor padrão é Nenhum, o que significa que o método de pontuação do estimador é usado.
  • cv : Este hiperparâmetro determina a estratégia de validação cruzada a ser usada.O valor padrão é Nenhum, o que significa que uma validação cruzada tripla é usada.

Melhores cursos de aprendizado de máquina e cursos de IA on-line

Mestrado em Aprendizado de Máquina e IA pela LJMU Programa Executivo de Pós-Graduação em Machine Learning & AI do IIITB
Programa de Certificação Avançado em Machine Learning e PNL do IIITB Programa de Certificação Avançado em Machine Learning e Deep Learning do IIITB Programa Executivo de Pós-Graduação em Ciência de Dados e Aprendizado de Máquina da Universidade de Maryland
Para explorar todos os nossos cursos, visite nossa página abaixo.
Cursos de aprendizado de máquina

Futuro da eliminação de recursos recursivos

O futuro da eliminação recursiva de recursos (RFE) parece promissor, pois continua a ser uma técnica popular para seleção de recursos em aprendizado de máquina. Com a crescente quantidade de dados gerados e a necessidade de modelos mais eficientes e precisos, a seleção de recursos está se tornando uma etapa essencial no pipeline de aprendizado de máquina.

Estudos recentes mostraram que o RFE pode melhorar significativamente o desempenho dos modelos de aprendizado de máquina, reduzindo a dimensionalidade dos dados e eliminando recursos irrelevantes ou redundantes. Por exemplo, em um estudo do NCBI , o RFE foi usado para seleção de recursos na classificação de pacientes com depressão com base em dados de ressonância magnética funcional (fMRI). Os resultados mostraram que RFE selecionou um subconjunto de características altamente correlacionadas com o diagnóstico clínico de depressão.

À medida que o campo de aprendizado de máquina continua a crescer, há uma necessidade de técnicas de seleção de recursos mais sofisticadas e eficientes. Uma área de pesquisa que está ganhando força é o uso de aprendizado profundo para seleção de recursos. No entanto, os modelos de aprendizado profundo costumam ser computacionalmente caros e exigem treinamento de dados grandes.

Em contraste, o RFE é uma técnica simples e eficaz que pode ser aplicada a vários modelos e conjuntos de dados. Portanto, é provável que o RFE continue a ser usado como uma técnica popular de seleção de recursos.

Habilidades de aprendizado de máquina sob demanda

Cursos de Inteligência Artificial Cursos Tableau
Cursos de PNL Cursos de aprendizado profundo

Conclusão

Em conclusão, a eliminação recursiva de recursos (RFE) é uma técnica eficaz para seleção de recursos em aprendizado de máquina que prevê um futuro brilhante após sua implementação em evolução. A RFE, sendo uma técnica de seleção de recursos eficaz, está alimentando seu uso em diversos domínios, como diagnóstico médico, bioinformática e análise de imagens, aumentando sua expansão indomável.

Se você quiser aprender mais sobre aprendizado de máquina e IA, considere se inscrever no programa UpGrad's Machine Learning e AI PG Diploma em colaboração com o IIIT Bangalore. Este programa abrangente abrange as ferramentas e técnicas mais recentes em aprendizado de máquina e IA, incluindo técnicas de seleção de recursos como RFE.

Este programa fornecerá as habilidades e os conhecimentos necessários para criar e implantar modelos de aprendizado de máquina para aplicativos do mundo real.

Inscreva-se agora e colha vários benefícios do aprendizado imersivo com o upGrad!

Você também pode conferir nossoscursos gratuitosoferecidos pela upGrad em Gestão, Ciência de Dados, Machine Learning, Marketing Digital e Tecnologia.Todos esses cursos têm recursos de aprendizado de alto nível, palestras ao vivo semanais, atribuições do setor e um certificado de conclusão do curso - tudo gratuito!

Blogs populares de IA e ML e cursos gratuitos

IoT: história, presente e futuro Tutorial de aprendizado de máquina: aprender ML O que é Algoritmo? Simples e fácil
Salário do engenheiro de robótica na Índia: todas as funções Um dia na vida de um engenheiro de aprendizado de máquina: o que eles fazem? O que é IoT (Internet das Coisas)
Permutação vs Combinação: Diferença entre Permutação e Combinação As 7 principais tendências em inteligência artificial e aprendizado de máquina Machine Learning com R: tudo o que você precisa saber
Cursos gratuitos de IA e ML
Introdução à PNL Fundamentos de Deep Learning de Redes Neurais Regressão linear: guia passo a passo
Inteligência Artificial no mundo real Introdução ao Tableau Estudo de caso usando Python, SQL e Tableau

Qual é a diferença entre RFE e PCA para seleção de recursos?

Ambos RFE e Análise de Componentes Principais (PCA) são técnicas usadas para seleção de recursos. A principal diferença entre os dois é que o PCA modifica os atributos originais em um novo conjunto, enquanto o RFE elimina os atributos originais.

Como determino o número ideal de recursos para selecionar usando RFE?

Uma maneira de determinar o número ideal de recursos para selecionar usando RFE é realizar a validação cruzada e escolher o número de recursos que oferece o melhor desempenho no conjunto de validação. Outra maneira é usar um scree plot, que plota o número de recursos em relação ao desempenho do modelo correspondente.

O RFE pode ser usado para tarefas de aprendizagem não supervisionadas?

Não, RFE é uma técnica de aprendizado supervisionado que requer dados rotulados para selecionar recursos. Outras técnicas, como agrupamento ou redução de dimensionalidade, podem ser usadas para seleção de recursos em tarefas de aprendizado não supervisionadas sem dados rotulados.