Algoritmos de regresión regression-algorithms
Este documento proporciona una visión general de varios algoritmos de regresión, centrándose en su configuración, parámetros clave y uso práctico en modelos estadísticos avanzados. Los algoritmos de regresión se utilizan para modelar la relación entre variables dependientes e independientes, prediciendo resultados continuos basados en los datos observados. Cada sección incluye descripciones de parámetros y código de ejemplo para ayudarle a implementar y optimizar estos algoritmos para tareas como regresión lineal, de bosque aleatorio y de supervivencia.
Decision Tree regresión decision-tree-regression
El aprendizaje de Decision Tree es un método de aprendizaje supervisado que se utiliza en estadísticas, minería de datos y aprendizaje automático. En este enfoque, se utiliza un árbol de decisión de clasificación o regresión como modelo predictivo para extraer conclusiones sobre un conjunto de observaciones.
Parámetros
En la tabla siguiente se describen los parámetros clave para configurar y optimizar el rendimiento de los modelos del árbol de decisión.
MAX_BINS
CACHE_NODE_IDS
false
, el algoritmo pasa árboles a los ejecutores para que coincidan con las instancias con los nodos. Si true
, el algoritmo almacena en caché los ID de nodo de cada instancia, lo que puede acelerar la formación de árboles más profundos. Los usuarios pueden configurar la frecuencia con la que se debe comprobar o deshabilitar la caché estableciendo CHECKPOINT_INTERVAL
.true
o false
CHECKPOINT_INTERVAL
10
, la caché se comprobará cada 10 iteraciones. Esto solo es aplicable si CACHE_NODE_IDS
está establecido en true
y el directorio de puntos de comprobación está configurado en org.apache.spark.SparkContext
.IMPURITY
entropy
y gini
.gini
entropy
, gini
MAX_DEPTH
0
significa 1 nodo hoja, mientras que una profundidad de 1
significa 1 nodo interno y 2 nodos hoja. La profundidad debe estar dentro del intervalo [0, 30]
.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
SEED
WEIGHT_COL
1.0
.Ejemplo
CREATE MODEL modelname OPTIONS(
type = 'decision_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Factorization Machines regresión factorization-machines-regression
Factorization Machines es un algoritmo de aprendizaje de regresión que admite el descenso de degradado normal y el solucionador AdamW. El algoritmo se basa en el documento de S. Rendle (2010), "Factorization Machines".
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de la regresión Factorization Machines.
TOL
1E-6
FACTOR_SIZE
FIT_INTERCEPT
true
true
, false
FIT_LINEAR
true
true
, false
INIT_STD
MAX_ITER
MINI_BATCH_FRACTION
(0, 1]
.(0, 1]
REG_PARAM
SEED
SOLVER
gd
(descenso de degradado), adamW
STEP_SIZE
PREDICTION_COL
Ejemplo
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Generalized Linear regresión generalized-linear-regression
A diferencia de la regresión lineal, que supone que el resultado sigue una distribución normal (gaussiana), los modelos Generalized Linear (GLM) permiten que el resultado siga diferentes tipos de distribuciones, como Poisson o binomial, según la naturaleza de los datos.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de la regresión Generalized Linear.
MAX_ITER
irls
).REG_PARAM
TOL
1E-6
AGGREGATION_DEPTH
treeAggregate
.FAMILY
gaussian
, binomial
, poisson
, gamma
y tweedie
.gaussian
, binomial
, poisson
, gamma
, tweedie
FIT_INTERCEPT
true
true
, false
LINK
identity
, log
, inverse
, logit
, probit
, cloglog
y sqrt
.identity
, log
, inverse
, logit
, probit
, cloglog
, sqrt
LINK_POWER
1 - variancePower
, que se ajusta al paquete R statmod
. Las potencias específicas de los vínculos de 0, 1, -1 y 0,5 corresponden a los vínculos Log, Identity, Inverse y Sqrt, respectivamente.SOLVER
irls
(mínimos cuadrados ponderados de forma iterativa).irls
VARIANCE_POWER
[1, inf)
. Los poderes de varianza de 0, 1 y 2 corresponden a las familias Gaussiana, Poisson y Gamma, respectivamente.[1, inf)
LINK_PREDICTION_COL
OFFSET_COL
WEIGHT_COL
1.0
. En la familia Binomial, los pesos corresponden al número de ensayos y los pesos no enteros se redondean en el cálculo de AIC.Ejemplo
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree regresión gradient-boosted-tree-regression
Los árboles impulsados por gradiente (TGB) son un método efectivo de clasificación y regresión que combina las predicciones de múltiples árboles de decisión para mejorar la precisión predictiva y el rendimiento del modelo.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de la regresión Gradient Boosted Tree.
MAX_BINS
CACHE_NODE_IDS
false
, el algoritmo pasa árboles a los ejecutores para que coincidan con las instancias con los nodos. Si true
, el algoritmo almacena en caché los ID de nodo de cada instancia. El almacenamiento en caché puede acelerar el entrenamiento de árboles más profundos.false
true
, false
CHECKPOINT_INTERVAL
10
significa que la caché se comprueba cada 10 iteraciones.MAX_DEPTH
0
significa 1 nodo hoja y la profundidad 1
significa 1 nodo interno con 2 nodos hoja.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
VALIDATION_INDICATOR_COL
false
para aprendizaje y true
para validación.LEAF_COL
FEATURE_SUBSET_STRATEGY
auto
, all
, onethird
, sqrt
, log2
o una fracción entre 0 y 1,0SEED
WEIGHT_COL
1.0
.LOSS_TYPE
squared
(L2) y absolute
(L1). Nota: Los valores no distinguen entre mayúsculas y minúsculas.STEP_SIZE
(0, 1]
, utilizado para reducir la contribución de cada estimador.(0, 1]
MAX_ITER
SUBSAMPLING_RATE
(0, 1]
.(0, 1]
Ejemplo
CREATE MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Isotonic regresión isotonic-regression
Isotonic Regression es un algoritmo utilizado para ajustar distancias de forma iterativa preservando al mismo tiempo el orden relativo de las disimilitudes en los datos.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de Isotonic Regression.
ISOTONIC
true
o antitónica (disminuyendo) al false
.true
true
, false
WEIGHT_COL
1.0
.PREDICTION_COL
FEATURE_INDEX
featuresCol
es una columna vectorial. Si no se establece, el valor predeterminado es 0
. De lo contrario, no tiene ningún efecto.Ejemplo
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Linear regresión linear-regression
Linear Regression es un algoritmo de aprendizaje automático supervisado que ajusta una ecuación lineal a los datos para modelar la relación entre una variable dependiente y características independientes.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de Linear Regression.
MAX_ITER
REGPARAM
ELASTICNETPARAM
Ejemplo
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression random-forest-regression
Random Forest Regression es un algoritmo ensamblado que crea varios árboles de decisión durante el entrenamiento y devuelve la predicción promedio de esos árboles para tareas de regresión, lo que ayuda a evitar el sobreajuste.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de Random Forest Regression.
MAX_BINS
CACHE_NODE_IDS
false
, el algoritmo pasa árboles a los ejecutores para que coincidan con las instancias con los nodos. Si true
, el algoritmo almacena en caché los ID de nodo de cada instancia, lo que acelera la formación de árboles más profundos.false
true
, false
CHECKPOINT_INTERVAL
10
significa que la caché se comprueba cada 10 iteraciones.IMPURITY
entropy
, gini
MAX_DEPTH
0
significa 1 nodo hoja y la profundidad 1
significa 1 nodo interno y 2 nodos hoja.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
BOOTSTRAP
true
, false
NUM_TREES
1
, no se usa el bootstrapping. Si es mayor que 1
, se aplica el bootstrapping.SUBSAMPLING_RATE
(0, 1]
.LEAF_COL
PREDICTION_COL
SEED
WEIGHT_COL
1.0
.Ejemplo
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Survival Regression survival-regression
Survival Regression se usa para ajustar un modelo paramétrico de regresión de supervivencia, conocido como el modelo Accelerated Failure Time (AFT), basado en Weibull distribution. Puede apilar instancias en bloques para obtener un rendimiento mejorado.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de Survival Regression.
MAX_ITER
TOL
1E-6
AGGREGATION_DEPTH
treeAggregate
. Si las cotas de la función o el número de particiones son grandes, este parámetro se puede definir en un valor mayor.FIT_INTERCEPT
true
, false
PREDICTION_COL
CENSOR_COL
1
indica que el evento se produjo (sin censura), mientras que 0
significa que el evento está censurado.MAX_BLOCK_SIZE_IN_MB
0
permite el ajuste automático.Ejemplo
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Pasos siguientes
Después de leer este documento, ahora sabe cómo configurar y utilizar varios algoritmos de regresión. A continuación, consulte los documentos sobre clasificación y agrupación en clúster para obtener más información sobre otros tipos de modelos estadísticos avanzados.