2013-11-28 14 views
7

Ho un set di dati con alcuni valori nominali come caratteristiche. Il set di allenamento che ho ha una serie di valori per le caratteristiche nominali che sono assenti nel mio set di prova. Per esempio la mia caratteristica nel training set corrisponde aValori nominali non visibili in weka

@attribute h4 {br,pl,com,ro,th,np}

e la stessa caratteristica nel set di test ha

@attribute h4 {br,pl,abc,th,def,ghi,lmno}

Credo che a causa di questo, weka non mi permette di rivalutare il modello che ho costruito sul mio set di allenamento sul mio set di prova. C'è un modo per aggirare questo? Mi sto perdendo qualcosa?

MODIFICA: sto usando un classificatore RandomForest.

Grazie

+1

Dovresti essere in grado di utilizzare le stesse dichiarazioni di attributo nel treno e nel set di prova. Non è un problema se non tutti i valori dichiarati appaiono nei dati. –

risposta

4

Weka cerca tutti i valori nominali utilizzati nel set di test per essere esistere in formazione impostare anche perché il classificatore deve imparare prima di fare previsioni.

Anche Weka utilizza valori nominali con i relativi indici; quindi, è importante utilizzare lo stesso ordine per i valori nominali dello stesso attributo per ottenere risultati affidabili.

Nel tuo caso, usa solo gli stessi valori, cioè tutti i valori, nello stesso ordine sia per il set di allenamento che per il set di prova.

I valori combinati {br,pl,com,ro,th,np,abc,th,def,ghi,lmno} possono essere utilizzati sia per set di allenamento sia per set di test.