Non c'è niente di sbagliato in teoria con l'uso del metodo randomForest su variabili di classe che hanno più di 32 classi - è computazionalmente costoso, ma non impossibile da gestire un numero qualsiasi di classi che usano la metodologia randomForest. Il normale pacchetto R randomForest imposta 32 come numero massimo di classi per una determinata variabile di classe e quindi impedisce all'utente di eseguire randomForest su qualsiasi cosa con> 32 classi per qualsiasi variabile di classe.
Linearizzare la variabile è un ottimo suggerimento: ho utilizzato il metodo per classificare le classi, quindi suddividendole uniformemente in 32 meta-classi. Quindi se ci sono 64 classi distinte, la meta-classe 1 consiste in tutte le cose in classe 1 e 2, ecc. L'unico problema qui è capire un modo ragionevole di fare la classifica - e se stai lavorando con, diciamo, le parole è molto difficile sapere come ogni parola dovrebbe essere classificata contro ogni altra parola.
Un modo per aggirare questo è fare n diversi set di predizione, in cui ogni set contiene tutte le istanze con un particolare sottoinsieme di 31 delle classi in ogni variabile di classe con più di 32 classi. È possibile effettuare una previsione utilizzando tutti i set, quindi utilizzando le misure di importanza variabile fornite con il pacchetto, trovare l'implementazione in cui le classi utilizzate erano più predittive. Una volta scoperte le 31 classi più predittive, implementa una nuova versione di RF utilizzando tutti i dati che designano le classi più predittive da 1 a 31, e tutto il resto in una classe "altra", offrendo il massimo di 32 classi per variabile categoriale ma, auspicabilmente, preservando gran parte del potere predittivo.
Buona fortuna!
fonte
2013-01-19 23:39:25