Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Random Forest

Un bosque aleatorio promedia numerosos árboles de decisión, cada uno entrenado con una muestra bootstrap y divisiones aleatorias de características, para tareas de clasificación y regresión.

El bosque aleatorio es un algoritmo de aprendizaje supervisado que entrena muchos árboles de decisión con variaciones aleatorias de los mismos datos y combina sus predicciones: mediante votación o con la probabilidad media de las clases para la clasificación, y mediante la media para la regresión. Leo Breiman describió el método en su artículo de 2001 Random Forests, basándose en su técnica anterior de bagging. Un árbol profundo aislado memoriza sus filas de entrenamiento, por lo que sus predicciones cambian con pequeñas variaciones en los datos. Calcular la media de cientos de árboles que cometen errores distintos cancela gran parte de esa varianza, lo que convierte al bosque aleatorio en uno de los modelos predeterminados más fiables para datos tabulares. No necesita escalado de características, gestiona interacciones no lineales entre características y su error de prueba se estabiliza al añadir más árboles.

Cómo funciona un bosque aleatorio#

El bosque aleatorio añade dos fuentes de aleatoriedad al entrenamiento de árboles, porque un ensemble solo es útil cuando sus miembros cometen errores distintos, y después combina los árboles:

  • Agregación bootstrap (bagging): Cada árbol se entrena con una muestra bootstrap, un conjunto de filas extraídas con reemplazo de los datos de entrenamiento y del mismo tamaño que estos. Algunas filas aparecen varias veces y aproximadamente el 37 % de las filas (una fracción de 1/e) queda fuera de cada muestra.
  • Subconjuntos aleatorios de características: En cada división, un árbol solo considera un subconjunto aleatorio de las características. De forma predeterminada, el clasificador de Scikit-learn usa la raíz cuadrada del número de características; así, un conjunto de datos con 100 características ofrece 10 candidatas por división, mientras que su regresor las considera todas. Por tanto, una característica dominante no puede ocupar la parte superior de todos los árboles, lo que reduce su correlación.
  • Agregación: El método original de Breiman aplica el voto mayoritario de los árboles. La implementación de Scikit-learn calcula en su lugar la media de las probabilidades de clase de todos los árboles, y los bosques de regresión calculan la media de las predicciones numéricas de los árboles.

Los árboles crecen en profundidad y no se podan, por lo que cada uno tiene un sesgo bajo y una varianza alta. Calcular la media de muchos árboles con baja correlación reduce la varianza y mantiene un sesgo bajo, un movimiento favorable en el equilibrio entre sesgo y varianza. Como los árboles son independientes, también se entrenan en paralelo en los núcleos de CPU.

Error fuera de bolsa e importancia de las características#

Las filas que un árbol nunca ha visto actúan como un conjunto de prueba integrado. La puntuación fuera de bolsa (OOB) predice cada fila de entrenamiento usando solo los árboles cuyas muestras bootstrap la dejaron fuera, lo que permite estimar la exactitud con datos no vistos sin reservar un conjunto de validación aparte. Los bosques también informan de la importancia de las características. La importancia predeterminada basada en la impureza mide cuánto reduce cada característica la impureza en todas las divisiones y favorece las características con muchos valores únicos; por eso, la importancia por permutación —la caída de la puntuación tras barajar una característica— es una opción más fiable para ordenar las características.

Este ejemplo compara un árbol completamente desarrollado con un bosque aleatorio de scikit-learn en el conjunto de datos de cáncer de mama incluido, mediante validación cruzada de 5 particiones; después consulta la puntuación OOB del bosque:

from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifier

# 569 tumors described by 30 numeric features, labeled malignant or benign
X, y = load_breast_cancer(return_X_y=True)

# One fully grown tree vs. a forest of 300 trees on bootstrap samples
tree = DecisionTreeClassifier(random_state=0)
forest = RandomForestClassifier(n_estimators=300, oob_score=True, random_state=0)

# Compare 5-fold cross-validated accuracy
print(f"Single tree: {cross_val_score(tree, X, y, cv=5).mean():.3f}")
print(f"Forest:      {cross_val_score(forest, X, y, cv=5).mean():.3f}")

# Out-of-bag score: each row is predicted only by trees that never trained on it
forest.fit(X, y)
print(f"OOB score:   {forest.oob_score_:.3f}")

El script imprime 0.917 para el árbol individual, 0.963 para el bosque y una puntuación OOB de 0.965. El bosque reduce la tasa de error del árbol del 8.3 % al 3.7 %, y la estimación OOB queda a 0.002 de la exactitud validada de forma cruzada en una sola ejecución de entrenamiento.

Aplicaciones en el mundo real#

  • Riesgo crediticio y detección de fraude: Los bancos puntúan solicitudes de préstamos y transacciones a partir de registros tabulares, como ingresos, antigüedad de la cuenta y patrones de gasto; la salida de probabilidad del bosque establece el umbral de decisión.
  • Predicción de riesgos sanitarios: Los modelos clínicos predicen resultados como los reingresos a partir de los registros de pacientes, y la importancia por permutación muestra qué mediciones influyen en cada predicción.
  • Análisis de imágenes satelitales: Los bosques aleatorios llevan mucho tiempo usándose para cartografiar la cobertura del suelo; clasifican cada píxel o parcela a partir de los valores de las bandas espectrales y los índices de vegetación.
  • Modelado del rendimiento de cultivos: Un detector YOLO26 cuenta frutos o plantas en imágenes de campo, con una detección por objeto; esos recuentos por parcela se combinan con las mediciones del suelo y el tiempo meteorológico en columnas de un bosque aleatorio que predice el rendimiento.
  • Árbol de decisión individual: Un árbol es fácil de interpretar como un conjunto de reglas «si-entonces», pero pequeños cambios en los datos pueden dar lugar a un árbol completamente distinto. Un bosque sacrifica esa legibilidad a cambio de una varianza mucho menor.
  • Aumento de gradiente: XGBoost, LightGBM y CatBoost construyen árboles poco profundos, uno tras otro; cada uno corrige los errores de los anteriores. El boosting suele obtener mejores puntuaciones en benchmarks tabulares tras el ajuste, mientras que los árboles independientes de un bosque aleatorio se entrenan en paralelo y ofrecen buenos resultados con la configuración predeterminada.
  • Modelos fundacionales tabulares: Los transformers preentrenados predicen sobre una tabla nueva en una sola pasada hacia delante, sin ajustar un modelo para cada conjunto de datos, y ahora compiten con los ensembles de árboles ajustados en tablas pequeñas.
  • Árboles extremadamente aleatorizados: Para cada característica candidata, los árboles extra eligen un umbral aleatorio en lugar de buscar el mejor, y se quedan con la mejor de esas divisiones aleatorias. De forma predeterminada, Scikit-learn los entrena con el conjunto de datos completo, sin muestreo bootstrap, y prescindir de la búsqueda del umbral hace que su ajuste sea más rápido que el de un bosque aleatorio del mismo tamaño.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático