Classificazione stratificata con foreste casuali (o un altro classificatore)


12

Quindi, ho una matrice di circa 60 x 1000. Lo sto guardando come 60 oggetti con 1000 caratteristiche; i 60 oggetti sono raggruppati in 3 classi (a, b, c). 20 oggetti in ogni classe e conosciamo la vera classificazione. Mi piacerebbe fare un apprendimento supervisionato su questo set di 60 esempi di training e sono interessato sia alla precisione del classificatore (e alle relative metriche) sia alla selezione delle funzionalità sulle 1000 funzionalità.

Innanzitutto, come va la mia nomenclatura?

Ora la vera domanda:

Potrei lanciare foreste casuali su di esso come indicato, o qualsiasi numero di altri classificatori. Ma c'è una sottigliezza: mi interessa davvero solo differenziare la classe c dalle classi aeb. Potrei raggruppare le classi aeb, ma c'è un buon modo per usare la conoscenza a priori che tutti gli oggetti non c probabilmente formano due distinti cluster? Preferirei usare foreste casuali o una sua variante, poiché si è dimostrato efficace su dati simili ai miei. Ma potrei essere convinto a provare altri approcci.


Non vedo alcun problema con la tua nomenclatura. Questi 60 oggetti sono tutto ciò che hai? Quindi, per calcolare l'accuratezza della classificazione, è necessario dividere il set di dati in set di treni, test (e anche di convalida). Ci sono vari modi per farlo, ma credo che -fold cross validation sia il più comune. k
emrea,

1
Sì, solo questi 60. Ma penso che per le foreste casuali, ogni albero decisionale viene creato con un sottoinsieme dei campioni, in modo da poter ottenere un errore di generalizzazione stimato applicando ciascuno dei 60 campioni esistenti solo a quegli alberi all'interno della foresta che non hanno vedo quel campione durante la costruzione. ( stat.berkeley.edu/~breiman/RandomForests/cc_home.htm#ooberr ) Quindi forse qui non è necessaria la tipica convalida incrociata.
user116293

dovresti essere molto preoccupato per il sovralimentazione qui. Hai 1000 variabili con 60 oggetti, mi sentirei molto meglio se fosse l'altro qay in giro e direi ancora, dovresti preoccuparti di un overfitting. Esiste un modo logico o semantico per ridurre il numero di variabili prima di eseguire l'analisi?
Jank

Risposte:


8

c'è un buon modo per usare la conoscenza a priori che tutti gli oggetti non-c probabilmente formano due cluster distinti

Se stai usando un metodo basato sull'albero, non penso che importi perché questi classificatori suddividono lo spazio delle caratteristiche, quindi guarda la proporzione di campioni in ogni classe. Quindi tutto ciò che conta è l'occorrenza relativa della classe c in ciascun nodo terminale.

Se tuttavia si stesse usando qualcosa come una miscela di normali, LDA, ecc., Combinare due cluster sarebbe una cattiva idea (supponendo che le classi aeb formino cluster unici). Qui è necessario preservare la struttura della classe per descrivere accuratamente lo spazio delle caratteristiche che è mappato a a, bec. Questi modelli presuppongono che le funzionalità di ciascuna classe abbiano una distribuzione normale diversa. Se si combinano aeb, si forzerà una singola distribuzione normale per adattarsi a una miscela.

In sintesi per gli alberi non dovrebbe importare molto se:

I. Creare tre classificatori (1. a vs b, 2. a vs c e 3. b vs c), quindi prevedere con un metodo basato sul voto.

II. Unire le classi aeb per formare un problema di due classi.

III. Predire tutte e tre le classi, quindi mappare la previsione su un valore di due classi (ad es. F (c) = c, f (a) = non c, f (b) = non c).

Tuttavia, se si utilizza un metodo che adatta una distribuzione a ciascuna classe, evitare II. e prova quale di I. o III. funziona meglio per il tuo problema


III suona bene - anche se penso che se il classificatore dice che un campione è .33 a, .33 b, e .34 c, probabilmente dovrei sommare le probabilità per aeb e quindi scegliere 'non c'.
user116293

1
Per (I), qual è una buona procedura per una votazione per parti separate (1: a, 2: c, 3: b), o è probabilmente troppo raro per importare davvero?
user116293

Per III. quello che suggerisci è corretto. Per I. su dati di classe 3 non penso che ci sia alcuna misura per dividere i voti (1 per ciascuno) poiché la proprietà transitiva dovrebbe essere violata. Tuttavia per le classi 4+ è possibile avere legami nella parte superiore, nel qual caso è possibile utilizzare una quantità numerica anziché vincita / perdita; cioè sommare i pesi prendere la classe di peso massimo.
muratoa,
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.