10 votos

Cómo elegir la división de Random forest para los predictores categóricos (características)?

Yo comprender mejor cómo dividir es elegido por random forest para numérica predictores (características).

Numérica de los predictores se ordenan a continuación, para cada valor del coeficiente de Gini impureza o la entropía se calcula y un umbral elegido es el que da la mejor división. Pero, ¿cómo mejor split es elegido para predictores categóricos como no hay un pedido?

10voto

Grevling Puntos 123

La costumbre de vainilla aplicación intenta todas las combinaciones posibles de sus categorías. Expresa estas combinaciones como un número entero que representa el que las categorías son seleccionados y que están a la izquierda en la división. Va de izquierda a derecha. Por ejemplo, si tenemos una variable con las clases de "Gato", "Perro", "Vaca", "la Rata" sería barrido a través de las posibles divisiones, lo que significa que algunos como:

Perro vs el resto = 0100 (recuerde, que se lee de izquierda a derecha)

Gato vs el resto = 1000

Por sí mismos, pero también

El perro y el Gato vs Vaca y la Rata = 1100

Vaca y Gato vs Perro y la Rata = 1010

Y luego, como se ha mencionado, utiliza los números enteros para manejar esto, para representar la división:

library(R.utils)
> intToBin(12)
[1] "1100"

0voto

C.J. Steele Puntos 156

Elegir algunas categorías al azar y el uso de la categoría en que se da la mejor dividir, o elegir algunas combinaciones al azar de las categorías y el uso de la combinación que da el mejor de split.

Creo que realmente no importa cuál de los dos métodos que usted elija desde la división en una combinación de categorías en un solo nodo puede ser simulado mediante la división en una sola categoría en múltiples nodos.

0voto

Vincent Puntos 1064

El bosque es un conjunto de método de los árboles. Así que creo que tu pregunta es más bien basado en el algoritmo de árboles sobre la división de las variables. Hay dos tipos de predictores categóricos, ordenó factor, y no ordenó factor.

Ordenó factor es similar a la variable numérica y el bosque aleatorio se encuentra el punto de corte, mientras que el segundo se utiliza otro algoritmo de la siguiente manera.

Se intentará coger primer nivel del factor, como la división y tratar de ajustar el modelo y encontrar el rendimiento con la función de pérdida. A continuación, intente encontrar el segundo nivel y ajuste de nuevo y encontrar el rendimiento y así sucesivamente. En la final, encontrar la mejor división de combinaciones de niveles de acuerdo con el mejor rendimiento.

Así que usted encontrará que toma mucho más tiempo y memoria para el modelo de árboles o bosque aleatorio modelo para adaptarse a los factores de numérico.

0voto

Sumit Trehan Puntos 141

Si tus rasgos son categóricos, la primera idea que viene a mi mente es crear un binario característica para cada valor posible de la categoría.

Por lo tanto, si usted tiene una característica correspondiente a "teléfono móvil de la marca", que sólo puede ser "de Samsung, Apple, HTC o Nokia", me representan como cuatro categorías (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0) y (0, 0, 0, 1), respectivamente. De esta manera el umbral de elegir entre ser una marca o a cualquiera de los demás en cada división, sin tener efectos extraños.

Espero que esto ayude!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X