Bosques Aleatorios Regresión – Scikit Learn

Como ya lo hemos dicho anteriormente Scikit Learn es una de las librerías de Python más importante para Machine Learning, por lo que con esta podemos implementar el algoritmo de Bosques Aleatorios en nuestros proyectos.

La parte teórica de este algoritmo ya lo has visto con anterioridad acá solamente nos vamos a enfocar en cómo utilizar esta librería implementando el algoritmo de Bosques Aleatorios.

Este algoritmo se encuentra dentro de los métodos de ensamblado de Machine Learning, por lo que deberemos primeramente importar el modulo sklearn.ensemble y posteriormente especificar RandomForestRegressor para poder implementar este algoritmo. Si te fijas todos los algoritmos que caen dentro de la categoría de métodos de ensamblado se encuentran dentro de este modulo en Scikit Learn, por lo que cada vez que vayas a utilizar alguno de ellos deberás importar este modulo y posteriormente definir el método a utilizar.

Bosques-Aleatorios-Regresión-Scikit-Learn-3

Bosques-Aleatorios-Regresión-Scikit-Learn-4

Realizado esto ya podemos implementar este algoritmo en nuestro programa. Igual que los anteriores algoritmos, con esta instrucción se deberá definir las variables “x” y “y” para implementar la instrucción fit() para entrenar el modelo y predict() para realizar una predicción.

Bosques-Aleatorios-Regresión-Scikit-Learn-5

Pero enfoquémonos a verificar las características que podemos modificar dentro del algoritmo de Bosques Aleatorios, recuerda que si quieres obtener información adicional al respecto siempre puedes dirigirte a la página de la librería en donde obtendrás una información más completa.

Comencemos con n_estimators, en donde indicamos el número de árboles que tendrá el bosque. Recuerda que un mayor número de árboles aumenta el rendimiento y hace que ls predicciones sean más estables, pero también vuelve lento el cálculo. En caso de que no lo modifiquemos, este valor es de 10, por defecto.

Bosques-Aleatorios-Regresión-Scikit-Learn-7

El siguiente parámetro es criterion, esto fue explicado en el algoritmo de Árboles de Decisión, y acá aplica la misma explicación. Scikit Learn utiliza la media del error cuadrado o “mse” por sus siglas en inglés para implementar la separación de los datos para los Árboles de Decisión a construir, si queires profundizar más sobre este tema, te recomiendo que revises la información de los Árboles de Decisión.

Bosques-Aleatorios-Regresión-Scikit-Learn-8

Otro parámetro que viene también relacionado a los Árboles de Decisión es max_depth, que se refiere a la profundidad del árbol, si no se especifica este valor el algoritmo selecciona de manera automática los nodos de manera que los expande hasta que todas las hojas estén puras o hasta que todas las hojas contengan menos datos.

Bosques-Aleatorios-Regresión-Scikit-Learn-9

El siguiente parámetro que explicaremos es el de max_features, en este se define el número máximo de características que el Bosque Aleatorio puede probrar en un árbol individual. Scikit Learn ofrece varias opciones como utilizar todas las características, o solamente una fracción de ellas, e inclusive puedes definir utilizar la raíz cuadrada del número de características. A nivel práctica puedes probar con varios de estos valores para ver con cual obtienes un mejor resultado.

Bosques-Aleatorios-Regresión-Scikit-Learn-10

Estas son solo algunas de los parámetros que puedes modificar en el algoritmo de Bosques Aleatorios, existen otros que puedes revisar en la página oficial, pero estos son los más importantes.

Una vez realizada la configuración del algoritmo, haber entrenado el modelo y a su realizado una predicción ahora debemos verificar la precisión del mismo, para ello utilizamos la instrucción “score”, esta es la misma instrucción que hemos utilizado con los otros algoritmos y devuelve la estadística al cuadrado.

En resumen, los comandos a utilizar para implementar un algoritmo de Bosques Aleatorios Regresión serían los siguientes:

bosques regresión 1

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *