Selezione delle caratteristiche e relazione sull'accuratezza della classificazione


10

Una delle metodologie per selezionare un sottoinsieme delle funzionalità disponibili per il tuo classificatore è classificarle in base a un criterio (come l'acquisizione di informazioni) e quindi calcolare l'accuratezza utilizzando il classificatore e un sottoinsieme delle funzionalità classificate.

Ad esempio, se le tue caratteristiche sono A, B, C, D, Ee se sono classificate come segue D,B,C,E,A, calcola la precisione usando D, D, Bquindi D, B, C, quindi D, B, C, E... fino a quando la tua precisione inizia a diminuire. Una volta che inizia a diminuire, smetti di aggiungere funzionalità.

Esempio 1

Nell'esempio 1 (sopra), dovresti scegliere le funzionalità F, C, D, Ae rilasciare le altre funzionalità in quanto riducono la tua precisione.

Tale metodologia presuppone che l'aggiunta di più funzionalità al modello aumenti l'accuratezza del classificatore fino a un certo punto dopo il quale l'aggiunta di funzionalità aggiuntive diminuisce l'accuratezza (come mostrato nell'esempio 1)

Tuttavia, la mia situazione è diversa. Ho applicato la metodologia sopra descritta e ho scoperto che l'aggiunta di più funzionalità ha ridotto l'accuratezza fino a un punto dopo che aumenta.

Esempio 2

In uno scenario come questo, come scegli le tue funzionalità? Scegli solo Fil resto? Hai idea del perché l'accuratezza diminuisca e quindi aumenterebbe?

Risposte:


4

la selezione delle funzionalità prevede diversi approcci proprio come i metodi per l'apprendimento automatico. L'idea è quella di mantenere la funzionalità più pertinente ma non ridondante per il modello predittivo in grado di fornire una precisione ottimale.

Nel tuo caso, non riesco a vedere quale metodo stai usando per la selezione delle funzionalità, ma supponendo che non stai prendendo in considerazione la natura multivariata della dipendenza dalle funzionalità. Supponiamo che tu abbia N funzioni, probabilmente motivo per cui la precisione del tuo modello diminuisce dopo n funzioni principali ma migliora aggiungendo n + k (dove n <k <N quando le funzioni sono in ordine decrescente in base al guadagno delle informazioni) è dovuto all'inter- dipendenza (più pertinenza e meno ridondanza) delle principali funzioni n e k. La selezione univariata delle funzionalità non ottiene necessariamente la precisione ottimale del modello quando le funzionalità sono interdipendenti e non si escludono a vicenda. Dal punto di vista filosofico, l'insieme delle caratteristiche ottimali è analogo a una citazione di Aristotele: "Il tutto è maggiore della somma delle sue parti"!

Per una selezione ottimale delle funzionalità, spesso sono il pacchetto Caret in Rlingua in cui si può fare la selezione delle funzionalità usando l' eliminazione ricorsiva delle funzionalità (RFE) tra molti altri approcci. Esiste anche un pacchetto chiamato mRMRe per eseguire la selezione delle funzionalità in base alla massima rilevanza, ridondanza minima.

Meglio,
Samir


Stavo redigendo una risposta dal cellulare e non mi rendevo conto che le due precedenti risposte sono abbastanza simili! Il mio errore nel non commentare quelli e invece rispondere separatamente.
Samir,

Il tuo punto sulle funzionalità ridondanti è perfetto. Ho verificato e posso confermare che le 3 funzionalità con un elevato guadagno di informazioni sono effettivamente ridondanti (altamente correlate tra loro). Questo spiega perché l'accuratezza diminuisce quando si usano congiuntamente quelle funzionalità: oltre la prima caratteristica, la funzione aggiuntiva non aggiunge una nuova "dimensione dati" al mio set di dati e invece crea rumore perché "ripetono" solo ciò che i classificatori già sanno grazie la prima caratteristica. Le altre funzionalità, tuttavia, con un minore guadagno di informazioni, aggiungono una nuova dimensione dati.
Pauline,

1

Sulla domanda specifica

Non dovresti aspettarti un comportamento specifico (aumenta e quindi diminuisci la precisione) mentre selezioni un sottoinsieme di funzionalità, poiché ciò dipenderà totalmente dal problema (e da ciascun modello)

Quando si calcola l'importanza variabile delle funzionalità, si tiene conto del contributo di tutte le funzionalità contemporaneamente. Dopo aver selezionato un sottoinsieme di funzionalità e creato un nuovo modello, si otterrà una rappresentazione o una modellazione diversa del problema (che non tiene conto delle altre funzionalità, informative o meno).

Ora, vuoi selezionare il numero migliore di funzionalità. Ciò dipenderà anche dal tuo problema e dalle caratteristiche o condizioni che devi soddisfare. Se in realtà hai bisogno di avere meno funzioni possibili durante l'ottimizzazione della precisione della previsione, puoi selezionare il numero più basso di funzioni che ottengono l'errore più basso ... e, se hai casi diversi con errori molto simili, quindi selezionare una soglia, osservare la maiuscole la cui differenza di errori a coppie è inferiore alla soglia e selezionarne una (ad esempio quella con un numero inferiore di funzioni, poiché gli errori sono marginalmente uguali).

Prendi in considerazione l'eliminazione delle funzioni ricorsive

Il metodo che stai utilizzando potrebbe non essere l'approccio più stabile. Dovresti provare a provare qualcosa come l'eliminazione delle funzioni ricorsive (RFE), un metodo wrapper in cui costruisci il classificatore, classifica tutte le funzionalità, rimuovi il peggio e ricostruisci il modello sulle funzionalità rimanenti. Quindi ripeti nuovamente il metodo. Questo tenderà ad essere più stabile ... e dovresti aspettarti una classifica diversa ogni volta.

Anche la varianza è un fattore critico

Oltre all'errore reale (o alla precisione) che il modello fornisce con ciascun sottoinsieme, è necessario considerare di costruire ciascun modello attraverso una procedura di convalida incrociata e tenere conto sia dell'errore medio delle pieghe sia della deviazione standard di questi errori. Se la deviazione standard è elevata, il sottoinsieme selezionato di funzionalità non è stabile e tenderà a variare molto quando si esegue il test con dati invisibili. Ciò è importante per valutare le capacità di generalizzazione previste del modello e potrebbe essere utile per decidere tra i modelli (creati con diversi sottoinsiemi).


1

È necessario rimuovere le funzionalità ridondanti e irrilevanti dal set di dati. Si può vedere che ci sono funzionalità irrilevanti e ridondanti nel set di dati.

Ti consiglio di esaminare l'algoritmo MRMR (Redundancy Maximum Relevance Feature Selection) minimo. È un filtro molto popolare e potente prima di addestrare il modello.

"Tuttavia, la mia situazione è diversa. Ho applicato la metodologia sopra descritta e ho scoperto che l'aggiunta di più funzionalità ha ridotto l'accuratezza fino a un punto dopo che aumenta"

È anche possibile, ma questo porterà a un modello più complesso.


1

Generalmente ci sono tre classi di algoritmi di selezione delle caratteristiche.

  • Filtra i metodi che analizzano le proprietà intrinseche dei dati e assegnano un punteggio a ciascuna caratteristica, senza coinvolgere alcun modello. Alcuni esempi sono il cambio di piega, il test t per gli studenti.

  • Metodi wrapper quali diversi sottoinsiemi di funzionalità sono selezionati tramite algoritmi specifici. Quindi inseriamo il modello di classificazione o regressione per valutare ogni selezione e scegliere quella con il miglior valore di fitness. Alcuni esempi sono l'algoritmo genetico per la selezione delle funzioni, l'ottimizzazione Monte Carlo per la selezione delle funzioni, la selezione a passi avanti / indietro.

  • Metodi incorporati che consentono al modello stesso di selezionare le funzionalità che offrono il miglior contributo all'idoneità del modello. Quelli tipici sono LASSO, regressione della cresta.

Ecco un ottimo articolo in dettaglio sull'introduzione alla selezione delle funzionalità .


Il metodo presentato nel post è un esempio di filtro. Il filtro ha classificato tutte le funzionalità e l'argomento è come selezionare un sottoinsieme di queste funzionalità classificate.
Pauline,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.