--- title: "Algoritmos de Regresión" url: https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/regression-algorithms/ description: "QuickML is a fully no-code ML pipeline builder service in the Catalyst development platform for creating machine-learning pipelines with end-to-end solutions." last_updated: 2026-03-24T12:08:39Z service: QuickML type: general --- # Algoritmos de regresión La regresión es la tarea de predecir una cantidad continua. QuickML cuenta con los siguientes algoritmos de regresión 1. ### AdaBoost Regression Adaboost es un algoritmo de aprendizaje automático que construye una serie de árboles de decisión pequeños, de un solo paso (un nivel), adaptando cada árbol para predecir casos difíciles omitidos por los árboles anteriores y combinando todos los árboles en un solo modelo. Esta regresión comienza ajustando un regresor en el conjunto de datos original, seguido del ajuste de copias adicionales del regresor en el mismo conjunto de datos. Los pesos de estas instancias se ajustan según el error de la predicción actual. De modo que los regresores subsiguientes se centran más en los casos difíciles. El boosting en aprendizaje automático es una forma de combinar múltiples modelos simples en un solo modelo compuesto. Por eso el boosting se conoce como un modelo aditivo, ya que los modelos simples (también conocidos como aprendices débiles) se añaden uno a la vez, mientras se mantienen los árboles existentes en el modelo sin cambios. A medida que combinamos más y más modelos simples, el modelo final completo se convierte en un predictor más fuerte. #### Hiperparámetros:
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `base_estimator` | El estimador base a partir del cual se construye el conjunto potenciado. Si es None, entonces el estimador base es DecisionTreeRegressor inicializado con max_depth=3. | object | Cualquier modelo de regresión | None |
| `n_estimators` (number of estimators) | El número máximo de estimadores en los que se termina el boosting. En caso de ajuste perfecto, el procedimiento de aprendizaje se detiene anticipadamente. | int | [1, 500] | 50 |
| `learning_rate` | Peso aplicado a cada regresor en cada iteración de boosting. Una tasa de aprendizaje más alta aumenta la contribución de cada regresor. | float | (0.0, +Inf) | 1.0 |
| `loss` | La función de pérdida a usar cuando se actualizan los pesos después de cada iteración de boosting. | string | {'linear', 'square', 'exponential'} | "linear" |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| learning_rate | La tasa de aprendizaje utilizada para el entrenamiento. | float | (0,1] | 0.03 |
| `l2_leaf_reg` (l2_leaf_regularization) | Coeficiente del término de regularización L2 de la función de costo. | float | [0,+Inf) | 3.0 |
| `rsm` (random subspace method) | El porcentaje de características a usar en cada selección de división, cuando las características se seleccionan nuevamente de forma aleatoria. | float | (0,1] | None |
| `loss_function` | La métrica a usar en el entrenamiento. El valor especificado también determina el problema de aprendizaje automático a resolver. Algunas métricas soportan parámetros opcionales. | string | {'RMSE', 'MAE', 'Quantile:alpha=value, 'LogLinQuantile: alpha=value', 'Poisson', 'MAPE', 'Lq:q=value', 'SurvivalAft:dist=value; scale=value'} Note : range of value = [0, 1] | 'RMSE' |
| `nan_mode` | El método para procesar valores faltantes en el conjunto de datos de entrada. | string | {'Forbidden', 'Min', 'Max'} | Min |
| `leaf_estimation_method` | El método utilizado para calcular los valores en las hojas. | string | {"Newton", "Gradient"} | None |
| `score_function` | El tipo de puntuación utilizado para seleccionar la siguiente división durante la construcción del árbol. | string | {L2, Cosine} | Cosine |
| `max_depth` | Profundidad máxima del árbol. | int | [1,+Inf) | None |
| `n_estimators` (number of estimators) | El número máximo de árboles que se pueden construir al resolver problemas de aprendizaje automático. Al usar otros parámetros que limitan el número de iteraciones, el número final de árboles puede ser menor que el número especificado en este parámetro. | int | [1, 500] | None |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `criterion` | La función para medir la calidad de una división. | string | {"mse", "friedman_mse", "mae"} | "mse" |
| `splitter` | La estrategia utilizada para elegir la división en cada nodo. | string | {"best", "random"} | "best" |
| `max_depth` | La profundidad máxima del árbol. Si es None, entonces los nodos se expanden hasta que todas las hojas sean puras o hasta que todas las hojas contengan menos de min_samples_split muestras. | int | (0, +Inf) | None |
| `min_samples_split` | El número mínimo de muestras requeridas para dividir un nodo interno | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | El número mínimo de muestras requeridas para estar en un nodo hoja. Un punto de división en cualquier profundidad solo se considerará si deja al menos min_samples_leaf muestras de entrenamiento en cada una de las ramas izquierda y derecha. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | La fracción ponderada mínima de la suma total de pesos (de todas las muestras de entrada) requerida para estar en un nodo hoja. | float | [0, 0.5] | 0 |
| `max_features` | El número de características a considerar cuando se busca la mejor división | int, float or string | (0, n_features] or { "sqrt", "log2"}, | None |
| `max_leaf_nodes` | Hacer crecer un árbol con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza. | int | (1, +Inf) | None |
| `min_impurity_decrease` | Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor. | float | [0, +Inf) | 0.0 |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `alpha` | Constante que multiplica los términos de penalización. | float | (0, +Inf) | 1.0 |
| `l1_ratio` | El parámetro de mezcla ElasticNet, con 0 <= l1_ratio <= 1. Para l1_ratio = 0 la penalización es una penalización L2. Para l1_ratio = 1 es una penalización L1. Para 0 < l1_ratio < 1, la penalización es una combinación de L1 y L2. | float | [0, 1] | 0.5 |
| `fit_intercept` | Si se debe estimar el intercepto o no. | bool | True or False | True |
| `normalize` | Este parámetro se ignora cuando fit_intercept se establece en False. Si es True, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la norma l2. | bool | True or False | False |
| `tol` (tolerance) | La tolerancia para la optimización: si las actualizaciones son más pequeñas que tol, el código de optimización verifica el gap dual para la optimalidad y continúa hasta que sea más pequeño que tol. | float | [0.0, +Inf) | 1e-4 |
| `warm_start` | Cuando se establece en True, reutiliza la solución de la llamada anterior a fit como inicialización, de lo contrario, simplemente borra la solución anterior. | bool | True or False | False |
| `positive` | Cuando se establece en True, fuerza a los coeficientes a ser positivos. | bool | True or False | False |
| `selection` | Si se establece en 'random', un coeficiente aleatorio se actualiza en cada iteración en lugar de recorrer las características secuencialmente por defecto. | string | {"cyclic", "random"} | "cyclic" |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `loss` | Función de pérdida a optimizar. 'ls' se refiere a la regresión de mínimos cuadrados. 'lad' (desviación absoluta mínima) es una función de pérdida altamente robusta basada únicamente en la información de orden de las variables de entrada. 'huber' es una combinación de ambas. 'quantile' permite la regresión cuantílica (use alpha para especificar el cuantil). | string | {'ls', 'lad', 'huber', 'quantile'} | 'ls' |
| `learning_rate` | La tasa de aprendizaje reduce la contribución de cada árbol por learning_rate. | float | (0.0, +inf) | 0.1 |
| `n_estimators` (number of estimators) | El número de etapas de boosting a realizar. El gradient boosting es bastante robusto al sobreajuste, por lo que un número grande generalmente resulta en mejor rendimiento. | int | [1, 500) | 100 |
| `criterion` | La función para medir la calidad de una división. | string | {'friedman_mse', 'mse', 'mae'} | 'friedman_mse' |
| `subsample` | La fracción de muestras a usar para ajustar los aprendices base individuales. | float | (0.0, 1.0] | 1.0 |
| `max_depth` | Profundidad máxima de los estimadores de regresión individuales. La profundidad máxima limita el número de nodos en el árbol. | int | (0, +Inf) | None |
| `min_samples_split` | El número mínimo de muestras requeridas para dividir un nodo interno | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | El número mínimo de muestras requeridas para estar en un nodo hoja. Un punto de división en cualquier profundidad solo se considerará si deja al menos min_samples_leaf muestras de entrenamiento en cada una de las ramas izquierda y derecha. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | La fracción ponderada mínima de la suma total de pesos (de todas las muestras de entrada) requerida para estar en un nodo hoja. | float | [0, 0.5] | 0 |
| `max_features` | El número de características a considerar cuando se busca la mejor división | int, float or string | (0, n_features] or { "sqrt", "log2"} | None |
| `max_leaf_nodes` | Hacer crecer árboles con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza. | int | (1, +Inf) | None |
| `min_impurity_decrease` | Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor. | float | [0, +Inf) | 0.0 |
| `init` | Un objeto estimador que se utiliza para calcular las predicciones iniciales. init debe proporcionar fit y predict. Si es 'zero', las predicciones brutas iniciales se establecen en cero. | object | estimador (Modelo de regresión excepto cat boost) o 'zero' | None |
| `warm_start` | Cuando se establece en True, reutiliza la solución de la llamada anterior a fit y añade más estimadores al conjunto, de lo contrario, simplemente borra la solución anterior. | bool | True or False | False |
| `tol` (tolerance) | Tolerancia para la parada anticipada. Cuando la pérdida no mejora en al menos tol durante n_iter_no_change iteraciones (si se establece en un número), el entrenamiento se detiene. | float | [0.0, +Inf) | 1e-4 |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `n_neighbors` (number of neighbours) | Número de vecinos a usar por defecto para consultas kneighbors. | int | [1, n] n = Número total de registros en el conjunto de datos | 5 |
| `weights` | Función de peso utilizada en la predicción.
|
string | {'uniform', 'distance'} | 'uniform' |
| `algorithm` | Algoritmo utilizado para calcular los vecinos más cercanos | string | {'auto', 'ball_tree', 'kd_tree', 'brute'} | 'auto' |
| `leaf_size` | Tamaño de hoja pasado a BallTree o KDTree. Esto puede afectar la velocidad de la construcción y la consulta, así como la memoria requerida para almacenar el árbol. El valor óptimo depende de la naturaleza del problema. | int | (1, +Inf) | 30 |
| `p` | Parámetro de potencia para la métrica de Minkowski. Cuando p = 1, esto es equivalente a usar manhattan_distance (l1), y euclidean_distance (l2) para p = 2. Para p arbitrario, se usa minkowski_distance (l_p). | int | [1,3] | 2 |
| `metric` | Métrica a usar para el cálculo de distancia. El valor predeterminado es "minkowski", que resulta en la distancia euclidiana estándar cuando p = 2. | str | {'cityblock', 'cosine', 'euclidean', 'l1', 'l2', 'manhattan', 'nan_euclidean', 'minkowski'} | 'minkowski' |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `alpha` | Fuerza de regularización; debe ser un float positivo. La regularización mejora el condicionamiento del problema y reduce la varianza de las estimaciones. Valores más grandes especifican una regularización más fuerte. | float | [0, +Inf) | 1.0 |
| `kernel` | Mapeo del kernel utilizado internamente. Este parámetro se pasa directamente a pairwise_kernel. Si kernel es una cadena, debe ser una de las métricas en pairwise. PAIRWISE_KERNEL_FUNCTIONS o "precomputed". Si kernel es "precomputed", se asume que X es una matriz de kernel. | string | {'additive_chi2','chi2' 'linear', 'poly', 'polynomial', 'rbf', 'laplacian', 'sigmoid', 'cosine'} | "linear" |
| `gamma` | Parámetro gamma para los kernels RBF, laplacian, polinomial, exponencial chi2 y sigmoid. La interpretación del valor predeterminado se deja al kernel; consulte la documentación de sklearn.metrics.pairwise. | float | [0, +Inf) | None |
| `degree` | Grado del kernel polinomial. | float | [0, +Inf) | 3 |
| `coef0` | Coeficiente cero para kernels polinomiales y sigmoid. | float | (-Inf, +Inf) | 1 |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `boosting_type` | Método de Boosting. | string | {'gbdt', 'dart', 'goss'} | 'gbdt' |
| `num_leaves` | Hojas máximas del árbol para aprendices base. | int | (1, +Inf) | 31 |
| `max_depth` | Profundidad máxima del árbol para aprendices base, <= 0 significa sin límite. | int | (-Inf, +Inf) | -1 |
| `learning_rate` | Tasa de aprendizaje de boosting. | float | (0.0, +Inf) | 0.1 |
| `n_estimators` (number of estimators) | Número de árboles potenciados a ajustar. | int | [1, 500] | 100 |
| `subsample_for_bin` | Número de muestras para construir bins. | int | (0, +Inf) | 200000 |
| `min_split_gain` | Reducción mínima de pérdida requerida para hacer una partición adicional en un nodo hoja del árbol. | float | [0.0, +Inf) | 0.0 |
| `min_child_weight` | Suma mínima del peso de la instancia (Hessiano) necesaria en un hijo (hoja). | float | [0.0, +Inf) | 1e-3 |
| `min_child_samples` | Número mínimo de datos necesarios en un hijo (hoja). | int | [0, +Inf) | 20 |
| `subsample` | Proporción de submuestreo de la instancia de entrenamiento. | float | (0.0, 1.0] | 1.0 |
| `subsample_freq` (subsample_frequency) | Frecuencia de submuestreo, <= 0 significa no habilitado. | int | (-Inf, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | Proporción de submuestreo de columnas al construir cada árbol. | float | (0.0, 1.0] | 1.0 |
| `reg_alpha` (alpha) | Término de regularización L1 en los pesos. | float | (0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | Término de regularización L2 en los pesos. | float | (0.0, +Inf) | 0.0 |
| `importance_type` | El tipo de importancia de característica a llenar en featureimportances. Si es 'split', el resultado contiene el número de veces que la característica se usa en un modelo. Si es 'gain', el resultado contiene las ganancias totales de las divisiones que usan la característica. | string | { 'gain', 'split'} | 'split' |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `alpha` | Constante que multiplica el término L1, controlando la fuerza de regularización. alpha debe ser un float no negativo | float | (0, +Inf) | 1.0 |
| `fit_intercept` | Si se debe calcular el intercepto para este modelo. Si se establece en False, no se usará intercepto en los cálculos | bool | True or False | True |
| `normalize` | Este parámetro se ignora cuando fit_intercept se establece en False. Si es True, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la norma l2. | bool | True or False | False |
| `tol` (tolerance) | La tolerancia para la optimización: si las actualizaciones son más pequeñas que tol, el código de optimización verifica el gap dual para la optimalidad y continúa hasta que sea más pequeño que tol. | float | [0.0, +Inf) | 1e-4 |
| `warm_start` | Cuando se establece en True, reutiliza la solución de la llamada anterior a fit como inicialización, de lo contrario, simplemente borra la solución anterior. | bool | True or False | False |
| `positive` | Cuando se establece en True, fuerza a los coeficientes a ser positivos. | bool | True or False | False |
| `selection` | Si se establece en 'random', un coeficiente aleatorio se actualiza en cada iteración en lugar de recorrer las características secuencialmente por defecto. | string | {"cyclic", "random"} | "cyclic" |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `fit_intercept` | Si se debe calcular el intercepto para este modelo. Si se establece en False, no se usará intercepto en los cálculos. | bool | True or False | True |
| `normalize` | Este parámetro se ignora cuando fit_intercept se establece en False. Si es True, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la norma l2. | bool | True or False | False |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `n_estimators` | El número de árboles en el bosque. | int | [1, 500] | 100 |
| `criterion` | La función para medir la calidad de una división. Los criterios soportados son "squared_error" para el error cuadrático medio, que es igual a la reducción de varianza como criterio de selección de características, "absolute_error" para el error absoluto medio. | string | {"mse", "mae"} | "mse" |
| `max_depth` | La profundidad máxima del árbol. Si es None, entonces los nodos se expanden hasta que todas las hojas sean puras o hasta que todas las hojas contengan menos de min_samples_split muestras. | int | (0, +Inf) | None |
| `min_samples_split` | El número mínimo de muestras requeridas para dividir un nodo interno | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | El número mínimo de muestras requeridas para estar en un nodo hoja. Un punto de división en cualquier profundidad solo se considerará si deja al menos min_samples_leaf muestras de entrenamiento en cada una de las ramas izquierda y derecha. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | La fracción ponderada mínima de la suma total de pesos (de todas las muestras de entrada) requerida para estar en un nodo hoja. Las muestras tienen peso igual cuando sample_weight no se proporciona. | float | [0, 0.5] | 0.0 |
| `max_features` | El número de características a considerar cuando se busca la mejor división | int, float or string | (0, n_features] or { "sqrt", "log2"}, None | None |
| `max_leaf_nodes` | Hacer crecer árboles con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza. | int | (1, +Inf) | None |
| `min_impurity_decrease` | Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor. | float | [0, +Inf) | 0.0 |
| `bootstrap` | Si se usan muestras bootstrap al construir árboles. Si es False, se usa el conjunto de datos completo para construir cada árbol. | bool | True or False | True |
| `oob_score` (out of bag score) | Si se usan muestras fuera de la bolsa para estimar la puntuación de generalización. Solo disponible si bootstrap=True. | bool | True or False | False |
| `warm_start` | Cuando se establece en True, reutiliza la solución de la llamada anterior a fit y añade más estimadores al conjunto, de lo contrario, simplemente ajusta un bosque completamente nuevo. | bool | True or False | False |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `alpha` | Constante que multiplica el término L2, controlando la fuerza de regularización. | float | (0, +Inf) | 1.0 |
| `fit_intercept` | Si se debe ajustar el intercepto para este modelo. Si se establece en false, no se usará intercepto en los cálculos. | bool | True or False | True |
| `normalize` | Este parámetro se ignora cuando fit_intercept se establece en False. Si es True, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la norma l2. | bool | True or False | False |
| `tol` (tolerance) | Precisión de la solución. | float | [0.0, +Inf) | 1e-4 |
| `solver` | Solver a usar en las rutinas computacionales: | string | {'auto', 'svd', 'cholesky', 'lsqr', 'sparse_cg', 'sag', 'saga'} | 'auto' |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `C` | Parámetro de regularización. La fuerza de la regularización es inversamente proporcional a C. Debe ser estrictamente positivo. | float | (0.0, +Inf) | 1.0 |
| `kernel` | Especifica el tipo de kernel a utilizar en el algoritmo. Si no se proporciona ninguno, se usará `rbf`. Si se proporciona un callable, se usa para precalcular la matriz del kernel. | string | {'linear', 'poly', 'rbf', 'sigmoid'} | 'rbf' |
| `degree` | Grado de la función kernel polinómica ('poly'). | int | [0, +Inf) | 3 |
| `gamma` | Coeficiente del kernel para 'rbf', 'poly' y 'sigmoid'. | string or float | {'scale', 'auto'} or (0.0, +Inf) | 'scale' |
| `coef0` | Término independiente en la función kernel. Solo es significativo en 'poly' y 'sigmoid'. | float | (-Inf, +Inf) | 0.0 |
| `shrinking` | Si se debe usar la heurística de reducción. | bool | True or False | True |
| `tol` (tolerance) | Tolerancia para el criterio de parada. | float | [0.0, +Inf) | 1e-3 |
| `epsilon` | Epsilon en el modelo epsilon-SVM. Especifica el tubo epsilon dentro del cual no se asocia ninguna penalización en la función de pérdida de entrenamiento con puntos predichos dentro de una distancia epsilon del valor real. | float | [0, +Inf) | 0.1 |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `booster` | Decide qué booster usar. | string | {'gbtree', 'gblinear', 'dart' } | 'gbtree' |
| `learning_rate` | Reducción del tamaño del paso utilizada en la actualización para prevenir el sobreajuste. Después de cada paso de boosting, podemos obtener directamente los pesos de las nuevas características, y eta reduce los pesos de las características para hacer el proceso de boosting más conservador. | float | [0,1] | 0.1 |
| `n_estimators` (number of estimators) | Número de árboles a ajustar. | int | [1, 500] | 100 |
| `objective` | Regresión logística para clasificación binaria. | string | Mencionado debajo de la tabla. | "reg:linear" |
| `subsample` | Controla la proporción de la muestra. | int | (0,1] | 1 |
| `max_depth` | Profundidad máxima de un árbol. | int | (0, +Inf) | 3 |
| `max_delta_step` | Si el valor se establece en 0, significa que no hay restricción. Si se establece en un valor positivo, puede ayudar a hacer que el paso de actualización sea más conservador. Generalmente este parámetro no es necesario, pero podría ayudar en la regresión logística cuando la clase está extremadamente desequilibrada. | int or float | [0, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | Fracción de muestras aleatorias de columnas. | float | (0, 1] | 1.0 |
| `colsample_bylevel` (column sample by level) | Es la proporción de submuestreo de columnas para cada nivel. El submuestreo ocurre una vez por cada nuevo nivel de profundidad alcanzado en un árbol. Las columnas se submuestrean del conjunto de columnas elegidas para el árbol actual. | float | (0, 1] | 1.0 |
| `min_child_weight` | Suma mínima de pesos. | int | [0, +Inf) | 1 |
| `reg_alpha` (alpha) | Término de regularización L1 en los pesos. | float | [0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | Término de regularización L2 en los pesos. | float | [0.0, +Inf) | 0.0 |
| `scale_pos_weight` (scale positive weight) | Controla el equilibrio de pesos positivos y negativos, útil para clases desequilibradas. | int | [0, +Inf) | 1 |