Todos los productos
Search
Centro de documentos

Platform For AI:Regresión lineal

Última actualización: Sep 08, 2026

El componente Linear Regression entrena un modelo que predice una salida numérica continua a partir de una o más variables de entrada. Úselo cuando la variable objetivo (como ingresos por ventas, temperatura o precio) tenga una relación aproximadamente lineal con las variables de entrada. Para datos dispersos de alta dimensionalidad, donde la mayoría de los valores son cero, habilite la entrada en formato disperso para representar los datos de manera eficiente en formato KV.

Configurar el componente

Método 1: usar la interfaz gráfica

Agregue el componente Linear Regression al lienzo del flujo de trabajo en Designer y configure sus parámetros en el panel derecho.

Fields setting

Parámetro

Descripción

Valor predeterminado

Select feature columns

Columnas de variables de la fuente de datos de entrada que se usan para el entrenamiento.

—

Select label column

Variable dependiente. Son compatibles los tipos DOUBLE y BIGINT.

—

Is sparse format

Representa los datos de entrada en formato KV. Habilite esta opción para datos dispersos de alta dimensionalidad donde la mayoría de los valores son cero.

Off

Separator between key-value pairs

Separador entre pares clave-valor cuando el formato disperso está habilitado.

Comma (,)

Separator between key and value

Separador entre una clave y su valor cuando el formato disperso está habilitado.

Colon (:)

Parameters setting

Parámetro

Descripción

Valor predeterminado

Maximum iterations

Número máximo de iteraciones del algoritmo.

100

Minimum likelihood error

Umbral de convergencia de la log-verosimilitud. El algoritmo se detiene cuando la diferencia de log-verosimilitud entre iteraciones consecutivas cae por debajo de este valor.

0.000001

Regularization type

Método de regularización para reducir el sobreajuste. Opciones: L1, L2, None. Use L1 para generar coeficientes dispersos (útil cuando muchas variables son irrelevantes). Use L2 para penalizar coeficientes grandes (útil cuando las variables están correlacionadas). Establezca el valor en None para deshabilitar la regularización.

None

Regularization coefficient

Intensidad de la penalización por regularización. Los valores más altos aplican una regularización más fuerte. Se ignora cuando Regularization type se establece en None.

1

Generate model evaluation table

Genera una tabla de evaluación del modelo que contiene: R-Squared, Adjusted R-Squared, AIC, grados de libertad, desviación estándar de los residuos y deviance.

Off

Regression coefficient evaluation

Agrega estadísticas por coeficiente a la tabla de evaluación: T-value, P-value e intervalo de confianza [2.5%, 97.5%]. Esta función solo está disponible cuando se selecciona Generate model evaluation table.

Off

Execution tuning

Parámetro

Descripción

Valor predeterminado

Number of computing cores

Número de núcleos que se van a utilizar.

System allocated

Memory size per core

Memoria asignada por núcleo.

System allocated

Método 2: usar comandos de PAI

Utilice comandos de PAI para configurar el componente Linear Regression. Ejecútelos mediante el componente SQL Script. Para obtener más información, consulte SQL Script.

PAI -name linearregression
    -project algo_public
    -DinputTableName=lm_test_input
    -DfeatureColNames=x
    -DlabelColName=y
    -DmodelName=lm_test_input_model_out;

Parámetro

Obligatorio

Valor predeterminado

Descripción

inputTableName

Sí

—

Nombre de la tabla de entrada.

modelName

Sí

—

Nombre del modelo de salida.

outputTableName

No

—

Nombre de la tabla de evaluación del modelo de salida. Es obligatorio cuando enableFitGoodness es true.

labelColName

Sí

—

Columna de la variable dependiente. Son compatibles los tipos DOUBLE y BIGINT. Solo se puede especificar una columna.

featureColNames

Sí

—

Columnas de variables independientes. Para entradas densas, son compatibles los tipos DOUBLE y BIGINT. Para entradas dispersas, es compatible el tipo STRING.

inputTablePartitions

No

—

Particiones de la tabla de entrada que se van a leer.

enableSparse

No

false

Indica si los datos de entrada están en formato disperso. Valores válidos: true, false.

itemDelimiter

No

,

Separador entre pares clave-valor. Se usa cuando enableSparse es true.

kvDelimiter

No

:

Separador entre una clave y su valor. Se usa cuando enableSparse es true.

maxIter

No

100

Número máximo de iteraciones.

epsilon

No

0.000001

Umbral de convergencia. El algoritmo se detiene cuando la diferencia de log-verosimilitud entre iteraciones consecutivas es menor que este valor.

regularizedType

No

None

Método de regularización. Valores válidos: l1, l2, None. Use l1 para la selección dispersa de variables. Use l2 cuando las variables estén correlacionadas y desee penalizar los coeficientes grandes.

regularizedLevel

No

1

Coeficiente de regularización. No se utiliza cuando regularizedType es None.

enableFitGoodness

No

false

Indica si se genera una tabla de evaluación del modelo. Cuando es true, la tabla de salida incluye: R-Squared, Adjusted R-Squared, AIC, grados de libertad, desviación estándar de los residuos y deviance. Valores válidos: true, false.

enableCoefficientEstimate

No

false

Indica si se incluyen estadísticas por coeficiente en la tabla de evaluación. Cuando es true, agrega T-value, P-value e intervalo de confianza [2.5%, 97.5%] para cada coeficiente. Requiere que enableFitGoodness sea true. Valores válidos: true, false.

lifecycle

No

-1

Ciclo de vida de la tabla de evaluación del modelo de salida.

coreNum

No

System allocated

Número de núcleos de cómputo.

memSizePerCore

No

System allocated

Memoria asignada por núcleo.

Ejemplo

Este ejemplo recorre el flujo de trabajo completo: crear los datos de entrenamiento, entrenar un modelo de regresión lineal, ejecutar predicciones e inspeccionar ambas tablas de salida.

Paso 1: crear los datos de entrenamiento

DROP TABLE IF EXISTS lm_test_input;
CREATE TABLE lm_test_input AS
SELECT * FROM
(
  SELECT 10 AS y, 1.84 AS x1, 1 AS x2, '0:1.84 1:1' AS sparsecol1
    UNION ALL
  SELECT 20 AS y, 2.13 AS x1, 0 AS x2, '0:2.13' AS sparsecol1
    UNION ALL
  SELECT 30 AS y, 3.89 AS x1, 0 AS x2, '0:3.89' AS sparsecol1
    UNION ALL
  SELECT 40 AS y, 4.19 AS x1, 0 AS x2, '0:4.19' AS sparsecol1
    UNION ALL
  SELECT 50 AS y, 5.76 AS x1, 0 AS x2, '0:5.76' AS sparsecol1
    UNION ALL
  SELECT 60 AS y, 6.68 AS x1, 2 AS x2, '0:6.68 1:2' AS sparsecol1
    UNION ALL
  SELECT 70 AS y, 7.58 AS x1, 0 AS x2, '0:7.58' AS sparsecol1
    UNION ALL
  SELECT 80 AS y, 8.01 AS x1, 0 AS x2, '0:8.01' AS sparsecol1
    UNION ALL
  SELECT 90 AS y, 9.02 AS x1, 3 AS x2, '0:9.02 1:3' AS sparsecol1
    UNION ALL
  SELECT 100 AS y, 10.56 AS x1, 0 AS x2, '0:10.56' AS sparsecol1
) tmp;

Paso 2: entrenar el modelo

El siguiente comando entrena el modelo con la evaluación del modelo y la estimación de coeficientes habilitadas. La salida se escribe en lm_test_input_conf_out.

PAI -name linearregression
    -project algo_public
    -DinputTableName=lm_test_input
    -DlabelColName=y
    -DfeatureColNames=x1,x2
    -DmodelName=lm_test_input_model_out
    -DoutputTableName=lm_test_input_conf_out
    -DenableCoefficientEstimate=true
    -DenableFitGoodness=true
    -Dlifecycle=1;

Paso 3: ejecutar predicciones

Pase el modelo entrenado y la tabla de entrada original al componente prediction. La salida incluye tanto los valores reales como los predichos.

pai -name prediction
    -project algo_public
    -DmodelName=lm_test_input_model_out
    -DinputTableName=lm_test_input
    -DoutputTableName=lm_test_input_predict_out
    -DappendColNames=y;

Paso 4: consultar la tabla de evaluación del modelo

Consulte lm_test_input_conf_out para comprobar las métricas de bondad de ajuste y los coeficientes de regresión.

+----------------------+---------------------+---------------------+--------+--------------------------------------------+-------------+
| colname              | value               | tscore              | pvalue | confidenceinterval                         | p           |
+----------------------+---------------------+---------------------+--------+--------------------------------------------+-------------+
| Intercept            | -6.42378496687763   | -2.2725755951390028  | 0.06   | {"2.5%": -11.964027, "97.5%": -0.883543}  | coefficient |
| x1                   | 10.260063429838898  | 23.270944360826963  | 0.0    | {"2.5%": 9.395908, "97.5%": 11.124219}    | coefficient |
| x2                   | 0.35374498323846265 | 0.2949247320997519  | 0.81   | {"2.5%": -1.997160, "97.5%": 2.704650}    | coefficient |
| rsquared             | 0.9879675667384592  | NULL                | NULL   | NULL                                       | goodness    |
| adjusted_rsquared    | 0.9845297286637332  | NULL                | NULL   | NULL                                       | goodness    |
| aic                  | 59.331109494251805  | NULL                | NULL   | NULL                                       | goodness    |
| degree_of_freedom    | 7.0                 | NULL                | NULL   | NULL                                       | goodness    |
| standardErr_residual | 3.765777749448906   | NULL                | NULL   | NULL                                       | goodness    |
| deviance             | 99.26757440771128   | NULL                | NULL   | NULL                                       | goodness    |
+----------------------+---------------------+---------------------+--------+--------------------------------------------+-------------+

El valor R-Squared de 0.988 indica un ajuste excelente. El P-value de x2 (0.81) sugiere que esta variable tiene poca significancia estadística en este conjunto de datos.

Paso 5: consultar los resultados de la predicción

+-----+-------------------+---------------------+---------------------------+
| y   | prediction_result | prediction_score    | prediction_detail         |
+-----+-------------------+---------------------+---------------------------+
| 10  | NULL              | 12.808476727264404  | {"y": 12.8084767272644}   |
| 20  | NULL              | 15.43015013867922   | {"y": 15.43015013867922}  |
| 30  | NULL              | 33.48786177519568   | {"y": 33.48786177519568}  |
| 40  | NULL              | 36.565880804147355  | {"y": 36.56588080414735}  |
| 50  | NULL              | 52.674180388994415  | {"y": 52.67418038899442}  |
| 60  | NULL              | 62.82092871092313   | {"y": 62.82092871092313}  |
| 70  | NULL              | 71.34749583130122   | {"y": 71.34749583130122}  |
| 80  | NULL              | 75.75932310613193   | {"y": 75.75932310613193}  |
| 90  | NULL              | 87.1832221199846    | {"y": 87.18322211998461}  |
| 100 | NULL              | 101.92248485222113  | {"y": 101.9224848522211}  |
+-----+-------------------+---------------------+---------------------------+

La columna prediction_score contiene el valor predicho por el modelo para cada fila. Conecte estos resultados a componentes posteriores para análisis o reportes adicionales.

Pasos siguientes

  • Para mejorar la precisión del modelo, establezca regularizedType en l1 o l2 y ajuste regularizedLevel para reducir el sobreajuste. Comience con l2 si sus variables están correlacionadas. Use l1 si desea que el modelo seleccione un subconjunto disperso de variables.

  • Para ejecutar predicciones con datos nuevos, pase lm_test_input_model_out al componente prediction junto con una tabla de entrada diferente.

  • Para comparar versiones del modelo, habilite enableFitGoodness y compare los valores de R-Squared y AIC entre ejecuciones.