foresta casuale onehotecoder
In un contesto di foresta casuale, è necessario configurare manichini/OnehotEncoder in un set di dati in cui le caratteristiche/variabili sono numeriche ma si riferiscono a un tipo di categoria?
Diciamo che ho le seguenti variabili:
Dov'è Yla variabile che voglio prevedere. X'ssono caratteristiche.
Mi concentrerò su X1. È numerico ma si riferisce a una categoria specifica (cioè 1 si riferisce alla matematica, 2 si riferisce alla letteratura e 3 alla storia). Devo applicare OnehotEncoder (o approccio fittizio) per un algoritmo Random Forest?
Immagino di non aver bisogno di farlo, ma non ne sono sicuro.
Risposte
In teoria, le categorie stesse possono essere gestite negli alberi decisionali. Tuttavia, la maggior parte delle implementazioni Python funzionerà solo con i numeri, quindi è necessario convertirli. Sembra che tu l'abbia già fatto. OneHot Encoding è un modo per farlo, ma ora che l'hai fatto, non è necessario. Puoi provare altri schemi per trasformarli in 1 2 3, se non c'è una ragione logica per come li hai in questo modo. Questo è chiamato codifica categoriale. Un modo popolare è ordinarli in ordine alfabetico e numerarli. Un altro modo, in ordine di frequenza. Alla fine della giornata, non importerà molto perché la foresta casuale conterrà il numero in base al suo algoritmo. Potrebbe però fare piccole differenze, quindi forse provare modi diversi. Ma no, non avrai bisogno di codificare OneHot per le tue categorie perché sono già numeri.