Todos os produtos
Search
Central de documentação

Platform For AI:Regressão GBDT

Última atualização: Jun 27, 2026

O Gradient Boosting Decision Tree (GBDT) é um algoritmo avançado de machine learning. Ele utiliza um método iterativo para construir um conjunto de árvores de decisão voltadas à análise de regressão. Ao otimizar progressivamente uma função de perda, o algoritmo lida com problemas de regressão lineares e não lineares, fornecendo resultados de previsão altamente precisos.

Configure o componente

Método 1: Configuração visual

Adicione o componente GBDT Regression à página de workflow do Designer. Em seguida, configure os parâmetros no painel à direita.

Tipo de parâmetro

Parâmetro

Descrição

Configuração de campos

Colunas de entrada

As colunas de features da source de dados de entrada usadas para treinamento. Compatível com os tipos DOUBLE e BIGINT.

Nota

O número de colunas de features não pode exceder 800.

Coluna de rótulo

Compatível com os tipos DOUBLE e BIGINT.

Coluna de grupo

Compatível com os tipos DOUBLE e BIGINT. Por padrão, toda a tabela é tratada como um único grupo.

Configuração de parâmetros

Tipo de função de perda

Os tipos suportados são gbrank loss, lambdamart dcg loss, lambdamart ndcg loss e regression loss.

Parâmetro Tau em gbrank loss

O valor deve estar no intervalo de [0,1].

Base do expoente em gbrank e regression loss

O valor deve estar no intervalo de [1,10].

Tipo de métrica

Os tipos suportados são NDCG e DCG.

Número de árvores

O valor deve estar no intervalo de 1 a 10000.

Taxa de aprendizado

O valor deve estar no intervalo de (0,1).

Número máximo de nós folha

O valor deve estar no intervalo de 1 a 1000.

Profundidade máxima da árvore

O valor deve estar no intervalo de 1 a 11.

Número mínimo de amostras em um nó folha

O valor deve estar no intervalo de 1 a 1000.

Taxa de amostragem

O valor deve estar no intervalo de (0,1).

Taxa de amostragem de features durante o treinamento

O valor deve estar no intervalo de (0,1).

Proporção de amostras de teste

O valor deve estar no intervalo de [0,1).

Semente para o gerador de números aleatórios

O valor deve estar no intervalo de [0,10].

Usar método de Newton para aprendizado

Define se o método de Newton será utilizado.

Número máximo de divisões para uma feature

O valor deve estar no intervalo de 1 a 1000.

Ajuste de execução

Número de núcleos de computação

O sistema aloca automaticamente o número de instâncias de treinamento com base no volume de dados de entrada.

Memória por núcleo

O sistema aloca memória automaticamente conforme o volume de dados de entrada. A unidade é MB.

Método 2: Usar comandos PAI

Utilize comandos PAI para configurar os parâmetros do componente GBDT Regression. É possível usar o componente SQL Script para chamar comandos PAI. Para mais informações, 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

Obrigatório

Valor padrão

Descrição

inputTableName

Sim

Nenhum

Nome da tabela de entrada.

featureColNames

Não

Todas as colunas numéricas

Nomes das colunas de features na tabela de entrada usadas para treinamento. Compatível com os tipos DOUBLE e BIGINT.

labelColName

Sim

Nenhum

Nome da coluna de rótulo na tabela de entrada. Compatível com os tipos DOUBLE e BIGINT.

inputTablePartitions

Não

Todas as partições

Partições da tabela de entrada utilizadas no treinamento. Os seguintes formatos são suportados:

  • Partition_name=value

  • name1=value1/name2=value2: partições multinível

Nota

Use vírgulas (,) para separar múltiplas partições.

modelName

Sim

Nenhum

Nome do modelo de saída.

outputImportanceTableName

Não

Nenhum

Nome da tabela de saída para importância de features.

groupIDColName

Não

Tabela completa

Coluna de agrupamento de dados.

lossType

Não

0

Função de perda. Os seguintes tipos são suportados:

  • 0: GBRANK

  • 1: LAMBDAMART_DCG

  • 2: LAMBDAMART_NDCG

  • 3: LEAST_SQUARE

metricType

Não

0

Os tipos incluem:

  • 0: NDCG (Normalized Discounted Cumulative Gain)

  • 1: DCG (Discounted Cumulative Gain)

  • 2: AUC. Este tipo aplica-se apenas quando o valor de label é 0/1. Este tipo está obsoleto.

treeCount

Não

500

Quantidade de árvores. O valor deve estar no intervalo de 1 a 10000.

shrinkage

Não

0,05

Taxa de aprendizado. O valor deve estar no intervalo de (0,1).

maxLeafCount

Não

32

Limite máximo de nós folha. O valor deve estar entre 1 e 1000.

maxDepth

Não

10

Profundidade máxima permitida para a árvore. O valor deve variar de 1 a 11.

minLeafSampleCount

Não

500

Mínimo de amostras exigido em um nó folha. O valor deve estar no intervalo de 1 a 1000.

sampleRatio

Não

0,6

Proporção de amostragem utilizada durante o treinamento. O valor deve estar no intervalo de (0,1).

featureRatio

Não

0,6

Taxa de amostragem de features durante o treinamento. O valor deve estar no intervalo de (0,1).

tau

Não

0,6

Parâmetro Tau em GBRank Loss. O valor deve estar no intervalo de [0,1].

p

Não

1

Parâmetro p em GBRank Loss. O valor deve estar no intervalo de [1,10].

randSeed

Não

0

Semente do gerador de números aleatórios. O valor deve estar no intervalo de [0,10].

newtonStep

Não

1

Define se o método de iteração de Newton será usado. O valor pode ser {0,1}.

featureSplitValueMaxSize

Não

500

Número máximo de divisões para uma feature. O valor deve estar no intervalo de 1 a 1000.

lifecycle

Não

Nenhum

Ciclo de vida da tabela de saída.

Exemplo

  1. Execute uma instrução SQL para gerar dados de teste.

    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;

    A tabela de dados de teste gerada gbdt_ls_test_input é apresentada abaixo.

    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. Envie os parâmetros de treinamento do componente GBDT Regression usando um comando PAI.

    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. Envie os parâmetros do componente Prediction através de um comando PAI.

    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. Visualize a tabela de resultados da previsão 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}