--- 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"
2. ### CatBoost Regression CatBoost se basa en árboles de decisión con gradient boosting. Durante el entrenamiento, se construye un conjunto de árboles de decisión consecutivamente. Cada árbol sucesivo se construye con una pérdida reducida en comparación con los árboles anteriores. El número de árboles se controla mediante los parámetros iniciales. Tiene un tiempo de predicción mucho menor en comparación con otros. #### Hiperparámetros:
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
3. ### Decision-Tree Regression El árbol de decisión construye modelos de clasificación o regresión en forma de estructura de árbol. Descompone un conjunto de datos en subconjuntos cada vez más pequeños mientras que al mismo tiempo se desarrolla incrementalmente un árbol de decisión asociado. Los árboles de decisión pueden manejar tanto datos categóricos como numéricos. Al predecir el valor de salida de un conjunto de características, predecirá la salida basándose en el subconjunto en el que cae el conjunto de características. #### Hiperparámetros:
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
4. ### ElasticNet Regression Elastic net es un tipo popular de regresión lineal regularizada que combina dos funciones de penalización populares, específicamente las penalizaciones L1 (Lasso Regression) y L2 (Ridge Regression). Elastic Net es una extensión de la regresión lineal que añade penalizaciones de regularización a la función de pérdida durante el entrenamiento. La regularización es una técnica para prevenir que el modelo se sobreajuste añadiendo información extra al mismo. En la técnica de regularización, reducimos la magnitud de las características manteniendo el mismo número de características. A veces, la regresión lasso puede causar un pequeño sesgo (diferencia entre el valor predicho y el real) en el modelo donde la predicción depende demasiado de una variable particular. En estos casos, elastic net demuestra un mejor rendimiento al combinar la regularización tanto de lasso como de ridge regression. #### Hiperparámetros:
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"
5. ### GB Regression La regresión por gradient-boosting calcula la diferencia entre la predicción actual y el valor objetivo correcto conocido. Esta diferencia se llama residuo. Después de obtener este valor, la regresión gradient-boosting entrena un modelo débil (Árbol de Decisión) que mapea características a ese residuo. Este residuo predicho por un modelo débil se añade a la entrada del modelo existente, empujando al modelo hacia el objetivo correcto. Repetir este paso múltiples veces mejora la predicción general del modelo. #### Hiperparámetros:
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
6. ### KNN Regression La Regresión KNN funciona encontrando las distancias entre una consulta (instancia de datos) y todos los ejemplos en los datos, seleccionando el número especificado de ejemplos (K) más cercanos a la consulta, y luego vota por el punto que es el promedio de las observaciones en el mismo vecindario. En otras palabras, aproxima la asociación entre las variables independientes (variables de entrada) y el resultado continuo (objetivo) promediando las observaciones en el mismo vecindario. #### Hiperparámetros:
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.
  • 'uniform': pesos uniformes. Todos los puntos en cada vecindario se ponderan igualmente.
  • 'distance': pondera los puntos por el inverso de su distancia. En este caso, los vecinos más cercanos de un punto de consulta tendrán mayor influencia que los vecinos más lejanos.
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'
7. ### kernel Regression Esta regresión simplemente ajusta una línea a un diagrama de dispersión. Los valores del kernel se utilizan para derivar pesos para predecir salidas a partir de entradas dadas. La regresión kernel es una técnica no paramétrica para estimar la expectativa condicional de una variable aleatoria. El objetivo es encontrar una relación no lineal entre un par de variables aleatorias X e Y. #### Hiperparámetros:
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
8. ### LGBM Regression LGBM funciona comenzando con una estimación inicial que se actualiza usando la salida de cada árbol. El parámetro de aprendizaje controla la magnitud de este cambio en las estimaciones. Se puede usar en cualquier dato y proporciona un alto grado de precisión, ya que contiene muchos pasos de preprocesamiento integrados. El algoritmo LightGBM crece verticalmente, lo que significa que crece por hojas, mientras que otros algoritmos crecen por niveles. LightGBM elige la hoja con la mayor pérdida para crecer. Puede reducir más la pérdida que un algoritmo por niveles al hacer crecer la misma hoja. #### Hiperparámetros:
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'
9. ### Lasso Regression La regresión Lasso es una técnica de regularización. Se utiliza sobre métodos de regresión para una predicción más precisa. La regresión Lasso es un tipo de regresión lineal que utiliza contracción. La contracción es donde los valores de los datos se contraen hacia un punto central, como la media. El procedimiento lasso fomenta modelos simples y dispersos (es decir, modelos con menos parámetros). #### Hiperparámetros:
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"
10. ### Linear Regression La regresión lineal es un modelo de regresión que estima la relación lineal entre la variable independiente (entrada) y la variable dependiente (objetivo) usando una línea recta. Es el algoritmo básico para problemas de tipo regresión. #### Hiperparámetros:
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
11. ### Random-Forest Regression El bosque aleatorio es un algoritmo de clasificación y regresión que consiste en muchos árboles de decisión. Utiliza bagging y aleatoriedad de características al construir árboles individuales para intentar crear un bosque no correlacionado de árboles cuya predicción por comité es más precisa que la de cualquier árbol individual. Bagging es un meta-estimador de conjunto que ajusta clasificadores/regresores base en subconjuntos aleatorios del conjunto de datos original y luego agrega sus predicciones individuales (ya sea por votación o por promediado) para formar una predicción final. #### Hiperparámetros:
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
12. ### Ridge Regression La regresión Ridge es un método para estimar los coeficientes de modelos de regresión múltiple en escenarios donde las variables independientes están altamente correlacionadas. Se puede usar cuando las variables de entrada están altamente correlacionadas con el objetivo. #### Hiperparámetros:
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'
> **Nota:** Los valores del **solver** son: * '**auto**' elige el solver automáticamente basándose en el tipo de datos. * '**svd**' usa una Descomposición en Valores Singulares de X para calcular los coeficientes Ridge. Es el solver más estable, en particular más estable para matrices singulares que 'cholesky' a costa de ser más lento. * '**cholesky**' usa la función estándar scipy.linalg.solve para obtener una solución de forma cerrada. * '**sparse_cg**' usa el solver de gradiente conjugado como se encuentra en scipy.sparse.linalg.cg. Como algoritmo iterativo, este solver es más apropiado que 'cholesky' para datos a gran escala (posibilidad de establecer tol y max_iter). * '**lsqr**' usa la rutina de mínimos cuadrados regularizados dedicada scipy.sparse.linalg.lsqr. Es el más rápido y usa un procedimiento iterativo. * '**sag**' usa un descenso de gradiente promedio estocástico, y 'saga' usa su versión mejorada e imparcial llamada SAGA. Ambos métodos también usan un procedimiento iterativo, y a menudo son más rápidos que otros solvers cuando tanto n_samples como n_features son grandes. Tenga en cuenta que la convergencia rápida de 'sag' y 'saga' solo está garantizada en características con aproximadamente la misma escala. Se puede preprocesar los datos con un scaler de sklearn.preprocessing. 13. ### SVM Regression La regresión de vectores de soporte se utiliza para predecir valores discretos. La regresión de vectores de soporte usa el mismo principio que las SVMs. La idea básica detrás de SVM es encontrar la mejor línea de ajuste. En SVM, la mejor línea de ajuste es el hiperplano que tiene el máximo número de puntos. #### Hiperparámetros:
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
14. ### XGB Regression XGBoost es una biblioteca de gradient boosting distribuido optimizada diseñada para ser altamente eficiente, flexible y portable. Implementa algoritmos de aprendizaje automático bajo el framework de gradient boosting. Proporciona boosting paralelo de árboles para resolver muchos problemas de ciencia de datos de forma rápida y precisa. Utiliza regularización L1 y L2 para predecir puntos y entrena rápidamente. #### Hiperparámetros:
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
**VALORES POSIBLES PARA EL PARÁMETRO "OBJECTIVE":** { "rank:pairwise", reg:tweedie, "reg:gamma", "reg:linear", "count:poisson"}