bosque aleatorio onehotencoder
En un contexto de Random Forest, ¿necesito configurar ficticios/OnehotEncoder en un conjunto de datos donde las características/variables son numéricas pero se refieren a algún tipo de categoría?
Digamos que tengo las siguientes variables:
¿Dónde Yestá la variable que quiero predecir? X'sson caracteristicas
me enfocaré en X1. Es numérico pero se refiere a una categoría específica (es decir, 1 se refiere a matemáticas, 2 se refiere a literatura y 3 a historia). ¿Necesito aplicar OnehotEncoder (o enfoque ficticio) para un algoritmo Random Forest?
Supongo que no necesito hacerlo, pero no estoy seguro.
Respuestas
En teoría, las categorías mismas pueden manejarse en árboles de decisión. Sin embargo, la mayoría de las implementaciones de Python solo funcionarán con números, por lo que debe convertirlos. Parece que ya lo tienes. OneHot Encoding es una forma de hacerlo, pero ahora que lo ha hecho, no es necesario. Puede probar otros esquemas para convertirlos en 1 2 3, si no hay una razón lógica para que los tenga de esta manera. Esto se llama codificación categórica. Una forma popular es ordenarlos alfabéticamente y numerarlos. Otra forma, en orden de frecuencia. Al final del día, no importará mucho porque el bosque aleatorio agrupará el número de acuerdo con su algoritmo. Sin embargo, podría hacer pequeñas diferencias, así que tal vez intente diferentes formas. Pero no, no necesitará codificar OneHot sus categorías porque ya son números.