18 votos

Para la clasificación con Bosques Aleatorios en R, ¿cómo se debe ajustar para el desequilibrio en el tamaño de las clases?

Estoy explorando diferentes métodos de clasificación de un proyecto en el que estoy trabajando, y estoy interesado en probar Bosques Aleatorios. Estoy tratando de educar a mí mismo como yo ir a lo largo, y agradecería cualquier ayuda proporcionada por el CV de la comunidad.

He dividido mis datos en el entrenamiento/prueba. A partir de la experimentación con bosques aleatorios en R (utilizando el randomForest paquete), he estado teniendo problemas con una alta tasa de error en la clasificación de mi más pequeños de la clase. He leído este documento en relación con el rendimiento de los bosques aleatorios en desequilibrio de datos, y los autores presentan dos métodos con el trato con la clase de desequilibrio cuando el uso de bosques aleatorios.

1. Ponderado De Los Bosques Aleatorios

2. Equilibrada Bosques Aleatorios

El paquete de R no permite la ponderación de las clases (a partir de la R foros de ayuda, he leído el classwt parámetro no está funcionando correctamente y está programada como una futura corrección de error), así que me quedo con la opción 2. Soy capaz de especificar el número de objetos que se tomaron muestras de cada clase para cada iteración del bosque aleatorio.

Me siento incómodo acerca de la configuración de la igualdad de tamaños de muestra para los bosques aleatorios, como siento que sería perder demasiada información acerca de la clase más grande que conduce a un rendimiento deficiente con datos del futuro. La mala clasificación de las tasas cuando la reducción de tamaño de la clase más grande que ha demostrado mejorar, pero me preguntaba si hay otras maneras de lidiar con el desequilibrio en el tamaño de las clases en bosques aleatorios?

5voto

Bou Puntos 1859

Si no te gustan las opciones, han considerado que el uso de un impulso método en su lugar? Da la función de pérdida, aumentando automáticamente vuelve a calibrar el peso a medida que avanza. Si la naturaleza estocástica de los bosques aleatorios de apelaciones, estocástico gradiente de impulsar construye también.

2voto

Vince Puntos 307

Creo que la ponderación de los objetos es, de alguna manera equivalente a la duplicación de ellos. Tal vez usted debería tratar de modificar la secuencia de arranque paso por muestreo adecuadamente sus diferentes clases.

Otro pensamiento es que la clase desequilibrio puede cambiar su decisión umbral a otro valor de $0.5$ (si se trata de un problema de clasificación binaria). Trate de considerar las curvas ROC y el AUC para evaluar la gravedad del desequilibrio es la causa pobres actuaciones en los modelos.

0voto

KitCarrau Puntos 131

Lugar de muestreo grandes clases que usted puede ampliar pequeñas clases ! Si las grandes clases tienen muchos tiempos de observación más pequeño, entonces biase será pequeño. Espero que usted puede manejar en ese gigante conjunto de datos.

También puede identificar subconjuntos de las observaciones que manejar la mayoría de la información acerca de las clases grandes, hay muchas posibles procedimientos, el más simple creo que es basado en los vecinos más cercanos del método de observación muestreo acondicionado en el barrio gráfico de la estructura de garantizar que la muestra se han de densidad de probabilidad más similar a la original.

randomForest está escrito en Fortran y c, el código fuente está disponible (http://cran.r-project.org/src/contrib/randomForest_4.6-2.tar.gz) pero no puedo detectar el lugar donde la entropía se calcula, ps. ups que randomforest uso de Gini en lugar de entropía

0voto

sd2k9 Puntos 21

(1) a la Que está a la derecha de la función de ponderación no funciona y no se si se ha sido corregido.

(2) Más el uso de la opción 2 con equilibrado de datos. La clave para no perder demasiados datos de muestreo estratificado. De forma aleatoria una muestra de un único conjunto equilibrado para cada árbol.

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