4 votos

Por qué bosque aleatorio funciona peor que el árbol de decisión

Tengo un conjunto de datos con 1962 observaciones y 46 columnas. Columna 46 es el objetivo con 3 clases de 1, 2, 3. 6 de las demás columnas son las variables nominales y el resto son variables ordinales. He preprocesado de ellos utilizando la siguiente manera:

for (i in c(1:4,6,9,46)){
    cw_alldata_known[,i] <- as.factor(cw_alldata_known[,i])
}

for (i in c(5,7,8,10:45)){
  cw_alldata_known[,i] <- as.ordered(cw_alldata_known[,i])
}

Entonces yo dividen 50/50 en conjuntos de pruebas y entrenamiento. He instalado un árbol de decisión usando party paquete de R:

cw.ctree <- ctree(cr~.,data = cw.train)

Entonces yo también dispone de un bosque aleatorio modelo de uso de la randomForest paquete de:

cw.forest <- randomForest(credit.rating ~ ., data=cw.train,ntree=107)

He probado otros ntree valores 107 pero parece ser la mejor. La exactitud en el conjunto de pruebas de árbol de decisión es de alrededor de 61%, mientras que el bosque aleatorio es sólo el 56%. He leído que random forest es a menudo más robusto y fiable. ¿Por qué no se desempeñan mejor que los árboles de decisión en este caso?

1voto

pauly Puntos 932

Suena como si usted lleva a cabo sólo una sola iteración de la formación y de la prueba de conjunto de la validación cruzada. Esto hará que tus niveles de precisión altamente confiables, especialmente para el modelo de árbol de decisión. La exactitud de la aleatorios bosque modelo, dibujo en muchos árboles de decisión, debería ser un poco más fiable. Pero aún así, en lugar de utilizar uno de estos iteración, usted debe utilizar muchos con el fin de obtener estable estimaciones de un modelo de exactitud predictiva. Un destacado autor normalmente se recomienda al menos esos 10.000 iteraciones, y aunque tengo la sospecha de que muchos no son necesarias, encontrará otros autores que afirman que el término "la validación cruzada" no se aplican a la utilización de conjuntos de pruebas y entrenamiento a menos que existan varias iteraciones.

También tenga en cuenta que hay otras maneras de dividir los datos además de 50-50 divisiones. Usted podría mirar en k-fold procedimientos en los que uno podría usar más de la mitad de los datos (tal vez 70-90%) para los más "exigentes" la tarea de la construcción de cada modelo, y la porción más pequeña de la prueba. Yo creo que esto sería especialmente relevante para una situación como la suya, donde usted tiene muchas células (cada uno que reflejan las combinaciones de ordinales y/o las variables nominales) que deben ser introducidos en el fin de establecer una base para la predicción. Pero 45 predictores (con sólo 1,962 observaciones) hará que sea difícil, así que puede que desee reducir el número de factores a través de la reducción de datos o de otros enfoques.

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