Todos los productos
Search
Centro de documentos

Platform For AI:PS linear regression

Última actualización: Sep 04, 2026

La regresión lineal PS combina un modelo de regresión lineal con una arquitectura de servidor de parámetros (PS) para gestionar tareas de entrenamiento a gran escala, con capacidad para cientos de miles de millones de muestras y miles de millones de features. La arquitectura PS distribuye tanto la computación como el almacenamiento de los parámetros del modelo entre los workers, lo que mejora la eficiencia y la escalabilidad del entrenamiento.

Utilice la regresión lineal PS cuando su conjunto de datos sea demasiado grande para el entrenamiento en una sola máquina o cuando el espacio de features tenga una dimensionalidad extremadamente alta, incluidos los formatos dispersos.

Funcionamiento

  1. Cargue los datos de entrenamiento desde una tabla de entrada de MaxCompute. El formato denso admite columnas DOUBLE y BIGINT; el formato disperso utiliza columnas STRING en formato clave-valor (KV).

  2. Envíe una tarea de entrenamiento. La arquitectura PS fragmenta los parámetros del modelo en los nodos de servidor y ejecuta actualizaciones de gradiente en paralelo en los nodos worker.

  3. Una vez finalizado el entrenamiento, el modelo se guarda como un modelo sin conexión (predeterminado) o se escribe en una tabla de MaxCompute.

  4. Ejecute la predicción mediante el modelo guardado para generar puntuaciones de salida que se escriben en una tabla de salida independiente.

Configuración del componente

Método 1: Interfaz visual

Agregue el componente PS Linear Regression a su flujo de trabajo en Designer y configure sus parámetros en el panel derecho.

Tipo de parámetro Parámetro Obligatorio Descripción
Fields setting Feature Columns Sí Las columnas de features de la fuente de datos de entrada que se utilizarán para el entrenamiento.
Label Column Sí La columna de etiqueta. Admite los tipos de datos DOUBLE y BIGINT.
Is it a sparse format? No Seleccione true si los datos de entrada están en formato clave-valor (KV). Valor predeterminado: false.
KV pair separator No El separador entre pares clave-valor. Valor predeterminado: espacio. Solo tiene efecto cuando el formato disperso está habilitado.
Key-value separator No El separador entre una clave y su valor. Valor predeterminado: dos puntos (:). Solo tiene efecto cuando el formato disperso está habilitado.
Parameters setting L1 weight No El coeficiente de regularización L1. Un valor mayor produce un modelo más disperso con menos elementos distintos de cero. Valores válidos: números de punto flotante no negativos. Valor predeterminado: 1.0.
L2 weight No El coeficiente de regularización L2. Un valor mayor indica que los valores absolutos de los parámetros del modelo son menores. Valores válidos: números de punto flotante no negativos. Valor predeterminado: 0.
Maximum iterations No El número máximo de iteraciones de entrenamiento. Establezca 0 para no tener límite. Valores válidos: enteros no negativos. Valor predeterminado: 100.
Minimum convergence deviance No El umbral de detención para el algoritmo de optimización. El entrenamiento se detiene cuando la mejora cae por debajo de este valor. Valores válidos: [0, 1]. Valor predeterminado: 0.000001.
Maximum feature ID No El ID de feature máximo o la dimensión de la feature. Se puede establecer en un valor superior al real. Si se deja en blanco, el sistema ejecuta una tarea SQL para calcularlo automáticamente. Valores válidos: enteros no negativos.
Execution tuning Number of cores No El número de núcleos de CPU por asignar. Valor predeterminado: asignado por el sistema.
Memory size per core No La memoria asignada por núcleo, en MB. Valor predeterminado: asignado por el sistema.
La regularización L1 fomenta la dispersión, lo cual es útil cuando muchas features son irrelevantes y se desea un modelo disperso. La regularización L2 reduce todos los coeficientes proporcionalmente, lo que resulta útil cuando las features están correlacionadas. Si no está seguro de cuál utilizar, comience con L2 (establezca L1 weight en 0) y ajuste a partir de ahí.

Método 2: Comando de PAI

Ejecute comandos de PAI a través del componente SQL Script.

Comando de entrenamiento:

PAI -name ps_linearregression
    -project algo_public
    -DinputTableName="lm_test_input"
    -DmodelName="linear_regression_model"
    -DlabelColName="label"
    -DfeatureColNames="features"
    -Dl1Weight=1.0
    -Dl2Weight=0.0
    -DmaxIter=100
    -Depsilon=1e-6
    -DenableSparse=true

Comando de predicción:

drop table if exists logistic_regression_predict;
PAI -name prediction
    -DmodelName="linear_regression_model"
    -DoutputTableName="linear_regression_predict"
    -DinputTableName="lm_test_input"
    -DappendColNames="label,features"
    -DfeatureColNames="features"
    -DenableSparse=true

Parámetros:

Parámetro

Obligatorio

Valor predeterminado

Descripción

inputTableName

Sí

—

El nombre de la tabla de entrada.

modelName

Sí

—

El nombre del modelo de salida.

labelColName

Sí

—

La columna de etiqueta en la tabla de entrada. Admite los tipos de datos DOUBLE y BIGINT.

featureColNames

Sí

—

Las columnas de features en la tabla de entrada. Formato denso: DOUBLE y BIGINT. Formato disperso: STRING.

outputTableName

No

—

La tabla de salida para los resultados de evaluación del modelo. Obligatorio cuando enableFitGoodness es true.

inputTablePartitions

No

—

Las particiones de la tabla de entrada que se utilizarán para el entrenamiento.

enableSparse

No

false

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

itemDelimiter

No

Espacio

El separador entre pares clave-valor. Solo tiene efecto cuando enableSparse es true.

kvDelimiter

No

:

El separador entre una clave y su valor. Solo tiene efecto cuando enableSparse es true.

enableModelIo

No

true

Indica si se debe guardar el modelo como un modelo sin conexión. Si es false, el modelo se escribe en una tabla de MaxCompute. Valores válidos: true, false.

maxIter

No

100

El número máximo de iteraciones de entrenamiento. Valores válidos: enteros no negativos.

epsilon

No

0.000001

El umbral de convergencia para el algoritmo de optimización. El entrenamiento se detiene cuando la mejora cae por debajo de este valor. Valores válidos: [0, 1].

l1Weight

No

1.0

El coeficiente de regularización L1. Un valor mayor produce un modelo más disperso. Valores válidos: números de punto flotante no negativos.

l2Weight

No

0

El coeficiente de regularización L2. Un valor mayor indica que los valores absolutos de los parámetros del modelo son menores. Valores válidos: números de punto flotante no negativos.

modelSize

No

0

El ID de feature máximo o la dimensión de la feature. Puede ser mayor que el valor real. Si se establece en 0, el sistema lo calcula automáticamente. Valores válidos: enteros no negativos.

coreNum

No

Asignado por el sistema

El número de núcleos de CPU por worker.

memSizePerCore

No

Asignado por el sistema

La memoria por núcleo, en MB.

Ejemplo

Este ejemplo entrena un modelo de regresión lineal PS con datos dispersos en formato KV y ejecuta una predicción.

Paso 1: Crear los datos de entrada

Ejecute la siguiente sentencia SQL en el componente SQL Script para generar la tabla de entrada.

drop table if exists lm_test_input;
create table lm_test_input as
select
*
from
(
select cast(2 as BIGINT) as label, '1:0.55 2:-0.15 3:0.82 4:-0.99 5:0.17' as features
    union all
select cast(1 as BIGINT) as label, '1:-1.26 2:1.36 3:-0.13 4:-2.82 5:-0.41' as features
    union all
select cast(1 as BIGINT) as label, '1:-0.77 2:0.91 3:-0.23 4:-4.46 5:0.91' as features
    union all
select cast(2 as BIGINT) as label, '1:0.86 2:-0.22 3:-0.46 4:0.08 5:-0.60' as features
    union all
select cast(1 as BIGINT) as label, '1:-0.76 2:0.89 3:1.02 4:-0.78 5:-0.86' as features
    union all
select cast(1 as BIGINT) as label, '1:2.22 2:-0.46 3:0.49 4:0.31 5:-1.84' as features
    union all
select cast(0 as BIGINT) as label, '1:-1.21 2:0.09 3:0.23 4:2.04 5:0.30' as features
    union all
select cast(1 as BIGINT) as label, '1:2.17 2:-0.45 3:-1.22 4:-0.48 5:-1.41' as features
    union all
select cast(0 as BIGINT) as label, '1:-0.40 2:0.63 3:0.56 4:0.74 5:-1.44' as features
    union all
select cast(1 as BIGINT) as label, '1:0.17 2:0.49 3:-1.50 4:-2.20 5:-0.35' as features
) tmp;

La tabla tiene dos columnas: label (BIGINT) y features (STRING en formato KV). Cada valor de features codifica IDs de features y valores separados por dos puntos, con pares separados por espacios; por ejemplo, 1:0.55 2:-0.15.

Generated input data

En el formato KV, los IDs de features deben ser enteros positivos y los valores de features deben ser números reales. Si los IDs de features son cadenas, serialice primero los datos. Si los valores de features son cadenas categóricas, aplique la discretización de features antes del entrenamiento.

Paso 2: Construir el flujo de trabajo

Construya un flujo de trabajo en Designer con los componentes que se muestran a continuación. Para obtener detalles sobre la creación de flujos de trabajo, consulte Algorithm modeling.

PS Linear Regression workflow

Paso 3: Configurar los componentes

Read Table-1:

En la pestaña Select Table, establezca Table Name en lm_test_input.

PS Linear Regression:

Utilice la siguiente configuración. Deje todos los demás parámetros con sus valores predeterminados.

Tipo de parámetro Parámetro Valor
Fields setting Is it a sparse format? true
Feature Columns features
Label Column label
Execution tuning Number of cores 3
Memory size per core 1024 MB

Prediction:

Utilice la siguiente configuración. Deje todos los demás parámetros con sus valores predeterminados.

Tipo de parámetro Parámetro Valor
Fields setting Feature Columns features
Verbatim Output Column label, features
Sparse Matrix Selected
Key-value separator : (dos puntos)
KV pair separator (déjelo en blanco para usar espacio)

Paso 4: Ejecutar el flujo de trabajo

Haga clic en el botón Run image en el lienzo para iniciar el flujo de trabajo.

Paso 5: Consultar los resultados de la predicción

Una vez completado el flujo de trabajo, haga clic con el botón derecho en el componente Prediction-1 y elija View Data > Prediction Result Output.

PS Linear Regression prediction results

Ejecutar el mismo ejemplo con comandos de PAI

Los siguientes comandos reproducen el flujo de trabajo anterior mediante la interfaz de comandos de PAI. Todos los comandos utilizan la misma tabla lm_test_input.

Entrenamiento:

PAI -name ps_linearregression
    -project algo_public
    -DinputTableName="lm_test_input"
    -DmodelName="linear_regression_model"
    -DlabelColName="label"
    -DfeatureColNames="features"
    -Dl1Weight=1.0
    -Dl2Weight=0.0
    -DmaxIter=100
    -Depsilon=1e-6
    -DenableSparse=true

Predicción:

drop table if exists logistic_regression_predict;
PAI -name prediction
    -DmodelName="linear_regression_model"
    -DoutputTableName="linear_regression_predict"
    -DinputTableName="lm_test_input"
    -DappendColNames="label,features"
    -DfeatureColNames="features"
    -DenableSparse=true

La tabla de salida de predicción (linear_regression_predict) contiene las columnas originales label y features con las puntuaciones predichas anexadas.