Eliminazione di funzionalità ricorsive: cos'è e perché è importante?

Pubblicato: 2023-03-27

I dati sono la spina dorsale del moderno processo decisionale e le aziende sono sempre alla ricerca di modi per estrarne informazioni preziose. L'apprendimento automatico è una delle tecniche più comuni implementate nelle organizzazioni per l'analisi dei dati, che prevede l'addestramento di algoritmi per fare previsioni basate su dati storici. Tuttavia, non tutte le feature in un set di dati sono uguali e alcune potrebbero avere un impatto maggiore sulle prestazioni del modello rispetto ad altre.

L'eliminazione ricorsiva delle funzionalità è una tecnica di analisi dei dati diffusa utilizzata per identificare ed eliminare funzionalità irrilevanti o ridondanti da un set di dati, migliorando l'accuratezza e l'efficienza del modello di machine learning.

Ottieni la certificazione Machine Learning dalle migliori università del mondo. Guadagna programmi Master, Executive PGP o Advanced Certificate per accelerare la tua carriera.

In questo articolo, esploreremo cos'è l'eliminazione ricorsiva delle funzionalità , come funziona e perché è importante per le aziende che cercano di estrarre informazioni significative dai propri dati.

Sommario

Quali sono le diverse tecniche per la selezione delle caratteristiche?

La selezione delle funzionalità è un passaggio cruciale nell'apprendimento automatico che comporta la selezione degli attributi più rilevanti da un set di dati per creare un modello che preveda accuratamente i risultati. Tuttavia, selezionare le caratteristiche giuste non è sempre semplice. Esistono molte tecniche diverse, ognuna con i suoi punti di forza e di debolezza. Diamo un'occhiata ad alcuni di loro!

Metodi di filtro

I metodi di filtro selezionano le caratteristiche create sulle proprietà statistiche, come la loro correlazione con la variabile o la varianza di destinazione. Questi metodi sono computazionalmente efficienti e possono essere applicati prima del training del modello. Esempi di metodi di filtro includono il test del chi quadrato, la selezione delle caratteristiche basata sulla correlazione e la soglia della varianza.

Metodi wrapper

I metodi wrapper selezionano le funzionalità valutando le prestazioni di un modello di machine learning con un sottoinsieme di funzionalità. Questi metodi sono computazionalmente costosi ma possono portare a migliori prestazioni del modello. Esempi di metodi wrapper includono l'eliminazione di funzioni ricorsive, la selezione in avanti e l'eliminazione all'indietro.

Metodi incorporati

Per i metodi incorporati, la selezione delle funzioni avviene durante l'addestramento. Questi metodi includono tecniche come Lasso e Ridge Regression, che aggiungono penalità ai coefficienti del modello per ridurre a zero le caratteristiche meno significative.

Metodi ibridi

I metodi ibridi combinano diverse tecniche di selezione delle caratteristiche per ottenere risultati migliori. Questi metodi sono spesso più efficaci rispetto all'utilizzo di un singolo approccio da solo. Esempi di metodi ibridi includono ReliefF e Random Forest Feature Selection.

In sostanza, la scelta della tecnica di selezione delle caratteristiche dipende dal problema specifico, dal set di dati e dalle risorse computazionali disponibili.

Ora, approfondiamo uno dei metodi wrapper più cruciali per l'eliminazione delle funzionalità, l'eliminazione ricorsiva delle funzionalità.

Che cos'è l'eliminazione ricorsiva delle funzionalità?

Recursive Feature Elimination (RFE) è un metodo wrapper che elimina in modo ricorsivo le feature e costruisce un modello sopra quelle rimanenti. Classifica le funzionalità in base all'importanza ed elimina quelle meno importanti fino al raggiungimento del numero desiderato di funzionalità. RFE è un processo iterativo che funziona come segue:

  1. Addestra il modello su tutte le caratteristiche e classificale in base alla loro importanza.
  2. Elimina la caratteristica meno importante.
  3. Addestrare ripetutamente il modello sulle feature rimanenti ed eliminare la feature meno significativa fino a raggiungere il numero desiderato di feature.

RFE considera l'interazione tra le feature e il loro impatto sulle prestazioni del modello.

Per capire come funziona RFE, consideriamo un esempio.

Supponiamo di avere un set di dati sui prezzi delle case con dieci diverse caratteristiche, tra cui il numero di camere da letto, la metratura e l'età della casa. Vogliamo costruire un modello di apprendimento automatico per prevedere il prezzo di una casa sulla base di queste caratteristiche. Tuttavia, sospettiamo che alcune delle funzionalità potrebbero non essere importanti e potrebbero persino danneggiare le prestazioni del modello.

Possiamo utilizzare RFE per identificare le funzionalità più rilevanti addestrando il modello con tutte le funzionalità e quindi eliminando ricorsivamente quelle meno importanti fino a raggiungere il sottoinsieme ottimale. RFE esegue il training del modello durante ogni iterazione e ne valuta le prestazioni utilizzando un set di convalida incrociata.

Ad esempio, RFE può determinare che il numero di camere da letto, la metratura e l'ubicazione sono le caratteristiche più critiche per prevedere i prezzi delle case. Al contrario, altre caratteristiche, come l'età della casa, hanno scarso impatto sulla precisione del modello.

Perché RFE è entrato in scena? Cosa risolve?

Man mano che l'apprendimento automatico è diventato più diffuso, i data scientist si sono resi conto che alcune funzionalità potrebbero essere irrilevanti o ridondanti, mentre altre potrebbero avere un impatto significativo sull'accuratezza del modello. Ciò ha dato vita a uno dei metodi essenziali per la creazione di modelli di apprendimento automatico efficienti: la tecnica di selezione delle funzionalità dell'eliminazione ricorsiva delle funzionalità.

L'eliminazione ricorsiva delle caratteristiche (RFE) è stata introdotta per affrontare alcune delle limitazioni dei metodi esistenti mentre emergeva come metodo wrapper che rimuove in modo ricorsivo le caratteristiche e ne valuta l'impatto sulle prestazioni del modello. Il processo continua fino al raggiungimento del numero ottimale di funzioni.

RFE risolve diversi problemi incontrati dalle tradizionali tecniche di selezione delle caratteristiche.

  • RFE è un approccio di selezione all'indietro che inizia con tutte le funzionalità e quindi rimuove iterativamente quelle meno importanti. Questo approccio è superiore alla selezione diretta, che inizia con la caratteristica meno importante e ne aggiunge altre fino a raggiungere il numero ottimale.
  • RFE evita l'overfitting attraverso la convalida incrociata durante il processo di selezione delle caratteristiche. L'overfitting si verifica quando un modello è troppo complesso e si adatta troppo bene ai dati di addestramento, con conseguenti scarse prestazioni sui nuovi dati.
  • RFE può essere applicato a qualsiasi tipo di modello, rendendolo una tecnica versatile che può essere utilizzata in molti scenari diversi.

Implementazione dell'algoritmo RFE in Python

Python fornisce diverse librerie che possono essere utilizzate per implementare l'algoritmo RFE. Diamo ora un'occhiata ad alcuni esempi RFE Python.

RFE Con ​​scikit-learn

Scikit-learn è una popolare libreria di apprendimento automatico in Python che fornisce una semplice implementazione dell'algoritmo RFE. Il seguente frammento di codice mostra come implementare RFE in sci-kit-learn:

da sklearn.feature_selection importa RFE

da sklearn.linear_model import LogisticRegression

modello = LogisticRegression()

rfe = RFE(modello, n_features_to_select=5)

rfe.fit(X, y)

Nello snippet di codice sopra, importiamo prima la classe RFE dal modulo feature_selection di sci-kit-learn. Creiamo quindi un'istanza della classe LogisticRegression, che fungerà da nostro stimatore di base. Creiamo quindi un'istanza della classe RFE, passando lo stimatore di base e il numero di feature da selezionare. Quindi adattiamo l'oggetto RFE ai nostri dati ed etichette.

RFE per la classificazione

Nei problemi di classificazione, RFE rimuove ricorsivamente le feature e costruisce un modello sulle restanti feature. La classifica delle caratteristiche si basa sui punteggi di importanza delle caratteristiche calcolati dallo stimatore. Il seguente frammento di codice dimostra l'utilizzo di RFE per un problema di classificazione:

da sklearn.datasets import make_classification

da sklearn.feature_selection importa RFE

da sklearn.tree import DecisionTreeClassifier

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

modello = DecisionTreeClassifier()

rfe = RFE(modello, n_features_to_select=5)

rfe.fit(X, y)

print("Caratteristiche selezionate: ", rfe.support_)

print("Classifica caratteristiche: ", rfe.ranking_)

Nello snippet di codice sopra, per prima cosa generiamo un set di dati sintetico utilizzando la funzione make_classification di sci-kit-learn. Creiamo quindi un'istanza della classe DecisionTreeClassifier, che fungerà da nostro stimatore di base. Creiamo quindi un'istanza della classe RFE, passando lo stimatore di base e il numero di feature da selezionare. Quindi inseriamo l'oggetto RFE nei nostri dati ed etichette, stampando le caratteristiche scelte e classificando le caratteristiche.

Iperparametri RFE

RFE ha diversi iperparametri che possono essere ottimizzati per ottenere risultati migliori. Alcuni iperparametri importanti sono:

  • n_features_to_select: questo iperparametro determina il numero di funzionalità da selezionare.
  • step: questo iperparametro determina il numero di feature da rimuovere a ogni iterazione.Il valore predefinito è 1, il che significa che una funzionalità viene rimossa a ogni iterazione.
  • stimatore: questo iperparametro specifica lo stimatore di base da utilizzare.Per impostazione predefinita, viene utilizzato un SVM lineare.
  • scoring: questo iperparametro specifica la metrica da utilizzare per la classificazione delle funzionalità.Il valore predefinito è Nessuno, il che significa che viene utilizzato il metodo del punteggio dello stimatore.
  • cv : questo iperparametro determina la strategia di convalida incrociata da utilizzare.Il valore predefinito è Nessuno, il che significa che viene utilizzata una convalida incrociata tripla.

I migliori corsi di machine learning e corsi di intelligenza artificiale online

Master of Science in Machine Learning e AI presso LJMU Executive Post Graduate Program in Machine Learning e AI da IIITB
Programma di certificazione avanzata in Machine Learning e PNL da IIITB Programma di certificazione avanzata in Machine Learning e Deep Learning da IIITB Executive Post Graduate Program in Data Science & Machine Learning presso l'Università del Maryland
Per esplorare tutti i nostri corsi, visita la nostra pagina qui sotto.
Corsi di apprendimento automatico

Il futuro dell'eliminazione delle funzioni ricorsive

Il futuro di Recursive Feature Elimination (RFE) sembra promettente, poiché continua a essere una tecnica popolare per la selezione delle funzionalità nell'apprendimento automatico. Con la crescente quantità di dati generati e la necessità di modelli più efficienti e accurati, la selezione delle funzionalità sta diventando un passaggio essenziale nella pipeline del machine learning.

Recenti studi hanno dimostrato che RFE può migliorare significativamente le prestazioni dei modelli di machine learning riducendo la dimensionalità dei dati ed eliminando funzionalità irrilevanti o ridondanti. Ad esempio, in uno studio dell'NCBI , RFE è stato utilizzato per la selezione delle caratteristiche nella classificazione dei pazienti depressi sulla base dei dati della risonanza magnetica funzionale (fMRI). I risultati hanno mostrato che RFE ha selezionato un sottoinsieme di caratteristiche altamente correlate con la diagnosi clinica di depressione.

Poiché il campo dell'apprendimento automatico continua a crescere, sono necessarie tecniche di selezione delle funzionalità più sofisticate ed efficienti. Un'area di ricerca che sta guadagnando terreno è l'uso del deep learning per la selezione delle funzionalità. Tuttavia, i modelli di deep learning sono spesso computazionalmente costosi e richiedono l'addestramento di dati di grandi dimensioni.

Al contrario, RFE è una tecnica semplice ed efficace che può essere applicata a vari modelli e set di dati. Pertanto, è probabile che RFE continuerà ad essere utilizzato come tecnica popolare di selezione delle caratteristiche.

Competenze di apprendimento automatico richieste

Corsi di Intelligenza Artificiale Corsi Tableau
Corsi PNL Corsi di apprendimento profondo

Conclusione

In conclusione, la Recursive Feature Elimination (RFE) è una tecnica efficace per la selezione delle funzionalità nell'apprendimento automatico che sovrintende a un futuro luminoso dopo la sua implementazione in evoluzione. RFE, essendo un'efficace tecnica di selezione delle caratteristiche, sta alimentando il suo utilizzo in diversi domini, come la diagnosi medica, la bioinformatica e l'analisi delle immagini, aggiungendosi alla sua indomabile espansione.

Se vuoi saperne di più sull'apprendimento automatico e sull'intelligenza artificiale, prendi in considerazione l'iscrizione al programma UpGrad Machine Learning e AI PG Diploma in collaborazione con IIIT Bangalore. Questo programma completo copre gli strumenti e le tecniche più recenti nell'apprendimento automatico e nell'intelligenza artificiale, comprese le tecniche di selezione delle funzionalità come RFE.

Questo programma ti fornirà le competenze e le conoscenze necessarie per creare e distribuire modelli di apprendimento automatico per applicazioni del mondo reale.

Candidati ora e sfrutta i vari vantaggi dell'apprendimento immersivo con upGrad!

Puoi anche dare un'occhiata ai nostricorsi gratuitiofferti da upGrad in Management, Data Science, Machine Learning, Digital Marketing e Tecnologia.Tutti questi corsi hanno risorse di apprendimento di prim'ordine, lezioni dal vivo settimanali, incarichi di settore e un certificato di completamento del corso, il tutto gratuitamente!

Blog popolari su AI e ML e corsi gratuiti

IoT: storia, presente e futuro Tutorial sull'apprendimento automatico: impara il machine learning Cos'è l'algoritmo? Semplice e facile
Stipendio dell'ingegnere robotico in India: tutti i ruoli Un giorno nella vita di un ingegnere di machine learning: cosa fanno? Cos'è l'IoT (Internet delle cose)
Permutazione vs combinazione: differenza tra permutazione e combinazione Le 7 principali tendenze nell'intelligenza artificiale e nell'apprendimento automatico Apprendimento automatico con R: tutto ciò che devi sapere
Corsi gratuiti di AI e ML
Introduzione alla PNL Fondamenti di Deep Learning delle reti neurali Regressione lineare: guida passo passo
Intelligenza artificiale nel mondo reale Introduzione a Tableau Caso di studio con Python, SQL e Tableau

Qual è la differenza tra RFE e PCA per la selezione delle funzionalità?

Sia RFE che Principal Component Analysis (PCA) sono tecniche utilizzate per la selezione delle caratteristiche. La differenza fondamentale tra i due è che PCA modifica gli attributi originali in un nuovo set, mentre RFE elimina gli attributi originali.

Come posso determinare il numero ottimale di caratteristiche da selezionare utilizzando RFE?

Un modo per determinare il numero ottimale di funzionalità da selezionare utilizzando RFE consiste nell'eseguire la convalida incrociata e scegliere il numero di funzionalità che offre le migliori prestazioni sul set di convalida. Un altro modo consiste nell'utilizzare uno scree plot, che traccia il numero di caratteristiche rispetto alle prestazioni del modello corrispondente.

RFE può essere utilizzato per compiti di apprendimento senza supervisione?

No, RFE è una tecnica di apprendimento supervisionato che richiede dati etichettati per selezionare le funzionalità. Altre tecniche come il clustering o la riduzione della dimensionalità possono essere utilizzate per la selezione delle funzionalità in attività di apprendimento senza supervisione senza dati etichettati.