4 votos

Múltiples curvas al trazar un bosque aleatorio

He realizado un bosque aleatorio utilizando la randomForest paquete. Yo sé que si me parcela en el bosque aleatorio utilizando la plot() comando, debo conseguir un gráfico con el número de árboles en el eje de las x, y el estimado de la tasa de error en el eje y, pero cuando realmente la trama, me sale múltiples curvas, todos ellos de inicio bastante alto, como era de esperar y soltar como el número de árboles en aumento.

Bien, ¿qué significan? Supongo que son simplemente diferentes medidas, por ejemplo, uno es el oob error rate, otro es el misclass error rate y así sucesivamente, pero ¿cómo puedo extraer la información y/o filtro de las curvas no deseadas?

10voto

ESRogs Puntos 1381

Cuando no hay ningún resultado de la prueba (ytest fue de vacío para la formación), la trama muestra:

  • para la clasificación, la línea sólida negra para el conjunto de los OOB error y un montón de líneas de color, uno para cada clase de error (es decir, 1-esta clase de memoria).
  • para la regresión, una línea sólida negra OOB MSE error.

Cuando la prueba está presente, la documentación (?plot.randomForest) reclamaciones líneas adicionales deben aparecer (para las medidas correspondientes, calculados sobre el conjunto de prueba), pero no porque hay un error en el randomForest del código.

Si desea personalizar esta trama, es mejor acceder a elementos interesantes ($err.rate, $test$err.rate, $mse o $test$mse) y combinarlos en una parcela que usted desea tener.

3voto

Me he encontrado con el mismo problema y he encontrado un enlace donde se muestra el gráfico que se obtiene al trazar el bosque aleatorio modelo: http://statweb.stanford.edu/~jtaylo/courses/stats202/ensemble.html

Si se desplaza hacia abajo, existe la parcela(modelo) gráfico y el gráfico con cuatro curvas: uno para el oob error en negro y tres correspondientes a las tasas de error para cada clase ( Setosa, Versicolor y Virginica en el ejemplo). Este tipo de encaje con mi caso donde sólo tengo dos clases, por lo que obtener una curva negra (para el oob error) y dos colores de las curvas para las dos clases que tengo.

Ahora, el ejemplo igualado rojo=Setosa, verde=Versicolor y azul=Virginica. En mi caso, tengo un binario de la clase: 0 y 1. Para saber de qué color era que, me ejecutado de impresión(rf.modelo) y que me dio una matriz de confusión con la clase.error. Ahí pude tipo de partido que mis class=0 fue el rojo y el class=1 fue el color verde. Que parece una forma razonable, a saber, que la curva de los partidos de la clase (si sus curvas no son muy próximos entre sí) y, a continuación, puede utilizar el comando leyenda para mejorar la trama.

Espero que ayude.

2voto

Vedran Šego Puntos 8041

Sé que este post es un poco viejo, pero sólo me encontré con el mismo problema y lo resolví así:

rndF1 <- randomForest(train.X, train.Y, test.X, test.Y)
plot(rndF1)
rndF1.legend <- if (is.null(rndF1$test$err.rate)) {colnames(rndF1$err.rate)}
                else {colnames(rndF1$test$err.rate)}

legend("top", cex =0.5, legend=rndF1.legend, lty=c(1,2,3), col=c(1,2,3), horiz=T)

Usted puede tratar de no proporcionar conjuntos de la prueba, para ver cómo la trama y la leyenda de cambio.

Tenga en cuenta que mi problema de dos clases, por lo tanto "lty" y "col" son de longitud 3, que tendrá la personalización.

0voto

barit Puntos 21

Si las líneas están muy cerca, creo que no es necesario distintas. De lo contrario, se puede extraer el valor de $err.la tasa. y compararla con la de la línea. O sólo se puede usar varios árboles en la función randomForest(Especies~., iris,la importancia=TRUE,ntree=24) y, a continuación, la trama, entonces sería más fácil contar y encontrar la correspondencia entre el color y las clases. A continuación podrá conocer el orden de los colores en la función plot(randomforestmodel,)

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