Todo lo que necesita saber sobre la optimización del algoritmo de bosque aleatorio

Publicado: 2020-12-22

Suponga que creó un programa de aprendizaje automático y usó el modelo de bosque aleatorio para entrenarlo. Sin embargo, la salida/resultado del programa no es tan preciso como quisiera. Entonces, ¿Qué haces?

Hay tres métodos para mejorar un modelo de aprendizaje automático para mejorar el resultado de un programa de aprendizaje automático:

  • Mejore la calidad de los datos de entrada y la ingeniería de características
  • Ajuste de hiperparámetros del algoritmo
  • Usando diferentes algoritmos

Pero, ¿qué sucede si ya ha utilizado todas las fuentes de datos disponibles? El siguiente paso lógico es el ajuste de hiperparámetros. Por lo tanto, si ha creado un programa de aprendizaje automático con un modelo de bosque aleatorio, utilizó la mejor fuente de datos y desea mejorar aún más la salida del programa, debe optar por el ajuste de hiperparámetros de bosque aleatorio .

Antes de profundizar en el ajuste de hiperparámetros de bosque aleatorio , echemos un vistazo primero a los hiperparámetros y al ajuste de hiperparámetros en general.

Tabla de contenido

¿Qué son los hiperparámetros?

En el contexto del aprendizaje automático, los hiperparámetros son parámetros cuyo valor se utiliza para controlar el proceso de aprendizaje del modelo. Son externos al modelo y sus valores no se pueden estimar a partir de los datos.

Para el ajuste de hiperparámetros de bosque aleatorio , los hiperparámetros incluyen la cantidad de árboles de decisión y la cantidad de características consideradas por cada árbol durante la división de nodos.

¿Qué es el ajuste de hiperparámetros?

El ajuste de hiperparámetros es el proceso de búsqueda de un conjunto ideal de hiperparámetros para un problema de aprendizaje automático.

Ahora que hemos visto qué son los hiperparámetros y el ajuste de hiperparámetros, echemos un vistazo a los hiperparámetros en un bosque aleatorio y al ajuste de hiperparámetros de bosque aleatorio .

Leer: Preguntas de la entrevista del árbol de decisión

¿Qué es el ajuste de hiperparámetros de bosque aleatorio?

Para comprender qué es el ajuste de hiperparámetros de bosque aleatorio , veremos cinco hiperparámetros y el ajuste de hiperparámetro para cada uno.

Hiperparámetro 1: profundidad_máxima

max_ depth es la ruta más larga entre el nodo raíz y el nodo hoja en un árbol en un algoritmo de bosque aleatorio. Al ajustar este hiperparámetro, podemos limitar la profundidad a la que queremos que crezca el árbol en el algoritmo de bosque aleatorio. Este hiperparámetro reduce el crecimiento del árbol de decisión al trabajar en un nivel macro.

Hiperparámetro 2: max_terminal_nodes

Este hiperparámetro restringe el crecimiento de un árbol de decisión en el bosque aleatorio al establecer una condición en la división de nodos en el árbol. La división de los nodos se detendrá y el crecimiento del árbol cesará si hay más nodos terminales que el número especificado después de la división.

Por ejemplo, supongamos que tenemos un solo nodo en el árbol y los nodos terminales máximos se establecen en cuatro. Dado que solo hay un nodo, para empezar, el nodo se dividirá y el árbol crecerá más. Después de que la división alcance el límite máximo de cuatro, el árbol de decisión no crecerá más ya que la división finalizará. El uso del ajuste de hiperparámetros max_terminal_nodes ayuda a evitar el sobreajuste. Sin embargo, si el valor de la afinación es muy pequeño, es probable que el bosque se ajuste mal.

Lectura relacionada: Clasificación del árbol de decisión

Hiperparámetro 3: n_estimators

Un científico de datos siempre se enfrenta al dilema de cuántos árboles de decisión considerar. Se puede decir que elegir más árboles es el camino a seguir. Esto puede ser cierto, pero también aumenta la complejidad temporal del algoritmo de bosque aleatorio.

Con el ajuste del hiperparámetro n_estimators, podemos decidir el número de árboles en el modelo de bosque aleatorio. El valor predeterminado del parámetro n_estimators es diez. Esto significa que se construyen diez árboles de decisión diferentes por defecto. Al ajustar este hiperparámetro, podemos cambiar la cantidad de árboles que se construirán.

Hiperparámetro 4: max_features

Con este ajuste de hiperparámetros, podemos decidir la cantidad de características que se proporcionarán a cada árbol en el bosque. En general, si el valor de funciones máximas se establece en seis, el rendimiento general del modelo resulta ser el más alto. Sin embargo, también puede establecer el valor predeterminado del parámetro funciones máximas, que es la raíz cuadrada de la cantidad de funciones presentes en el conjunto de datos.

Hiperparámetro 5: min_samples_split

Este ajuste de hiperparámetros decide el número mínimo de muestras necesarias para dividir un nodo hoja interno. Por defecto, el valor de este parámetro es dos. Significa que para dividir un nodo interno, debe haber al menos dos muestras presentes.

¿Cómo hacer un ajuste de hiperparámetro de bosque aleatorio?

Debe realizar manualmente el ajuste de hiperparámetros de bosque aleatorio llamando a la función que crea el modelo. El ajuste de hiperparámetros de bosque aleatorio es más un enfoque experimental que teórico. Por lo tanto, es posible que deba probar diferentes combinaciones de ajuste de hiperparámetros y evaluar el rendimiento de cada uno antes de decidirse por uno.

Por ejemplo, suponga que tiene que ajustar el número de estimadores y la división mínima de un árbol en un algoritmo de bosque aleatorio. Por lo tanto, puede usar el siguiente comando para realizar el ajuste de hiperparámetros:

bosque = RandomForestClassifier (random_state = 1, n_estimators = 20, min_samples_split = 2)

En el ejemplo anterior, el número de estimadores cambia de su valor predeterminado de diez a veinte. Así, en lugar de diez árboles de decisión, el algoritmo creará veinte árboles en el bosque aleatorio. De manera similar, un nodo de hoja interno se dividirá solo si tiene al menos dos muestras.

Conclusión

Esperamos que este blog le haya ayudado a comprender el ajuste de hiperparámetros de bosque aleatorio . Hay muchos otros hiperparámetros que puede ajustar para mejorar el resultado del programa de aprendizaje automático. En la mayoría de los casos, el ajuste de hiperparámetros es suficiente para mejorar el resultado del programa de aprendizaje automático.

Sin embargo, en casos excepcionales, incluso el ajuste de hiperparámetros de bosque aleatorio podría no resultar útil. En tales situaciones, deberá considerar un algoritmo de aprendizaje automático diferente, como la regresión lineal o logística, KNN o cualquier otro algoritmo que considere adecuado.

Si está interesado en obtener más información sobre árboles de decisión, aprendizaje automático, consulte el Diploma PG en aprendizaje automático e IA de IIIT-B y upGrad, que está diseñado para profesionales que trabajan y ofrece más de 450 horas de capacitación rigurosa, más de 30 estudios de casos y asignaciones. , estado de exalumno de IIIT-B, más de 5 proyectos prácticos finales y asistencia laboral con las mejores empresas.

¿Por qué usar el algoritmo de bosque aleatorio?

El algoritmo de bosque aleatorio es uno de los modelos más utilizados cuando se trata de la categoría de algoritmos de aprendizaje supervisado en el aprendizaje automático. El algoritmo de bosque aleatorio puede resolver problemas de clasificación y regresión en el aprendizaje automático. Se centra en el aprendizaje conjunto, el concepto que combina varios clasificadores para resolver un problema complicado de modo que pueda mejorar el funcionamiento general y el resultado de un modelo. El algoritmo de bosque aleatorio es popular porque requiere mucho menos tiempo de entrenamiento en comparación con muchos otros algoritmos. También puede ofrecer pronósticos muy precisos para conjuntos masivos de datos, incluso si faltan algunas partes de los datos.

¿Cuál es la diferencia entre un árbol de decisión y un bosque aleatorio?

Un algoritmo de árbol de decisiones es una técnica de aprendizaje supervisado en el aprendizaje automático que modela un solo árbol que constituye una serie de decisiones posteriores que conducen a un resultado específico. Un árbol de decisión es fácil de interpretar y comprender. Pero a menudo es inadecuado para resolver problemas más complejos. Aquí es donde el algoritmo de bosque aleatorio se vuelve útil: aprovecha varios árboles de decisión para resolver problemas específicos. En otras palabras, el algoritmo de bosque aleatorio genera aleatoriamente múltiples árboles de decisión y combina sus resultados para producir el resultado final. Aunque el bosque aleatorio es más difícil de interpretar que el árbol de decisiones, produce resultados precisos cuando se trata de grandes volúmenes de datos.

¿Cuáles son las ventajas de usar un algoritmo de bosque aleatorio?

La mayor ventaja de usar el algoritmo de bosque aleatorio radica en su flexibilidad. Puede utilizar esta técnica para tareas de clasificación y regresión. Además de su versatilidad, este algoritmo también es extremadamente útil: los parámetros predeterminados que utiliza son lo suficientemente eficientes para producir predicciones de alta precisión. Además, los modelos de clasificación de aprendizaje automático son bien conocidos por problemas como el sobreajuste. Si hay una gran cantidad de árboles en el algoritmo de bosque aleatorio, los problemas de sobreajuste en la clasificación se pueden superar fácilmente.