¿Cuándo elegir regresión lineal o árbol de decisión o regresión de bosque aleatorio? [cerrado]

10

Estoy trabajando en un proyecto y tengo dificultades para decidir qué algoritmo elegir regression. Quiero saber bajo qué condiciones debería uno elegir linear regressionao Decision Tree regressiono Random Forest regression? ¿Existen características específicas de los datos que tomarían la decisión de utilizar un algoritmo específico entre el árbol mencionado anteriormente? ¿Cuáles son esas características que debo buscar en mi conjunto de datos para tomar la decisión? ¿Y hay algunas razones por las que uno elegiría un algoritmo decision treeo random forestincluso si se puede lograr la misma corrección linear regression?

Jason Donnald
fuente
Esto es demasiado amplio: comience con una descripción de sus datos y cuáles son sus limitaciones.
Sean Owen

Respuestas:

10

Permítanme explicarlo usando algunos ejemplos para una intuición clara:

¿Cuándo utilizas la regresión lineal frente a los árboles de decisión?

La regresión lineal es un modelo lineal, lo que significa que funciona muy bien cuando los datos tienen una forma lineal. Pero, cuando los datos tienen una forma no lineal, entonces un modelo lineal no puede capturar las características no lineales.

Entonces, en este caso, puede usar los árboles de decisión, que hacen un mejor trabajo al capturar la no linealidad en los datos dividiendo el espacio en subespacios más pequeños dependiendo de las preguntas formuladas.

¿Cuándo utilizas Random Forest vs Decision Trees?

Supongo que la respuesta de Quora aquí haría un mejor trabajo que yo, al explicar la diferencia entre ellos y sus aplicaciones. Déjame citarte eso:

Supongamos que eres muy indeciso, así que cada vez que quieres ver una película, le preguntas a tu amigo Willow si cree que te gustará. Para responder, Willow primero necesita averiguar qué películas te gustan, así que le das un montón de películas y le dices si te gustó cada una o no (es decir, le das un conjunto de entrenamiento etiquetado). Luego, cuando le preguntas si cree que te gustará la película X o no, juega un juego de 20 preguntas con IMDB, haciendo preguntas como "¿Es X una película romántica?", "¿Johnny Depp protagoniza X?" , y así. Primero hace preguntas más informativas (es decir, maximiza la ganancia de información de cada pregunta) y le da una respuesta de sí / no al final.

Por lo tanto, Willow es un árbol de decisión para sus preferencias de películas.

Pero Willow es solo humana, por lo que no siempre generaliza tus preferencias muy bien (es decir, se sobreajusta). Para obtener recomendaciones más precisas, le gustaría preguntar a un grupo de sus amigos y ver la película X si la mayoría de ellos dice que cree que le gustará. Es decir, en lugar de preguntarle solo a Willow, también quiere preguntarle a Woody, Apple y Cartman, y ellos votan si le gustará una película (es decir, si construye un clasificador de conjunto, también conocido como un bosque en este caso).

Ahora no desea que cada uno de sus amigos haga lo mismo y le dé la misma respuesta, por lo que primero debe darles a cada uno datos ligeramente diferentes. Después de todo, no estás absolutamente seguro de tus preferencias: le dijiste a Willow que amabas Titanic, pero tal vez estabas feliz ese día porque era tu cumpleaños, así que tal vez algunos de tus amigos no deberían usar el hecho de que tú Me gustó Titanic al hacer sus recomendaciones. O tal vez le dijiste que amabas a Cenicienta, pero en realidad realmente realmenteMe encantó, así que algunos de tus amigos deberían darle más peso a Cenicienta. Entonces, en lugar de darles a tus amigos la misma información que le diste a Willow, les das versiones ligeramente perturbadas. No cambias tus decisiones de amor / odio, solo dices que amas / odias algunas películas un poco más o menos (le das a cada uno de tus amigos una versión inicial de tus datos de entrenamiento originales). Por ejemplo, mientras le dijiste a Willow que te gustaba Black Swan y Harry Potter y no te gustaba Avatar, le dijiste a Woody que te gustaba tanto Black Swan que lo viste dos veces, no te gustó Avatar, y no mencionas a Harry Potter en absoluto.

Al usar este conjunto, esperas que mientras cada uno de tus amigos da recomendaciones algo idiosincrásicas (Willow cree que te gustan más las películas de vampiros que a ti, Woody cree que te gustan las películas de Pixar y Cartman cree que odias todo), los errores se cancelan En la mayoría. Por lo tanto, tus amigos ahora forman un bosque embolsado (agregado de arranque) de tus preferencias de película.

Sin embargo, todavía hay un problema con sus datos. Si bien te encantaron Titanic e Inception, no fue porque te gustaran las películas protagonizadas por Leonardio DiCaprio. Tal vez te gustaron ambas películas por otras razones. Por lo tanto, no desea que todos sus amigos basen sus recomendaciones en si Leo está en una película o no. Entonces, cuando cada amigo le hace una pregunta a IMDB, solo se permite un subconjunto aleatorio de las posibles preguntas (es decir, cuando está construyendo un árbol de decisión, en cada nodo usa algo de aleatoriedad al seleccionar el atributo para dividir, digamos al seleccionar al azar un atributo o seleccionando un atributo de un subconjunto aleatorio). Esto significa que tus amigos no pueden preguntar si Leonardo DiCaprio está en la película cuando quieran. Entonces, mientras que previamente inyectó aleatoriedad en el nivel de datos,

Y entonces tus amigos ahora forman un bosque al azar.

Dawny33
fuente
77
when the data has a non-linear shape, then a linear model cannot capture the non-linear featuresEste es un error común. En primer lugar, una regresión lineal simple puede modelar incluso estadísticas de series armónicas.stackexchange.com/ questions/60500/… . En segundo lugar, se puede introducir la interacción de características y, por supuesto, hay un modelo lineal generalizado donde se introduce una función no lineal en los términos lineales (por ejemplo, la regresión logística).
Ricardo Cruz
2

Hasta donde yo sé, no hay una regla para decir qué algoritmo funciona para qué conjunto de datos. Solo asegúrese de que su conjunto de datos y variables de interés cumplan con los supuestos previos de ejecutar cada algoritmo y pruébelo. Por ejemplo, la regresión lineal tiene algunos supuestos previos, como la normalidad de los resultados, la homocedasticidad (la variabilidad en la variable de respuesta es la misma en todos los niveles de la variable explicativa), etc. Simplemente verifique estos para sus variables y pruebe el algoritmo.

Puede usar un software de apuntar y hacer clic para ver los resultados sin involucrarse en el código y la configuración de parámetros. Si usted es un usuario de R, el paquete sonajero será una herramienta muy útil en esta etapa. Haces tu trabajo en modo apuntar y hacer clic y tienes acceso al código detrás de él.

Hamideh
fuente
La única regla general que he leído es que las regresiones manejan el ruido mejor que los bosques aleatorios, lo que parece cierto porque los árboles de decisión son modelos discretos, pero nunca vi esto probado cuantitativamente.
Ricardo Cruz