Todos los productos
Search
Centro de documentos

Platform For AI:Regresión GBDT

Última actualización: Sep 04, 2026

Gradient Boosting Decision Tree (GBDT) es un algoritmo avanzado de aprendizaje automático. Utiliza un método iterativo para construir una colección de árboles de decisión destinados al análisis de regresión. Al optimizar progresivamente una función de pérdida, el algoritmo puede manejar problemas de regresión tanto lineales como no lineales, y ofrece resultados de predicción con alta precisión.

Configurar el componente

Método 1: Configuración visual

Agregue el componente GBDT Regression a la página del flujo de trabajo en Designer. A continuación, configure los parámetros en el panel derecho.

Tipo de parámetro

Parámetro

Descripción

Configuración de campos

Columnas de entrada

Las columnas de funciones del origen de datos de entrada que se utilizan para el entrenamiento. Admite los tipos DOUBLE y BIGINT.

Nota

El número de columnas de funciones no puede exceder 800.

Columna de etiqueta

Admite los tipos DOUBLE y BIGINT.

Columna de grupo

Admite los tipos DOUBLE y BIGINT. De forma predeterminada, toda la tabla se trata como un solo grupo.

Configuración de parámetros

Tipo de función de pérdida

Los tipos compatibles son gbrank loss, lambdamart dcg loss, lambdamart ndcg loss y regression loss.

Parámetro Tau en gbrank loss

El valor debe estar en el intervalo [0.1].

Base del exponente en gbrank y regression loss

El valor debe estar en el intervalo [1.10].

Tipo de métrica

Los tipos compatibles son NDCG y DCG.

Número de árboles

El valor debe estar en el intervalo de 1 a 10000.

Tasa de aprendizaje

El valor debe estar en el intervalo (0.1).

Número máximo de nodos hoja

El valor debe estar en el intervalo de 1 a 1000.

Profundidad máxima de un árbol

El valor debe estar en el intervalo de 1 a 11.

Número mínimo de muestras en un nodo hoja

El valor debe estar en el intervalo de 1 a 1000.

Proporción de muestreo de muestras

El valor debe estar en el intervalo (0.1).

Proporción de muestreo de funciones durante el entrenamiento

El valor debe estar en el intervalo (0.1).

Proporción de muestras de prueba

El valor debe estar en el intervalo [0.1).

Semilla para el generador de números aleatorios

El valor debe estar en el intervalo [0.10].

Usar el método de Newton para el aprendizaje

Especifica si se usa el método de Newton.

Número máximo de divisiones para una función

El valor debe estar en el intervalo de 1 a 1000.

Ajuste de ejecución

Número de núcleos de cómputo

El sistema asigna automáticamente el número de instancias de entrenamiento según el volumen de datos de entrada.

Memoria por núcleo

El sistema asigna automáticamente la memoria según el volumen de datos de entrada. La unidad es MB.

Método 2: Uso de comandos de PAI

Utilice comandos de PAI para configurar los parámetros del componente GBDT Regression. Puede usar el componente SQL Script para invocar comandos de PAI. Para obtener más información, consulte SQL Script.

PAI -name gbdt
    -project algo_public
    -DfeatureSplitValueMaxSize="500"
    -DlossType="0"
    -DrandSeed="0"
    -DnewtonStep="0"
    -Dshrinkage="0.05"
    -DmaxLeafCount="32"
    -DlabelColName="campaign"
    -DinputTableName="bank_data_partition"
    -DminLeafSampleCount="500"
    -DsampleRatio="0.6"
    -DgroupIDColName="age"
    -DmaxDepth="11"
    -DmodelName="xlab_m_GBDT_83602"
    -DmetricType="2"
    -DfeatureRatio="0.6"
    -DinputTablePartitions="pt=20150501"
    -Dtau="0.6"
    -Dp="1"
    -DtestRatio="0.0"
    -DfeatureColNames="previous,cons_conf_idx,euribor3m"
    -DtreeCount="500"

Parámetro

Obligatorio

Valor predeterminado

Descripción

inputTableName

Sí

Ninguna

El nombre de la tabla de entrada.

featureColNames

No

Todas las columnas numéricas

Los nombres de las columnas de funciones en la tabla de entrada que se usan para el entrenamiento. Admite los tipos DOUBLE y BIGINT.

labelColName

Sí

Ninguna

El nombre de la columna de etiqueta en la tabla de entrada. Admite los tipos DOUBLE y BIGINT.

inputTablePartitions

No

Todas las particiones

Las particiones de la tabla de entrada que se usan para el entrenamiento. Se admiten los siguientes formatos:

  • Partition_name=value

  • name1=value1/name2=value2: particiones de varios niveles

Nota

Use comas (,) para separar varias particiones.

modelName

Sí

Ninguna

El nombre del modelo de salida.

outputImportanceTableName

No

Ninguna

El nombre de la tabla de salida para la importancia de funciones.

groupIDColName

No

Tabla completa

La columna de agrupación de datos.

lossType

No

0

La función de pérdida. Se admiten los siguientes tipos:

  • 0: GBRANK

  • 1: LAMBDAMART_DCG

  • 2: LAMBDAMART_NDCG

  • 3: LEAST_SQUARE

metricType

No

0

Los tipos incluyen los siguientes:

  • 0: NDCG (Normalized Discounted Cumulative Gain)

  • 1: DCG (Discounted Cumulative Gain)

  • 2: AUC. Este tipo solo aplica cuando el valor de label es 0/1. Este tipo está obsoleto.

treeCount

No

500

El número de árboles. El valor debe estar en el intervalo de 1 a 10000.

shrinkage

No

0.05

La tasa de aprendizaje. El valor debe estar en el intervalo (0.1).

maxLeafCount

No

32

El número máximo de nodos hoja. El valor debe estar en el intervalo de 1 a 1000.

maxDepth

No

10

La profundidad máxima de un árbol. El valor debe estar en el intervalo de 1 a 11.

minLeafSampleCount

No

500

El número mínimo de muestras en un nodo hoja. El valor debe estar en el intervalo de 1 a 1000.

sampleRatio

No

0.6

La proporción de muestreo para las muestras durante el entrenamiento. El valor debe estar en el intervalo (0.1).

featureRatio

No

0.6

La proporción de muestreo para las funciones durante el entrenamiento. El valor debe estar en el intervalo (0.1).

tau

No

0.6

El parámetro Tau en GBRank Loss. El valor debe estar en el intervalo [0.1].

p

No

1

El parámetro p en GBRank Loss. El valor debe estar en el intervalo [1.10].

randSeed

No

0

La semilla para el generador de números aleatorios. El valor debe estar en el intervalo [0.10].

newtonStep

No

1

Especifica si se usa el método de iteración de Newton. El valor puede ser {0.1}.

featureSplitValueMaxSize

No

500

El número máximo de divisiones para una función. El valor debe estar en el intervalo de 1 a 1000.

lifecycle

No

Ninguna

El ciclo de vida de la tabla de salida.

Ejemplo

  1. Utilice una sentencia SQL para generar datos de prueba.

    drop table if exists gbdt_ls_test_input;
    create table gbdt_ls_test_input
    as
    select
        *
    from
    (
        select
            cast(1 as double) as f0,
            cast(0 as double) as f1,
            cast(0 as double) as f2,
            cast(0 as double) as f3,
            cast(0 as bigint) as label
        union all
            select
                cast(0 as double) as f0,
                cast(1 as double) as f1,
                cast(0 as double) as f2,
                cast(0 as double) as f3,
                cast(0 as bigint) as label
        union all
            select
                cast(0 as double) as f0,
                cast(0 as double) as f1,
                cast(1 as double) as f2,
                cast(0 as double) as f3,
                cast(1 as bigint) as label
        union all
            select
                cast(0 as double) as f0,
                cast(0 as double) as f1,
                cast(0 as double) as f2,
                cast(1 as double) as f3,
                cast(1 as bigint) as label
        union all
            select
                cast(1 as double) as f0,
                cast(0 as double) as f1,
                cast(0 as double) as f2,
                cast(0 as double) as f3,
                cast(0 as bigint) as label
        union all
            select
                cast(0 as double) as f0,
                cast(1 as double) as f1,
                cast(0 as double) as f2,
                cast(0 as double) as f3,
                cast(0 as bigint) as label
    ) a;

    La tabla de datos de prueba generada gbdt_ls_test_input es la siguiente.

    f0

    f1

    f2

    f3

    label

    1.0

    0.0

    0.0

    0.0

    0

    0.0

    0.0

    1.0

    0.0

    1

    0.0

    0.0

    0.0

    1.0

    1

    0.0

    1.0

    0.0

    0.0

    0

    1.0

    0.0

    0.0

    0.0

    0

    0.0

    1.0

    0.0

    0.0

    0

  2. Utilice un comando de PAI para enviar los parámetros de entrenamiento del componente GBDT Regression.

    drop offlinemodel if exists gbdt_ls_test_model;
    PAI -name gbdt
        -project algo_public
        -DfeatureSplitValueMaxSize="500"
        -DlossType="3"
        -DrandSeed="0"
        -DnewtonStep="1"
        -Dshrinkage="0.5"
        -DmaxLeafCount="32"
        -DlabelColName="label"
        -DinputTableName="gbdt_ls_test_input"
        -DminLeafSampleCount="1"
        -DsampleRatio="1"
        -DmaxDepth="10"
        -DmetricType="0"
        -DmodelName="gbdt_ls_test_model"
        -DfeatureRatio="1"
        -Dp="1"
        -Dtau="0.6"
        -DtestRatio="0"
        -DfeatureColNames="f0,f1,f2,f3"
        -DtreeCount="10"
  3. Utilice un comando de PAI para enviar los parámetros del componente Prediction.

    drop table if exists gbdt_ls_test_prediction_result;
    PAI -name prediction
        -project algo_public
        -DdetailColName="prediction_detail"
        -DmodelName="gbdt_ls_test_model"
        -DitemDelimiter=","
        -DresultColName="prediction_result"
        -Dlifecycle="28"
        -DoutputTableName="gbdt_ls_test_prediction_result"
        -DscoreColName="prediction_score"
        -DkvDelimiter=":"
        -DinputTableName="gbdt_ls_test_input"
        -DenableSparse="false"
        -DappendColNames="label"
  4. Consulte la tabla de resultados de predicción gbdt_ls_test_prediction_result.

    label

    prediction_result

    prediction_score

    prediction_detail

    0

    NULL

    0.0

    {“label”: 0}

    0

    NULL

    0.0

    {“label”: 0}

    1

    NULL

    0.9990234375

    {“label”: 0.9990234375}

    1

    NULL

    0.9990234375

    {“label”: 0.9990234375}

    0

    NULL

    0.0

    {“label”: 0}

    0

    NULL

    0.0

    {“label”: 0}