Classificazione con un predittore dominante


9

Ho un problema di classificazione ( classe ), con l'ordine di 100 predittori a valore reale, uno dei quali sembra avere un potere esplicativo molto più di qualsiasi altro. Mi piacerebbe approfondire gli effetti delle altre variabili. Tuttavia, le tecniche di apprendimento automatico standard (foreste casuali, SVM, ecc.) Sembrano essere sommerse da un forte predittore e non mi danno molte informazioni interessanti sugli altri.k

Se questo fosse un problema di regressione, regredirei semplicemente contro il predittore forte e quindi utilizzerei i residui come input per altri algoritmi. Non vedo davvero come questo approccio possa essere tradotto in un contesto di classificazione.

Il mio istinto è che questo problema deve essere ragionevolmente comune: esiste una tecnica standard per affrontarlo?

Risposte:


2

Per problemi di classe 2, è possibile utilizzare il pacchetto GBM in R , che adatta in modo iterativo gli alberi di classificazione ai residui della funzione di perdita. Purtroppo non supporta ancora problemi multi-classe.

Questo sembra un problema adatto per il potenziamento, ma non conosco alcun pacchetto di potenziamento che supporti i problemi di classe k. Penso che il problema sia scrivere una funzione di perdita appropriata per le classi multiple. I glmnetpacchetti hanno una funzione di perdita multinomiale, forse puoi guardare attraverso il suo codice sorgente per alcuni puntatori.

Potresti provare a scrivere il tuo algoritmo di potenziamento, oppure potresti trasformare il tuo problema in k problemi di classificazione binaria (una classe contro tutte le altre classi), adattare un modello gbm a ciascun problema e fare una media delle probabilità della classe per ciascun modello.


2
Zach Non sono sicuro di dove si trovi nella stabilità dello sviluppo, ma GBM su R Forge ha una logistica multinomiale come una funzione di perdita che consente la classificazione in più categorie.
B_Miner,

Grazie! Sono d'accordo sul fatto che il potenziamento sia probabilmente un buon modo per affrontare questo, e esaminerò le cose che hai suggerito. Sono ancora interessato a sapere se esiste un buon modo per affrontare questo problema trasformando il problema.
Martin O'Leary,

@Zach Per favore fatemi sapere come funziona.
B_Miner
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.