Introducción

Random Forest & Bagging.

En el proyecto nos asignaron dos bases de datos, una para entrenar al modelo y otra para probarlo, con la función randomForest que está en R creamos los modelos Random Forest y Bagging. La diferencia de los métodos es el número de predictores que se usan por iteración, en Bagging usamos todos los predictores por cada iteración, mientras que en Random Forest usamos una muestra de predictores de tamaño m. Con ésto podemos obtener el Out-of-Bag (OOB) y las tasas de aciertos aparentes y no aparentes, es decir, los aciertos sobre el conjunto de prueba y sobre el conjunto de entrenamiento.

Bagging

Se hizo Bagging con 1000 árboles y con los 11 predictores usando la base de datos para entrenar al modelo, la cual consta de 576 observaciones; el conjunto de prueba tiene 120 observaciones. Luego se predijeron las clases de las observaciones del conjunto de prueba y se obtuvieron las siguientes matrices de confusión:

0 1 Prueba 0 1
0 266 22 0 55 6
1 25 263 1 5 54

Donde la primera es la matriz resultante del OOB y la segunda es la matriz de confusión sobre el conjunto de prueba. Además la columna de la izquierda son las clases predichas y la fila de arriba son las clases a las que pertenecen las observaciones.

Éstos métodos son buenos por su poder predictivo, además podemos ver la importancia de las variables al predecir a la variable fake.

Figura 1. Gráfica de la importancia de las variables. Las gráficas muestran la precisión que se pierde en la media y en el índice de Gini al no considerar a la variable, que aparece a la izquierda, en el modelo.

Figura 1. Gráfica de la importancia de las variables. Las gráficas muestran la precisión que se pierde en la media y en el índice de Gini al no considerar a la variable, que aparece a la izquierda, en el modelo.

Como se ve en la Figura 1, las 4 variables con más importancia son: nums=length username, followers, profile pic y posts

Random Forest

Al aplicar Random Forest hay que elegir el número de predictores a considerar para cada iteración, en la práctica se recomienda usar \(\sqrt{p}=\sqrt{11}\approx3\) entonces usamos tres predictores por iteración y obtuvimos las matrices de confusión:

0 1 Prueba 0 1
0 270 18 0 55 5
1 26 262 1 5 55

Donde la primera es la matriz resultante del OOB y la segunda es la matriz de confusión sobre el conjunto de prueba. Además la columna de la izquierda son las clases predichas y la fila de arriba son las clases a las que pertenecen las observaciones.

También podemos ver la importancia de las variables al usar tres predictores.

Figura 3. Gráfica de importancia de las variables.

Figura 3. Gráfica de importancia de las variables.

Nuevamente las tres variables más importantes son: nums=length username, followers, profile pic y posts.

Además también podemos hacer una gráfica de la tasa de aciertos en función del número de predictores, ésto para obtener un mejor modelo predictivo.

Figura 2. Gráfica de tasa de aciertos vs número de predictores.

Figura 2. Gráfica de tasa de aciertos vs número de predictores.

La gráfica nos indica que al usar dos predictores por iteración la tasa de aciertos es mayor. Así que ahora aplicamos Random Forest con dos predictores por iteración. Las matrices de confusión fueron las siguientes.

0 1 Prueba 0 1
0 269 19 0 56 5
1 26 262 1 4 55

Así, tenemos tres modelos finales: el modelo en que usamos a todos los predictores, el modelo en el que usamos dos predictores y el modelo en el que usamos tres predictores. Con las matrices de confusión obtenidas se puede calcular las tasas de aciertos:

OOB Test Set Training Set
Bagging 0.91 0.9 1
Random Forest m=3 0.92 0.92 1
Random Forest m=2 0.92 0.93 .99

Como podemos ver en la tabla, los tres métodos están clasificando bien, ya que todos tienen una tasa de aciertos arriba del 90 %. Sin embargo, el método con tasas más altas es cuando usamos dos predictores por iteración, su tasa de aciertos sobre el conjunto de prueba es de 93 %, mientras que en los otros dos es de 90 % y 92 %. Cuando se hace la predicción sobre el conjunto de entrenamiento los modelos no se equivocan, ésto es de esperarse ya que se predice a las observaciones con las que se construyeron los árboles.

Por lo tanto, al usar éstos métodos logramos clasificar bien a las observaciones que llegan, ya que en el peor de los casos, la tasa de aciertos es del 90 %.