programa
La regresión con Random Forest es una de las formas más fiables de modelar datos tabulares no lineales con una configuración mínima. Te ofrece un modelo funcional en poco tiempo, incluso cuando los datos son ruidosos o las relaciones no están claramente definidas.
Esta guía te acompaña por todo el flujo de trabajo de la regresión con Random Forest. Entenderás cómo funciona el algoritmo y lo implementarás en Python. También veremos técnicas de evaluación y ajuste fino para mejorar el rendimiento.
Conviértete en un Científico ML
¿Qué es la regresión con random forest?
La regresión con random forest es una técnica de conjunto que construye múltiples árboles de decisión aleatorizados y combina sus salidas para producir una predicción continua. En lugar de depender de un único modelo, agrega las predicciones de muchos árboles, normalmente promediando sus resultados.

¿Por qué varios árboles? Un único árbol de decisión tiende a sobreajustar. Capta ruido junto con señal, sobre todo al trabajar con datos reales y desordenados.
Agregación bootstrap y aleatoriedad de características
La fortaleza del modelo de regresión con Random Forest viene de cómo introduce aleatoriedad en cada paso y luego agrega resultados para reducir la varianza. Veamos este mecanismo interno.
Agregación bootstrap, o bagging, entrena cada árbol con un subconjunto aleatorio distinto de los datos. Esto introduce variación entre árboles y reduce el riesgo de sobreajuste.
Aleatoriedad de características añade otra capa de diversidad al seleccionar un subconjunto aleatorio de variables en cada partición. Juntas, estas técnicas estabilizan las predicciones y mejoran la generalización.
Muestreo bootstrap y aleatoriedad de características
Random Forest empieza con muestreo bootstrap, también conocido como bagging. Cada árbol se entrena con una muestra aleatoria del conjunto de datos original. Así, los árboles aprenden patrones distintos en lugar de repetir la misma estructura.
También introduce aleatoriedad en las características. En cada división, el modelo solo considera un subconjunto aleatorio de variables en lugar de todas las disponibles. Esto evita que unas pocas variables dominantes controlen cada árbol.
Juntas, el bagging y la aleatoriedad de características crean un conjunto de árboles poco correlacionados que cometen errores diferentes, de modo que, al combinarlos, sus predicciones anulan el ruido y mejoran la precisión global.
Crecimiento de árboles y agregación de predicciones
Cada árbol del bosque crece en profundidad, a menudo sin poda. Esto permite al modelo capturar patrones complejos, interacciones y relaciones no lineales en los datos.
Estos árboles individuales pueden sobreajustar, pero ese efecto se reduce cuando Random Forest agrega sus salidas para el resultado final.
El equilibrio sesgo-varianza
Random forest equilibra dos factores clave: la fortaleza de los árboles individuales y la diversidad del bosque.
Los árboles profundos tienen bajo sesgo porque se ajustan muy bien a los datos de entrenamiento. Al mismo tiempo, la aleatoriedad en el muestreo de datos y en la selección de variables reduce la correlación entre árboles. Al promediar muchos árboles de bajo sesgo y débilmente correlacionados, el modelo reduce la varianza total sin aumentar el sesgo.
Preprocesamiento de datos y flujo de implementación
A continuación, pondremos los conceptos en práctica y veremos técnicas para transformar datos en bruto en un modelo de Random Forest operativo.
Limpieza de datos e ingeniería de características
La preparación de datos para modelos de Random Forest suele empezar gestionando las variables categóricas.
- Para categorías pequeñas, el one-hot encoding funciona bien y es fiable
- Para variables de alta cardinalidad, el target encoding suele ser más eficiente, ya que capta señales a nivel de categoría sin aumentar en exceso la dimensionalidad
Después, toca tratar los datos faltantes. El enfoque depende de la librería que uses. Algunas implementaciones pueden manejar valores ausentes directamente durante las divisiones, mientras que otras esperan que los rellenes. En la mayoría de los casos, una imputación simple con la mediana o la moda es suficiente. Como Random Forest no depende de distribuciones estrictas, estos métodos sencillos funcionan bien en la práctica.
Al final, el mayor impacto viene de la ingeniería de características. Por ejemplo, las variables rezagadas (lag) introducen dependencias temporales, los agregados móviles capturan tendencias locales y las estadísticas por grupo codifican patrones de nivel superior. Estas variables creadas permiten al modelo representar mejor la información y mejorar el rendimiento predictivo.
Si quieres profundizar, te recomiendo mi tutorial sobre feature engineering en machine learning.
Establecer líneas base y estrategias de partición
Antes de ajustar nada, el primer paso es dividir los datos correctamente.
En problemas tabulares estándar, eso suele significar separar el conjunto de datos en conjuntos de entrenamiento, validación y prueba para que el modelo se entrene en una partición, se ajuste en otra y se evalúe en una final intacta.
Esa separación importa porque te da una lectura realista de cómo se comportará el modelo con datos nuevos.

En series temporales, la estrategia de partición cambia. Las divisiones aleatorias pueden filtrar información futura al pasado, lo que hace que el rendimiento parezca mejor de lo que es.
La validación walk-forward evita ese problema entrenando en una ventana temporal inicial, validando en la siguiente y avanzando paso a paso. Así, la evaluación se alinea con el uso real del modelo en producción.
Implementación end-to-end en Python
La implementación sigue un flujo sencillo de scikit-learn:
- Importar el modelo
- Dividir los datos
- Ajustar el estimador
- Generar predicciones
- Evaluar el resultado
En la práctica, una configuración típica se ve así:
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_absolute_error, root_mean_squared_error
import matplotlib.pyplot as plt
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
model = RandomForestRegressor(random_state=42)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
mae = mean_absolute_error(y_test, y_pred)
rmse = root_mean_squared_error(y_test, y_pred)
Una vez entrenado y evaluado el modelo, el siguiente paso es visualizar los valores predichos frente a los reales.
Un diagrama de dispersión facilita detectar sesgos sistemáticos, como predicciones que se quedan sistemáticamente por encima o por debajo del objetivo. También ayuda a revelar la heterocedasticidad, donde los errores de predicción se amplían a medida que crecen los valores objetivo.
Ajuste de hiperparámetros y evaluación
Tras entrenar el modelo, el siguiente paso es ajustar parámetros clave y evaluar el rendimiento. Estas son las técnicas más habituales:
Elegir e interpretar métricas de regresión
El error cuadrático medio de la raíz (RMSE), el error absoluto medio (MAE) y R² miden el rendimiento de forma diferente.
- RMSE penaliza más los errores grandes porque eleva al cuadrado los residuos. Es útil cuando los fallos grandes son costosos y hay que minimizarlos
- MAE trata todos los errores por igual, por lo que ofrece una visión más estable cuando hay valores atípicos o cuando importa más un error medio constante que picos ocasionales
- R² mide cuánta varianza del objetivo explica el modelo, lo que ayuda a comparar el ajuste global, pero no refleja directamente el error de predicción
Más allá de las métricas agregadas, el análisis de errores aporta información más profunda. Los residuos, definidos como la diferencia entre los valores reales y los predichos, deben examinarse en distintos segmentos de datos.
Representar los residuos frente a los valores predichos o los objetivos reales ayuda a revelar patrones. Por ejemplo, si los errores aumentan a medida que crece el objetivo, indica heterocedasticidad. Si las predicciones caen de forma consistente por encima o por debajo de la diagonal, indica sesgo sistemático.
Segmentar errores por grupos de características o rangos del objetivo también ayuda a identificar modos de fallo. El modelo puede rendir bien en valores intermedios pero fallar en los extremos, o comportarse de forma distinta entre segmentos de datos.
Usar la evaluación out-of-bag (OOB)
Random Forest ofrece un mecanismo de validación incorporado mediante el muestreo out-of-bag. Como cada árbol se entrena con una muestra bootstrap, una parte de los datos queda fuera y no se ve durante el entrenamiento. Estas muestras out-of-bag pueden usarse para evaluar el modelo sin crear un conjunto de validación aparte. A esto se refiere la puntuación OOB.

Sin embargo, la evaluación OOB no siempre basta. Para la validación final del modelo, especialmente en escenarios críticos o cuando hay riesgo de fuga de información, se requiere un conjunto de prueba reservado estricto.
Priorizar hiperparámetros clave para el ajuste
En Random Forest, los parámetros max_features y n_estimators suelen ser los que más influyen en el rendimiento.
-
max_featurescontrola el número máximo de variables consideradas en cada división. Valores bajos aumentan la aleatoriedad y reducen la correlación entre árboles, lo que puede mejorar la generalización. Valores altos hacen árboles más fuertes pero más similares, lo que puede aumentar la varianza. -
n_estimatorscontrola el número de árboles del bosque. Aumentarlo suele mejorar el rendimiento al estabilizar las predicciones, pero también incrementa el tiempo de cómputo. A partir de cierto punto, las ganancias son marginales, así que conviene identificar ese umbral.
Estos parámetros deben ajustarse mediante validación cruzada para equilibrar complejidad del modelo, tiempo de entrenamiento y rendimiento predictivo.
Importancia de variables e interpretabilidad
A menudo se trata a los modelos Random Forest como cajas negras, pero ofrecen varias formas de entender cómo influyen las variables en las predicciones. Veamos algunas importantes.
Importancia basada en impureza
Random Forest calcula la importancia de variables usando la reducción media de impureza (MDI). Cada vez que una variable se usa para dividir un nodo, el modelo mide cuánto reduce esa división la impureza, como la varianza en tareas de regresión. Estas reducciones se acumulan a lo largo de todos los árboles, dando una puntuación que refleja cuánto contribuye una variable a mejorar las predicciones.
Aunque este método es rápido y está integrado en el modelo, tiene limitaciones conocidas. La MDI tiende a favorecer variables continuas o categóricas con muchos valores únicos. Estas ofrecen más puntos de corte potenciales, lo que puede inflar sus puntuaciones de importancia aunque no sean realmente más predictivas.
Importancia por permutación
La importancia por permutación mide cómo cambia el rendimiento cuando se barajan aleatoriamente los valores de una variable en un conjunto de datos de hold-out. Si al barajar una variable el rendimiento empeora notablemente, esa variable es importante. Si el impacto es pequeño, probablemente su valor predictivo es limitado.
Este enfoque refleja el comportamiento real del modelo, lo que lo hace más fiable para el análisis.
Sin embargo, las variables correlacionadas complican la lectura. Cuando dos variables contienen información similar, barajar una puede no afectar mucho al rendimiento porque la otra sigue aportando señal. Como resultado, la importancia puede repartirse entre variables correlacionadas, lo que exige una interpretación cuidadosa.
Valores SHAP
Los valores SHAP (Shapley Additive Explanations) explican cuánto aporta cada variable a una predicción individual. Asignan a cada variable un valor que representa cuánto empujó la predicción por encima o por debajo de una referencia.
Este método se usa a menudo para explicar decisiones del modelo y generar confianza. Para verlo en detalle, echa un vistazo a nuestro tutorial sobre valores SHAP en machine learning.
Limitaciones y fallos habituales
La regresión con Random Forest es fiable en muchos escenarios, pero tiene limitaciones claras. Entenderlas te ayuda a decidir cuándo usarla y cuándo pasar a otro enfoque.
Límites de extrapolación y casos extremos
Random Forest no puede extrapolar más allá del rango de los datos de entrenamiento.
Cada árbol hace predicciones basadas en las divisiones observadas durante el entrenamiento, por lo que la salida final siempre queda acotada por los valores mínimos y máximos del objetivo vistos en el conjunto de datos. Si el modelo solo vio objetivos entre 10 y 100, no podrá predecir 120, por fuerte que sea la señal de entrada. Esto es un problema en escenarios como previsión de crecimiento o sistemas guiados por tendencias.
El modelo también sufre con datos muy de alta dimensión y dispersos, como representaciones de texto o vectores one-hot con miles de columnas. En estos casos, los árboles se vuelven ineficientes y no capturan divisiones significativas. Alternativas prácticas incluyen
- Reducción de dimensionalidad
- Selección de características
- Usar modelos diseñados para entradas dispersas, como la regresión Ridge
Compromisos de interpretabilidad
Un único árbol ofrece un camino claro desde la entrada hasta la predicción, lo que facilita la explicación. Un bosque, en cambio, agrega cientos de árboles, lo que dificulta rastrear decisiones individuales.
En entornos muy regulados, este compromiso importa. Si las explicaciones deben ser simples y directamente trazables, puede ser más apropiado un único árbol de decisión o un modelo lineal. Si la prioridad es el rendimiento y las explicaciones pueden apoyarse en métodos como la importancia de variables o SHAP, Random Forest sigue siendo una gran opción.
Restricciones de cómputo, memoria y latencia
Random Forest escala linealmente con el número de árboles y el tamaño de los datos. A medida que crecen los conjuntos de datos, aumentan el tiempo de entrenamiento y el uso de memoria porque cada árbol debe construirse y almacenarse. Los bosques grandes también pueden ralentizar la inferencia, ya que las predicciones requieren agregar las salidas de todos los árboles.
En sistemas de producción con requisitos estrictos de latencia o coste, esto puede convertirse en un cuello de botella. Reducir el número de árboles, limitar la profundidad o restringir el número de variables consideradas en cada división ayuda a controlar el uso de recursos. Estos ajustes intercambian algo de precisión por tiempos de entrenamiento y predicción más rápidos.
Regresión con random forest frente a alternativas: cómo elegir
Puede que te preguntes si la regresión con Random Forest es el algoritmo adecuado para tu caso de uso o qué alternativa deberías considerar.
Crear un marco de comparación de modelos
Los casos de uso difieren, pero hay un enfoque que siempre ayuda: comparar el rendimiento de distintos modelos (como regresión lineal, support vector regression, gradient boosting, etc.) en el mismo conjunto de datos junto al Random Forest Regressor.
Es decir, usa exactamente las mismas particiones de entrenamiento, validación y prueba para cada modelo, y evalúalos con los mismos criterios de error y supuestos de negocio.
Regresión con random forest vs. regresión lineal y support vector regression
Random Forest y la regresión lineal resuelven problemas muy distintos. La regresión lineal funciona mejor cuando la relación entre entradas y objetivo es mayormente lineal y necesitas que los coeficientes sean fáciles de explicar. También es la mejor opción cuando la extrapolación estricta importa, ya que puede extenderse más allá del rango observado del objetivo.
Random Forest, en cambio, es mejor con patrones no lineales, interacciones de variables y fronteras irregulares. Esto lo hace más potente para sistemas reales complejos, pero menos adecuado para previsiones dominadas por tendencias.
Support vector regression (SVR) juega en otra liga. Puede rendir bien en conjuntos de datos pequeños, pero es mucho más sensible al escalado de variables y suele requerir un ajuste más cuidadoso. Random Forest no depende de entradas estandarizadas, lo que lo hace más fácil de usar en flujos tabulares típicos.
SVR puede ser una gran opción cuando el conjunto es compacto y el espacio de variables limitado, pero se vuelve más difícil de mantener a medida que crecen el volumen de datos, la complejidad de variables o la presión operativa.
Regresión con random forest vs. gradient boosting y árbol de decisión único
Random Forest construye árboles de forma independiente y promedia sus resultados. El gradient boosting construye árboles secuencialmente, donde cada nuevo árbol corrige los errores de los anteriores.
Los métodos de gradient boosting, como XGBoost, suelen alcanzar techos de precisión más altos, especialmente en datos tabulares estructurados. Sin embargo, requieren más ajuste y son más sensibles a los hiperparámetros. El entrenamiento también puede ser más lento por la naturaleza secuencial del boosting. Random Forest es más fácil de entrenar, más estable desde el primer momento y menos sensible a la configuración.
Comparado con un único árbol de decisión, Random Forest es mucho más estable y preciso. Un árbol único es fácil de interpretar porque puedes seguir cada camino de decisión, pero es muy sensible a pequeños cambios en los datos. Random Forest reduce esta inestabilidad al promediar muchos árboles, aunque pierde interpretabilidad directa.
Resumen de comparación de modelos
|
Modelo |
Maneja no linealidad |
Extrapolación |
Interpretabilidad |
Complejidad de ajuste |
Coste de entrenamiento |
|
Random Forest Regression |
Fuerte |
Débil |
Media |
Moderada |
Moderado |
|
Linear Regression |
Débil a moderada |
Fuerte |
Alta |
Baja |
Bajo |
|
Support Vector Regression |
Fuerte |
Débil a moderada |
Baja |
Alta |
Alta (con muchos datos) |
|
Gradient Boosting (XGBoost) |
Muy fuerte |
Débil |
Baja a media |
Alta |
Alta |
|
Single Decision Tree |
Moderada |
Débil |
Alta |
Baja |
Bajo |
Reflexiones finales
La regresión con Random Forest funciona mejor como modelo por defecto cuando los datos están desordenados, las relaciones son no lineales y necesitas una buena línea base sin un preprocesamiento pesado. Maneja tipos de variables mixtos, capta interacciones y ofrece un rendimiento estable con una configuración mínima.
El flujo típico sigue una progresión clara. Empieza con el mínimo preprocesamiento y céntrate en estructurar bien los datos. Construye una línea base con un modelo Random Forest por defecto y evalúalo con métricas consistentes. A partir de ahí, ajusta hiperparámetros clave como el número de árboles y la estrategia de muestreo de variables para mejorar el rendimiento.
Una vez que el modelo se estabilice, pasa a una evaluación más profunda analizando residuos, segmentando errores y usando SHAP para explicar predicciones cuando haga falta.
Como siguiente paso, para una comprensión profunda y práctica, echa un vistazo a este curso sobre machine learning con modelos basados en árboles en Python.
Preguntas frecuentes sobre regresión con Random Forest
¿Cuáles son las limitaciones del modelo Random Forest?
Random Forest no puede extrapolar más allá del rango de los datos de entrenamiento y puede tener dificultades con conjuntos muy de alta dimensión y dispersos. Además, es menos interpretable que un solo árbol de decisión y puede volverse costoso computacionalmente a medida que crece el número de árboles.
¿Cómo sé si mi modelo Random Forest está sobreajustando?
Compara el rendimiento en entrenamiento y validación. Si el error de entrenamiento es bajo pero el de validación es significativamente mayor, el modelo está sobreajustando. También puedes comprobar si al aumentar la profundidad de los árboles no mejoran las métricas de validación.
¿Es mejor XGBoost o Random Forest?
XGBoost suele lograr mayor precisión porque construye árboles secuencialmente y corrige errores en cada paso. Funciona mejor cuando puedes invertir tiempo en el ajuste de hiperparámetros. Random Forest, en cambio, construye árboles de forma independiente y promedia sus predicciones. Es más estable, requiere menos ajuste y funciona bien como línea base.
¿Puede Random Forest trabajar con series temporales?
No directamente. Tienes que convertir la serie temporal a formato tabular usando variables rezagadas (lag), estadísticas móviles o transformaciones basadas en ventanas antes de entrenar.
Srujana es una redactora técnica autónoma con una licenciatura de cuatro años en Informática. Escribir sobre diversos temas, como la ciencia de datos, la computación en la nube, el desarrollo, la programación, la seguridad y muchos otros, le resulta natural. Le encanta la literatura clásica y explorar nuevos destinos.
