Todos los productos
Search
Centro de documentos

Platform For AI:Regresión PS-SMART

Última actualización: Sep 04, 2026

PS-SMART combina Parameter Server (PS) con Scalable Multiple Additive Regression Tree (SMART) para entrenar modelos de regresión en conjuntos de datos con miles de millones de muestras y cientos de miles de funciones.

Limitaciones

Los datos de entrada deben cumplir los siguientes requisitos:

  • La columna objetivo debe ser numérica. Convierta los tipos STRING en las tablas de MaxCompute antes del entrenamiento.

  • Para datos en formato clave-valor, los ID de función deben ser enteros positivos y los valores de función deben ser números reales. Utilice un componente de serialización para los ID de función STRING o realice ingeniería de funciones (discretización) para cadenas categóricas.

  • Los conjuntos de datos con cientos de miles de funciones consumen recursos significativos y se ejecutan lentamente. Considere usar algoritmos GBDT en su lugar, ya que funcionan directamente con funciones continuas. Aplique codificación one-hot a las funciones categóricas para filtrar las de baja frecuencia, pero evite discretizar las funciones continuas.

  • El algoritmo introduce aleatoriedad mediante el muestreo de datos (data_sample_ratio), el muestreo de funciones (fea_sample_ratio), la aproximación de histogramas y la fusión de bocetos. Las estructuras de árbol pueden diferir entre los trabajadores distribuidos, pero el rendimiento del modelo permanece similar. Los resultados pueden variar entre ejecuciones incluso con datos y parámetros idénticos.

  • Aumente el número de núcleos de cómputo para acelerar el entrenamiento. Este comienza solo después de asignar todos los recursos, por lo que solicitar más recursos incrementa el tiempo de espera cuando el clúster está ocupado.

Configuración

Interfaz visual

Agregue el componente PS-SMART Regression al lienzo de Designer y configure los parámetros en el panel derecho.

Tipo de parámetro

Parámetro

Descripción

Configuración de campos

Es formato disperso

Separa los pares clave-valor en formato disperso con espacios. Separa las claves y los valores con dos puntos (:). Ejemplo: 1:0.3 3:0.9.

Seleccionar columnas de funciones

Columnas de funciones de la tabla de entrada para el entrenamiento. Para formato denso, seleccione solo columnas BIGINT o DOUBLE. Para formato disperso clave-valor con claves y valores numéricos, seleccione solo columnas STRING.

Seleccionar columna de etiqueta

Columna de etiqueta de la tabla de entrada. Admite tipos STRING y numéricos. Internamente se convierte solo a tipos numéricos, como 0 y 1 para clasificación binaria.

Seleccionar columna de ponderación

Columna para ponderar cada fila de muestra. Admite solo tipos numéricos.

Configuración de parámetros

Tipo de función objetivo

Tipos disponibles:

  • Linear regression (predeterminado)

  • Logistic regression

  • Poisson regression

  • Gamma regression

  • Tweedie regression

Índice de distribución Tweedie

Disponible solo cuando el tipo de función objetivo es Tweedie regression. Especifica el índice de la relación entre la varianza y la media de la distribución Tweedie.

Tipo de métrica de evaluación

Tipos disponibles:

  • rooted mean square error

  • mean absolute error

  • negative loglikelihood for logistic regression

  • negative loglikelihood for poisson regression

  • residual deviance for gamma regression

  • negative log-likelihood for gamma regression

  • negative log-likelihood for Tweedie regression

  • None

Número de árboles

Número total de árboles por construir. Debe ser un entero positivo. El tiempo de entrenamiento aumenta proporcionalmente con este valor.

Profundidad máxima del árbol

Predeterminado: 5 (máximo 32 nodos hoja).

Proporción de muestreo de datos

Fracción de datos de entrenamiento muestreados para construir cada árbol. El muestreo acelera el entrenamiento al construir aprendices débiles sobre un subconjunto de datos.

Proporción de muestreo de funciones

Fracción de funciones muestreadas para construir cada árbol. El muestreo acelera el entrenamiento al construir aprendices débiles sobre un subconjunto de funciones.

Coeficiente de penalización L1

Controla el tamaño de los nodos hoja. Valores mayores producen una distribución más uniforme. Auméntelo para reducir el sobreajuste.

Coeficiente de penalización L2

Controla el tamaño de los nodos hoja. Valores mayores producen una distribución más uniforme. Auméntelo para reducir el sobreajuste.

Tasa de aprendizaje

Rango: (0.1).

Precisión aproximada del boceto

Umbral de cuantil para la división al construir un boceto. Valores menores producen más cubos. Utilice el valor predeterminado 0.03.

Cambio mínimo de pérdida en división

Cambio mínimo de pérdida requerido para dividir un nodo. Valores mayores producen divisiones más conservadoras.

Número de funciones

Número total de funciones o ID máximo de función. Si no se especifica, el sistema calcula este valor automáticamente mediante la ejecución de una tarea SQL.

Sesgo global

Valor de predicción inicial para todas las muestras.

Semilla del generador de números aleatorios

Semilla para el generador de números aleatorios. Debe ser un entero.

Tipo de importancia de función

Tipos disponibles:

  • Number of times the feature is used as a split feature in the model

  • Information gain brought by the feature in the model (predeterminado)

  • Number of samples covered by the feature at split nodes in the model

Ajuste de ejecución

Número de núcleos

Asignado por el sistema de forma predeterminada.

Memoria por núcleo (MB)

Memoria por núcleo en MB. Asignada por el sistema de forma predeterminada.

Comandos PAI

También puede configurar el componente PS-SMART Regression ejecutando comandos PAI desde el componente de script SQL. Para obtener más información, consulte SQL Script.

# Train the model.
PAI -name ps_smart
    -project algo_public
    -DinputTableName="smart_regression_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545859_2"
    -DoutputImportanceTableName="pai_temp_24515_545859_3"
    -DlabelColName="label"
    -DfeatureColNames="features"
    -DenableSparse="true"
    -Dobjective="reg:linear"
    -Dmetric="rmse"
    -DfeatureImportanceType="gain"
    -DtreeCount="5"
    -DmaxDepth="5"
    -Dshrinkage="0.3"
    -Dl2="1.0"
    -Dl1="0"
    -Dlifecycle="3"
    -DsketchEps="0.03"
    -DsampleRatio="1.0"
    -DfeatureRatio="1.0"
    -DbaseScore="0.5"
    -DminSplitLoss="0"
# Make predictions.
PAI -name prediction
    -project algo_public
    -DinputTableName="smart_regression_input";
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545860_1"
    -DfeatureColNames="features"
    -DappendColNames="label,features"
    -DenableSparse="true"
    -Dlifecycle="28"

Tipo de parámetro

Parámetro

Obligatorio

Predeterminado

Descripción

Parámetros de datos

featureColNames

Sí

Ninguna

Columnas de funciones de la tabla de entrada para el entrenamiento. Para formato denso, seleccione solo columnas BIGINT o DOUBLE. Para formato disperso clave-valor con claves y valores numéricos, seleccione solo columnas STRING.

labelColName

Sí

Ninguna

Columna de etiqueta de la tabla de entrada. Admite tipos STRING y numéricos. Internamente se convierte solo a tipos numéricos, como 0 y 1 para clasificación binaria.

weightCol

No

Ninguna

Columna para ponderar cada fila de muestra. Admite solo tipos numéricos.

enableSparse

No

false

Indica si los datos están en formato disperso. Valores válidos: {true,false}. Separa los pares clave-valor con espacios. Separa las claves y los valores con dos puntos (:). Ejemplo: 1:0.3 3:0.9.

inputTableName

Sí

Ninguna

Nombre de la tabla de entrada.

modelName

Sí

Ninguna

Nombre del modelo de salida.

outputImportanceTableName

No

Ninguna

Nombre de la tabla de salida que contiene la información de importancia de las funciones.

inputTablePartitions

No

Ninguna

Formato: ds=1/pt=1.

outputTableName

No

Ninguna

Tabla de salida en MaxCompute, en formato binario.

lifecycle

No

3

Ciclo de vida de la tabla de salida en días.

Parámetros del algoritmo

objective

Sí

reg:linear

Tipo de función objetivo. Tipos disponibles:

  • reg:linear: Regresión lineal

  • reg:logistic: Regresión logística

  • count:poisson: Regresión de Poisson

  • reg:gamma: Regresión gamma

  • reg:tweedie: Regresión Tweedie

metric

No

Ninguna

Métrica de evaluación para el conjunto de datos de entrenamiento. La salida se escribe en el archivo stdout en el área del coordinador Logview. Tipos disponibles:

  • rmse: Error cuadrático medio

  • mae: Error absoluto medio

  • logistic-nloglik: Log-verosimilitud negativa para regresión logística

  • poisson-nloglik: Log-verosimilitud negativa para regresión de Poisson

  • gamma-deviance: Desviación residual para regresión gamma

  • gamma-nloglik: Log-verosimilitud negativa para regresión gamma

  • tweedie-nloglik: Log-verosimilitud negativa para regresión Tweedie

treeCount

No

1

Número de árboles. El tiempo de entrenamiento aumenta proporcionalmente con este valor.

maxDepth

No

5

Profundidad máxima de un árbol. Rango: 1 a 20.

sampleRatio

No

1.0

Proporción de muestreo de datos. Rango: (0.1]. Un valor de 1.0 indica que no hay muestreo.

featureRatio

No

1.0

Proporción de muestreo de funciones. Rango: (0.1]. Un valor de 1.0 indica que no hay muestreo.

l1

No

0

Coeficiente de penalización L1. Valores mayores producen una distribución de nodos hoja más uniforme. Auméntelo para reducir el sobreajuste.

l2

No

1.0

Coeficiente de penalización L2. Valores mayores producen una distribución de nodos hoja más uniforme. Auméntelo para reducir el sobreajuste.

shrinkage

No

0.3

Tasa de aprendizaje. Rango: (0.1).

sketchEps

No

0.03

Umbral de cuantil para la división al construir un boceto. El número de cubos es O(1.0/sketchEps). Valores menores producen más cubos. Utilice el valor predeterminado. Rango: (0.1).

minSplitLoss

No

0

Cambio mínimo de pérdida requerido para dividir un nodo. Valores mayores producen divisiones más conservadoras.

featureNum

No

Ninguna

Número total de funciones o ID máximo de función. Si este parámetro no se especifica al estimar el uso de recursos, el sistema calcula el valor automáticamente mediante la ejecución de una tarea SQL.

baseScore

No

0.5

Valor de predicción inicial para todas las muestras.

randSeed

No

Ninguna

Semilla para el generador de números aleatorios. Debe ser un entero.

featureImportanceType

No

gain

Método para calcular la importancia de las funciones. Métodos disponibles:

  • weight: Número de veces que la función se usa como función de división en el modelo.

  • gain: Ganancia de información aportada por la función en el modelo.

  • cover: Número de muestras cubiertas por la función en los nodos de división del modelo.

tweedieVarPower

No

1.5

Índice de la relación entre la varianza y la media de la distribución Tweedie.

Parámetros de ajuste

coreNum

No

Asignado por el sistema

Número de núcleos. Valores mayores aceleran el algoritmo.

No

Asignado por el sistema

Memoria por núcleo en MB.

Ejemplo

  1. Utilice ODPS SQL node para ejecutar la siguiente sentencia SQL y generar datos de entrada. Este ejemplo utiliza formato clave-valor.

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

    Los datos generados se muestran a continuación.image

  2. Construya el siguiente flujo de trabajo y ejecute los componentes. Para obtener más información, consulte Algorithm modeling.image

    1. En la lista de componentes a la izquierda del lienzo de Designer, busque los componentes Read Table, PS-SMART Regression, Prediction y Write Table, y arrástrelos al lienzo.

    2. Configure los parámetros de los componentes.

      • Haga clic en el componente Read Table-1 en el lienzo. En la pestaña Select Table del panel derecho, establezca Table Name como smart_regression_input.

      • Haga clic en el componente PS-SMART Regression-1 en el lienzo. En el panel derecho, configure los parámetros como se muestra en la siguiente tabla. Utilice los valores predeterminados para los parámetros restantes.

        Tipo de parámetro

        Parámetro

        Descripción

        Configuración de campos

        Es formato disperso

        Seleccione la casilla de verificación Is sparse format.

        Columnas de funciones

        Seleccione la columna features.

        Columna de etiqueta

        Seleccione la columna label.

        Configuración de parámetros

        Tipo de función objetivo

        Establézcalo en Linear regression.

        Tipo de métrica de evaluación

        Seleccione rooted mean square error.

        Número de árboles

        Establézcalo en 5.

      • Haga clic en el componente Prediction-1 en el lienzo. En el panel derecho, configure los parámetros como se muestra en la siguiente tabla. Utilice los valores predeterminados para los parámetros restantes.

        Tipo de parámetro

        Parámetro

        Descripción

        Configuración de campos

        Columnas de funciones

        Todas las columnas están seleccionadas de forma predeterminada. Las columnas adicionales no afectan los resultados de la predicción.

        Columnas de paso directo

        Seleccione la columna label.

        Matriz dispersa

        Seleccione la casilla de verificación Sparse matrix.

        Separador clave-valor

        Establézcalo en dos puntos (:).

        Separador entre pares clave-valor

        Establézcalo en un espacio.

      • Haga clic en el componente Write Table-1 en el lienzo. En el panel derecho, en la pestaña Select Table, establezca Table Name for Output como smart_regression_output.

    3. Después de configurar los parámetros, haga clic en el botón de ejecución image para ejecutar el flujo de trabajo.

  3. Haga clic con el botón derecho en el componente Prediction-1 y elija View Data > Prediction Result Output.image

  4. Para consultar la importancia de las funciones, haga clic con el botón derecho en el componente PS-SMART Regression-1 y seleccione View Data > Output Feature Importance Table en el menú contextual. image

    La columna id indica el número ordinal de la función de entrada. Dado que los datos de entrada en este ejemplo utilizan formato clave-valor, la columna id representa la clave en el par clave-valor. La tabla de importancia de funciones contiene solo dos funciones, lo que significa que solo estas dos se utilizaron durante la división del árbol. Otras funciones tienen una importancia de 0. La columna value indica el tipo de importancia de la función. El valor predeterminado es gain, que representa la ganancia de información total que la función aporta al modelo.

Despliegue del modelo

Para desplegar el modelo generado por el componente PS-SMART como un servicio en línea, agregue el componente General-purpose Model Export en sentido descendente al componente PS-SMART. Configure los parámetros del componente de la misma manera que otros componentes de la serie PS. Para obtener más información, consulte General-purpose Model Export.

Tras una ejecución exitosa, despliegue el servicio de modelo en la página PAI-EAS Model Online Service. Para obtener más información, consulte Deploy a service in the console.

Referencias

  • Para obtener más información sobre los componentes de Designer, consulte Designer overview.

  • Designer ofrece una variedad de componentes algorítmicos para diferentes escenarios. Para obtener más información, consulte Designer component overview.