Eliminazione di una delle colonne quando si utilizza la codifica a caldo


22

La mia comprensione è che nell'apprendimento automatico può essere un problema se il tuo set di dati ha caratteristiche altamente correlate, poiché codificano effettivamente le stesse informazioni.

Recentemente qualcuno ha sottolineato che quando si esegue la codifica one-hot su una variabile categoriale si finisce con funzionalità correlate, quindi è necessario rilasciarne una come "riferimento".

Ad esempio, codificare il genere come due variabili is_malee is_female, produce due caratteristiche che sono perfettamente correlate negativamente, quindi hanno suggerito di usarne solo una, impostare efficacemente la linea di base per dire maschio e quindi vedere se la colonna is_female è importante nell'algoritmo predittivo .

Ciò ha avuto senso per me, ma non ho trovato nulla online per suggerire che questo potrebbe essere il caso, quindi è sbagliato o mi sto perdendo qualcosa?

Possibile duplicato (senza risposta): la collinearità delle funzionalità con codifica a una sola opzione è importante per SVM e LogReg?


8
you end up with correlated features, so you should drop one of them as a "reference"Le variabili fittizie o le variabili indicatore (questi sono i due nomi usati nelle statistiche, sinonimo di "codifica one-hot" nell'apprendimento automatico) sono comunque correlate in modo saggio, siano esse tutte variabili k o k-1. Quindi, la parola migliore è "statisticamente / informalmente ridondante" anziché "correlata".
ttnphns,

L'insieme di tutti i manichini k è l'insieme multicollineare perché se si conoscono i valori dei manichini k-1 nei dati, si conoscono automaticamente i valori di quest'ultimo manichino. Alcuni metodi o algoritmi di analisi dei dati richiedono di eliminare uno dei k. Altri sono in grado di far fronte a tutte le k.
ttnphns,

@ttnphns: grazie, ha senso. Mantenere tutti i valori di k teoricamente li rende caratteristiche più deboli che potrebbero / dovrebbero essere eliminate con la riduzione della dimensionalità? Uno degli argomenti per utilizzare qualcosa come PCA è spesso quello di rimuovere le funzionalità correlate / ridondanti, mi chiedo se mantenere tutte le k variabili rientri in quella categoria.
Dasboth,

Does keeping all k values theoretically make them weaker features. No (anche se non sono sicuro al 100% di cosa intendi per "più debole"). using something like PCASi noti, per ogni evenienza, che l'APC su un insieme di manichini che rappresentano una stessa variabile categoriale ha poco punto pratico perché le correlazioni all'interno dell'insieme di manichini riflettono semplicemente le relazioni tra le frequenze di categoria (quindi se tutte le frequenze sono uguali tutte le correlazioni sono uguali a 1 / (k-1)).
ttnphns,

Quello che voglio dire è che quando usi il tuo modello per valutare l'importanza delle caratteristiche (ad es. Con una foresta casuale) sottovaluterà l'importanza di quella variabile se includi tutti i valori k? Come in, otterrai una stima "più vera" dell'importanza del genere se stai usando solo una is_malevariabile rispetto a entrambe le opzioni? Forse non ha senso in questo contesto, e potrebbe essere un problema solo quando hai due diverse variabili che codificano effettivamente le stesse informazioni (ad esempio altezza in pollici e altezza in cm).
Dasboth,

Risposte:


23

lmglm

Con altri modelli, usa gli stessi principi. Se le previsioni ottenute dipendono da quali colonne si tralasciano, non farlo. Altrimenti va bene.

Finora, questa risposta menziona solo modelli lineari (e alcuni leggermente non lineari). Ma che dire di modelli molto non lineari, come alberi e foreste casuali? Le idee sulla codifica categorica, come one-hot, derivano principalmente da modelli ed estensioni lineari. Ci sono pochi motivi per pensare che le idee derivate da quel contesto debbano essere applicate senza modifiche per alberi e foreste! per alcune idee, vedi Regressione casuale della foresta con dati sparsi in Python .

β,β2,β3β1=0β2-β1,β3-β1


Sono d'accordo sul fatto che la scelta della variabile di riferimento influirà sull'esito della regressione regolarizzata, ma non sono molto sicuro se lasciare tutte le variabili così come è meglio che lasciarne una. Hai qualche motivo per questo?
Kota Mori,

Bene, solo due alternative ... Mantenere tutti i livelli mantiene l'invarianza e non c'è arbitrarietà. Se hai altri reaoni che vuoi ridurre il numero di livelli, come troppi di loro, dovresti
parlarcene
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.