All Products
Search
Document Center

Platform For AI:GBDT regression

Last Updated:Mar 06, 2026

Gradient Boosting Decision Tree (GBDT) adalah algoritma pembelajaran mesin tingkat lanjut yang menggunakan metode iteratif untuk membangun kumpulan decision tree guna melakukan analisis regresi. Dengan mengoptimalkan fungsi loss secara progresif, algoritma ini mampu menangani masalah regresi linier maupun nonlinier serta menghasilkan prediksi yang sangat akurat.

Konfigurasikan komponen

Metode 1: Konfigurasi visual

Tambahkan komponen GBDT Regression ke halaman workflow Designer, lalu konfigurasikan parameter pada panel di sebelah kanan.

Parameter type

Parameter

Description

Fields setting

Input columns

Kolom fitur dari sumber data input yang digunakan untuk pelatihan. Mendukung tipe DOUBLE dan BIGINT.

Catatan

Jumlah kolom fitur tidak boleh melebihi 800.

Label column

Mendukung tipe DOUBLE dan BIGINT.

Group column

Mendukung tipe DOUBLE dan BIGINT. Secara default, seluruh tabel diperlakukan sebagai satu kelompok.

Parameters setting

Loss function type

Tipe yang didukung adalah gbrank loss, lambdamart dcg loss, lambdamart ndcg loss, dan regression loss.

Tau parameter in gbrank loss

Nilainya harus berada dalam rentang [0,1].

Exponent base in gbrank and regression loss

Nilainya harus berada dalam rentang [1,10].

Metric type

Tipe yang didukung adalah NDCG dan DCG.

Number of trees

Nilainya harus berada dalam rentang 1 hingga 10000.

Learning rate

Nilainya harus berada dalam rentang (0,1).

Maximum number of leaf nodes

Nilainya harus berada dalam rentang 1 hingga 1000.

Maximum depth of a tree

Nilainya harus berada dalam rentang 1 hingga 11.

Minimum number of samples on a leaf node

Nilainya harus berada dalam rentang 1 hingga 1000.

Sample sampling ratio

Nilainya harus berada dalam rentang (0,1).

Feature sampling ratio during training

Nilainya harus berada dalam rentang (0,1).

Ratio of test samples

Nilainya harus berada dalam rentang [0,1).

Seed for random number generator

Nilainya harus berada dalam rentang [0,10].

Use Newton's method for learning

Menentukan apakah akan menggunakan metode Newton.

Maximum number of splits for a feature

Nilainya harus berada dalam rentang 1 hingga 1000.

Execution tuning

Number of computing cores

Sistem secara otomatis mengalokasikan jumlah instans pelatihan berdasarkan volume data input.

Memory per core

Sistem secara otomatis mengalokasikan memori berdasarkan volume data input. Satuannya adalah MB.

Metode 2: Gunakan perintah PAI

Gunakan perintah PAI untuk mengonfigurasi parameter komponen GBDT Regression. Anda dapat memanggil perintah PAI melalui komponen SQL Script. Untuk informasi selengkapnya, lihat 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"

Parameter

Required

Default value

Description

inputTableName

Yes

None

Nama tabel input.

featureColNames

No

All numeric columns

Nama kolom fitur dalam tabel input yang digunakan untuk pelatihan. Mendukung tipe DOUBLE dan BIGINT.

labelColName

Yes

None

Nama kolom label dalam tabel input. Mendukung tipe DOUBLE dan BIGINT.

inputTablePartitions

No

All partitions

Partisi dalam tabel input yang digunakan untuk pelatihan. Format berikut didukung:

  • Partition_name=value

  • name1=value1/name2=value2: partisi multi-level

Catatan

Gunakan koma (,) untuk memisahkan beberapa partisi.

modelName

Yes

None

Nama model output.

outputImportanceTableName

No

None

Nama tabel output untuk pentingnya fitur.

groupIDColName

No

Full table

Kolom pengelompokan data.

lossType

No

0

Fungsi loss. Tipe berikut didukung:

  • 0: GBRANK

  • 1: LAMBDAMART_DCG

  • 2: LAMBDAMART_NDCG

  • 3: LEAST_SQUARE

metricType

No

0

Tipe-tipe tersebut meliputi:

  • 0: NDCG (Normalized Discounted Cumulative Gain)

  • 1: DCG (Discounted Cumulative Gain)

  • 2: AUC. Tipe ini hanya berlaku ketika nilai label adalah 0/1. Tipe ini sudah tidak digunakan lagi.

treeCount

No

500

Jumlah pohon. Nilainya harus berada dalam rentang 1 hingga 10000.

shrinkage

No

0.05

Tingkat pembelajaran. Nilainya harus berada dalam rentang (0,1).

maxLeafCount

No

32

Jumlah maksimum node daun. Nilainya harus berada dalam rentang 1 hingga 1000.

maxDepth

No

10

Kedalaman maksimum pohon. Nilainya harus berada dalam rentang 1 hingga 11.

minLeafSampleCount

No

500

Jumlah minimum sampel pada node daun. Nilainya harus berada dalam rentang 1 hingga 1000.

sampleRatio

No

0.6

Rasio pengambilan sampel untuk sampel selama pelatihan. Nilainya harus berada dalam rentang (0,1).

featureRatio

No

0.6

Rasio pengambilan sampel untuk fitur selama pelatihan. Nilainya harus berada dalam rentang (0,1).

tau

No

0.6

Parameter Tau dalam GBRank Loss. Nilainya harus berada dalam rentang [0,1].

p

No

1

Parameter p dalam GBRank Loss. Nilainya harus berada dalam rentang [1,10].

randSeed

No

0

Seed untuk penghasil angka acak. Nilainya harus berada dalam rentang [0,10].

newtonStep

No

1

Menentukan apakah akan menggunakan metode iterasi Newton. Nilainya dapat berupa {0,1}.

featureSplitValueMaxSize

No

500

Jumlah maksimum pemisahan untuk suatu fitur. Nilainya harus berada dalam rentang 1 hingga 1000.

lifecycle

No

None

Siklus hidup tabel output.

Contoh

  1. Gunakan pernyataan SQL untuk menghasilkan data uji.

    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;

    Tabel data uji yang dihasilkan gbdt_ls_test_input adalah sebagai berikut.

    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. Gunakan perintah PAI untuk mengirimkan parameter pelatihan komponen 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. Gunakan perintah PAI untuk mengirimkan parameter komponen 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. Lihat tabel hasil prediksi 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}