Bosque aleatorio: qué es el Random Forest y cómo funciona

Aprende qué es Random Forest, cómo funciona y por qué mejora la clasificación y predicción en grandes conjuntos de datos con múltiples variables.

Autor: Leandro Alegsa

El bosque aleatorio (Random Forest) es un algoritmo estadístico de aprendizaje supervisado que se emplea principalmente para tareas de clasificación y regresión, no para agrupamiento (clustering). Trabaja sobre conjuntos de datos y aprovecha la construcción de múltiples árboles de decisión combinados para mejorar la precisión y la robustez frente al sobreajuste, especialmente cuando hay muchas variables o relaciones no lineales entre ellas.

Cómo funciona

  • Muestreo bootstrap (bagging): se generan muchos subconjuntos aleatorios del conjunto de entrenamiento mediante muestreo con reemplazo; cada árbol se entrena en uno de esos subconjuntos.
  • Selección aleatoria de características: en cada división interna del árbol, en lugar de considerar todas las variables, se elige aleatoriamente un subconjunto de ellas (parámetro max_features), lo que introduce diversidad entre los árboles.
  • Construcción de árboles: cada árbol de decisión se desarrolla hasta un criterio de parada (profundidad máxima, número mínimo de muestras por hoja, etc.).
  • Agregación de predicciones: para clasificación se usa voto por mayoría entre los árboles; para regresión se promedia la predicción de todos los árboles.
  • Error fuera de la bolsa (OOB): como cada árbol no ve aproximadamente un tercio de los datos (los no muestreados), esos casos se usan para una estimación interna del error sin necesidad de validación cruzada.

Ventajas

  • Reduce el sobreajuste típico de árboles individuales al promediar muchos árboles.
  • Funciona bien con datos de alta dimensionalidad y relaciones no lineales.
  • Maneja variables categóricas y numéricas (dependiendo de la implementación) y tolera valores faltantes en muchos casos.
  • Proporciona medidas de importancia de variables (por ejemplo, disminución de impureza o importancia por permutación), útiles para selección de características.
  • La estimación OOB ofrece una evaluación rápida del rendimiento sin dividir explícitamente los datos.

Limitaciones

  • Menor interpretabilidad que un solo árbol de decisión: el modelo es una "caja negra" más difícil de explicar.
  • Modelos grandes con muchos árboles pueden requerir más memoria y tiempo de cómputo, tanto para entrenar como para predecir.
  • Puede sesgarse hacia variables con más niveles al calcular importancia basada en impureza; la importancia por permutación corrige parcialmente esto.

Parámetros importantes

  • n_estimators: número de árboles en el bosque. Más árboles suelen mejorar la estabilidad pero aumentan el costo computacional.
  • max_features: número de características a considerar en cada división (sqrt, log2, o un número fijo).
  • max_depth: profundidad máxima de cada árbol (limitarla puede evitar árboles muy grandes).
  • min_samples_split / min_samples_leaf: controlan el tamaño mínimo de las divisiones/hojas.
  • bootstrap: si se usa muestreo con reemplazo (bootstrap) para generar los subconjuntos.

Cuándo usar Random Forest

  • Problemas de clasificación o regresión con muchas variables y posibles interacciones no lineales.
  • Cuando se necesita una solución robusta con buena precisión sin un extenso ajuste de hiperparámetros.
  • Para obtener una primera evaluación de la importancia de las variables antes de aplicar modelos más interpretables o más complejos.

Buenas prácticas

  • Escalar características no suele ser necesario para Random Forest.
  • Ajustar n_estimators hasta que la curva de validación se estabilice y controlar la complejidad con max_depth y min_samples_leaf.
  • Usar validación cruzada o la estimación OOB para evaluar rendimiento y evitar sobreajuste por selección de hiperparámetros.
  • Si se necesita interpretabilidad, combinar Random Forest con técnicas de explicación (SHAP, LIME) o reducir el modelo usando la importancia de variables.

En resumen, el bosque aleatorio (Random Forest) es una técnica poderosa y versátil para clasificación y regresión que aprovecha el promedio de muchos árboles diversos para obtener predicciones más estables y precisas, especialmente útil cuando hay muchas variables y relaciones complejas en los datos.

Pasos del algoritmo


Así es como se produce la agrupación.

  • De todo el conjunto de datos se toma un subconjunto (conjunto de entrenamiento).
  • El algoritmo agrupa los datos en grupos y subgrupos. Si se trazan líneas entre los puntos de datos de un subgrupo, y líneas que conectan los subgrupos en el grupo, etc., la estructura se parecería a un árbol. Esto se llama árbol de decisión.
    • En cada división o nodo de este cluster/árbol/dendrograma las variables son elegidas al azar por el programa para juzgar si los puntos de datos tienen una relación estrecha o no.
  • El programa hace múltiples árboles, es decir, un bosque. Cada árbol es diferente porque para cada división en un árbol, las variables se eligen al azar.
  • A continuación, se utiliza el resto del conjunto de datos (no el conjunto de entrenamiento) para predecir qué árbol de los bosques realiza la mejor clasificación de los puntos de datos (en el conjunto de datos se conoce la clasificación correcta).
  • El árbol con mayor poder de predicción se muestra como resultado del algoritmo.



 

Utilizando el algoritmo


En un algoritmo de bosque aleatorio, el número de árboles cultivados (ntree) y el número de variables que se utilizan en cada división (mtry) pueden elegirse a mano; los ajustes de ejemplo son 500 árboles, 71 variables.



 



Buscar dentro de la enciclopedia
AlegsaOnline.com - 2020 / 2025 - License CC3