¿Cuál es la diferencia entre rpart y randomForest en R?

El paquete rpart proporciona un algoritmo del modelo ‘árbol’ y el paquete randomForest produce una gran cantidad de árboles por boostrap (y es un ‘bosque’).

Una de las diferencias clave es el poder de predicción como se mencionó en un comentario anterior y la razón se debe principalmente a la forma en que se realiza una división en cada etapa, así como a los resultados de las muestras de bootstrap para agregar el resultado final.

(1) En un bosque aleatorio, solo se selecciona un subconjunto de predictores y puede reducir el impacto de predictores fuertes. Esto se debe a que, una vez que un predictor fuerte realiza una división en una etapa anterior, no hay mucho espacio para que otros predictores mejoren el ajuste. En este sentido, se puede identificar un patrón sistemático local.

(2) Digamos también que hay dos predictores altamente correlacionados. En este caso, si se emplea un predictor para una división, no es probable que se use el otro en etapas subsecuentes. Sin embargo, si el primer predictor no está involucrado, este predictor puede desempeñar un papel, lo que puede resultar en una mejora adicional del ajuste.

(3) Finalmente, uno de los principales beneficios de bootstrap se logra con un varaince más bajo. (Recuerde que error cuadrático medio = sesgo cuadrado + varianza)

Los dos primeros pueden contribuir a un sesgo más bajo y el último a un varaince más bajo para que se pueda mejorar su poder de predicción, aunque su interpretación puede no ser exhaustiva.

La respuesta corta es muy pequeña.

rpart es para crear un árbol de decisión. Me resulta útil porque los resultados son muy fáciles de interpretar. Es un montón de declaraciones if / else esencialmente. El inconveniente es que el poder predictivo no es excelente.

RandomForest trabaja al hacer muchos árboles de decisión en diferentes subconjuntos de regresores y promediarlos juntos. Esto tiene el efecto de reducir la varianza del modelo. En géneros es uno de los mejores modelos en términos de poder predictivo. Sin embargo, el modelo es difícil de interpretar.

Básicamente, si desea un cuadro negro, use RandomForest. Si desea una forma intuitiva de comprender la estructura de sus datos, use rpart.

En primer lugar, esos dos algoritmos son los mismos métodos basados ​​en árboles, pero creo que hay dos diferencias principales entre ellos. El algoritmo rpart crea solo un árbol, pero el bosque aleatorio crea cinco cientos de árboles por defecto. La otra diferencia es que el algoritmo rpart toma todas las características dependiendo de su entrada, pero el bosque aleatorio selecciona aleatoriamente las características, que es la raíz cuadrada de sus características totales para construir un árbol y volver a hacer el procedimiento quinientas veces