(Supponendo che tu stia parlando di apprendimento supervisionato)
Le funzionalità correlate non sempre peggioreranno il modello, ma non lo miglioreranno sempre.
Esistono tre motivi principali per cui rimuovere le funzionalità correlate:
- Rendi l'algoritmo di apprendimento più veloce
A causa della maledizione della dimensionalità, meno funzioni di solito significano un elevato miglioramento in termini di velocità.
Se la velocità non è un problema, forse non rimuovere immediatamente queste funzionalità (vedere il punto successivo)
- Riduci i pregiudizi dannosi
La parola chiave è dannosa. Se si dispone di funzionalità correlate ma sono anche correlate alla destinazione, si desidera mantenerle. Puoi visualizzare le funzionalità come suggerimenti per fare una buona ipotesi, se hai due suggerimenti che sono essenzialmente gli stessi, ma sono buoni suggerimenti, potrebbe essere saggio tenerli.
Alcuni algoritmi come Naive Bayes beneficiano direttamente delle funzionalità correlate "positive". E altri come la foresta casuale possono trarne indirettamente beneficio.
Immagina di avere 3 caratteristiche A, B e C. A e B sono altamente correlate al bersaglio e l'una all'altra e C non lo è affatto. Se si campiona su 3 funzionalità, si ha 2/3 di possibilità di ottenere una funzione "buona", mentre se si rimuove B per esempio, questa possibilità scende a 1/2
Naturalmente, se le funzionalità correlate non sono in primo luogo super informative, l'algoritmo potrebbe non soffrire molto.
Quindi morale della storia, rimuovere queste funzionalità potrebbe essere necessario a causa della velocità, ma ricorda che potresti peggiorare il tuo algoritmo nel processo. Inoltre, alcuni algoritmi come gli alberi decisionali hanno incorporato la selezione delle caratteristiche.
Un buon modo per gestirlo è utilizzare un metodo wrapper per la selezione delle funzionalità. Rimuoverà le funzionalità ridondanti solo se non contribuiscono direttamente alle prestazioni. Se sono utili come nelle baie ingenue, saranno tenuti. (Anche se ricorda che i metodi wrapper sono costosi e possono portare a un overfitting)
- Interpretazione del tuo modello
Se il tuo modello deve essere interpretabile, potresti essere costretto a renderlo più semplice. Assicurati di ricordare anche il rasoio di Occam. Se il tuo modello non è "tanto" peggio con meno funzioni, probabilmente dovresti usare meno funzioni.