All Products
Search
Document Center

Platform For AI:PS-SMART regression

Last Updated:Mar 06, 2026

PS-SMART Regression adalah algoritma pembelajaran mesin yang menggabungkan parameter server (PS) dengan scalable multiple additive regression tree (SMART). Algoritma ini dirancang untuk melatih model secara efisien pada set data berskala besar. PS-SMART menggunakan arsitektur PS untuk berjalan pada sistem terdistribusi dan mendukung puluhan miliar sampel serta ratusan ribu fitur. Algoritma ini juga memanfaatkan optimisasi iteratif dari gradient boosting decision tree (GBDT) dan teknik seperti aproksimasi histogram untuk meningkatkan kecepatan pelatihan dan efisiensi penggunaan sumber daya.

Batasan

Data masukan untuk komponen PS-SMART Regression harus memenuhi persyaratan berikut:

  • Kolom target hanya mendukung tipe numerik. Jika data dalam tabel MaxCompute bertipe STRING, Anda harus melakukan konversi tipe.

  • Jika data dalam format key-value, ID fitur harus berupa bilangan bulat positif dan nilai fitur harus berupa bilangan real. Jika ID fitur bertipe STRING, Anda dapat menggunakan komponen serialisasi untuk melakukan serialisasi data. Jika nilai fitur berupa string kategorikal, Anda dapat melakukan rekayasa fitur, seperti diskretisasi fitur.

  • Komponen PS-SMART Regression mendukung tugas dengan ratusan ribu fitur, tetapi tugas tersebut mengonsumsi banyak sumber daya dan berjalan lambat. Sebagai alternatif, Anda dapat menggunakan algoritma GBDT untuk pelatihan. Algoritma GBDT cocok untuk pelatihan langsung dengan fitur kontinu. Saat menggunakan algoritma GBDT, Anda dapat menerapkan one-hot encoding pada fitur kategorikal untuk menyaring fitur frekuensi rendah, tetapi hindari melakukan diskretisasi pada fitur numerik kontinu lainnya.

  • Algoritma PS-SMART dapat memperkenalkan keacakan. Misalnya, keacakan dapat terjadi pada sampling data dan fitur, yang direpresentasikan oleh data_sample_ratio dan fea_sample_ratio. Keacakan juga dapat terjadi pada optimisasi aproksimasi histogram yang digunakan algoritma dan keacakan sekuensial saat menggabungkan sketsa lokal menjadi sketsa global. Meskipun struktur pohon mungkin berbeda ketika tugas dijalankan secara terdistribusi di beberapa worker, performa model secara teoretis serupa. Oleh karena itu, wajar jika hasil eksekusi berulang dengan data dan parameter yang sama tidak konsisten.

  • Untuk mempercepat Pelatihan, tingkatkan number of computing cores. Algoritma PS-SMART memulai Pelatihan hanya setelah semua sumber daya yang diminta dialokasikan. Oleh karena itu, jika kluster sedang sibuk, permintaan sumber daya tambahan akan memperpanjang waktu tunggu.

Perhatian

Perhatikan hal-hal berikut saat menggunakan komponen PS-SMART Regression:

  • Komponen PS-SMART Regression mendukung tugas dengan ratusan ribu fitur, tetapi tugas tersebut mengonsumsi banyak sumber daya dan berjalan lambat. Sebagai alternatif, Anda dapat menggunakan algoritma GBDT untuk pelatihan. Algoritma GBDT cocok untuk pelatihan langsung dengan fitur kontinu. Saat menggunakan algoritma GBDT, Anda dapat menerapkan one-hot encoding pada fitur kategorikal untuk menyaring fitur frekuensi rendah, tetapi hindari melakukan diskretisasi pada fitur numerik kontinu lainnya.

  • Algoritma PS-SMART dapat memperkenalkan keacakan. Misalnya, keacakan dapat terjadi pada sampling data dan fitur, yang direpresentasikan oleh data_sample_ratio dan fea_sample_ratio. Keacakan juga dapat terjadi pada optimisasi aproksimasi histogram yang digunakan algoritma dan keacakan sekuensial saat menggabungkan sketsa lokal menjadi sketsa global. Meskipun struktur pohon mungkin berbeda ketika tugas dijalankan secara terdistribusi di beberapa worker, performa model secara teoretis serupa. Oleh karena itu, wajar jika hasil eksekusi berulang dengan data dan parameter yang sama tidak konsisten.

  • Untuk mempercepat pelatihan, Anda dapat meningkatkan number of computing cores. Namun, algoritma PS-SMART baru memulai pelatihan setelah semua sumber daya yang diminta dialokasikan. Oleh karena itu, permintaan sumber daya tambahan saat kluster sedang sibuk akan memperpanjang waktu tunggu.

Konfigurasi komponen

Metode 1: Gunakan antarmuka visual

Anda dapat menambahkan komponen PS-SMART Regression ke kanvas Designer dan mengonfigurasi parameternya di panel sebelah kanan.

Parameter type

Parameter

Description

Fields setting

Is sparse format

Pisahkan key-value pairs dalam format sparse dengan spasi. Pisahkan key dan value dengan tanda titik dua (:). Contoh: 1:0.3 3:0.9.

Select feature columns

Kolom fitur dari tabel masukan yang digunakan untuk pelatihan. Jika data masukan dalam format dense, Anda hanya dapat memilih kolom bertipe BIGINT atau DOUBLE. Jika data masukan dalam format sparse key-value dan key serta value bertipe numerik, Anda hanya dapat memilih kolom bertipe STRING.

Select label column

Kolom label dari tabel masukan. Tipe STRING dan numerik didukung. Untuk penyimpanan internal, hanya tipe numerik yang didukung, seperti 0 dan 1 untuk klasifikasi biner.

Select weight column

Kolom yang digunakan untuk memberi bobot setiap baris sampel. Hanya tipe numerik yang didukung.

Parameters setting

Objective function type

Tipe yang didukung adalah:

  • Linear regression (default)

  • Logistic regression

  • Poisson regression

  • Gamma regression

  • Tweedie regression

Tweedie distribution index

Parameter ini hanya tersedia ketika Anda mengatur Objective function type ke Tweedie regression. Parameter ini menentukan indeks hubungan antara varians dan rata-rata distribusi Tweedie.

Evaluation metric type

Tipe yang didukung adalah:

  • 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

Number of trees

Jumlah pohon. Nilai ini harus berupa bilangan bulat positif. Number of trees berbanding lurus dengan waktu pelatihan.

Maximum tree depth

Nilai default adalah 5, yang berarti maksimal 32 node daun.

Data sampling ratio

Saat setiap pohon dibangun, sebagian data disampling untuk membangun weak learner, yang mempercepat pelatihan.

Feature sampling ratio

Saat setiap pohon dibangun, sebagian fitur disampling untuk membangun weak learner, yang mempercepat pelatihan.

L1 penalty coefficient

Mengontrol ukuran node daun. Semakin besar nilainya, semakin seragam distribusi ukuran node daun. Jika terjadi overfitting, tingkatkan nilai ini.

L2 penalty coefficient

Mengontrol ukuran node daun. Semakin besar nilainya, semakin seragam distribusi ukuran node daun. Jika terjadi overfitting, tingkatkan nilai ini.

Learning rate

Nilai harus berada dalam rentang (0,1).

Approximate sketch precision

Ambang batas kuantil untuk pemisahan saat sketsa dibangun. Semakin kecil nilainya, semakin banyak bucket yang diperoleh. Anda dapat menggunakan nilai default 0.03.

Minimum split loss change

Perubahan loss minimum yang diperlukan untuk memisahkan sebuah node. Semakin besar nilainya, semakin konservatif pemisahannya.

Number of features

Jumlah fitur atau ID fitur maksimum. Jika parameter ini tidak dikonfigurasi saat memperkirakan penggunaan sumber daya, sistem akan menjalankan task SQL untuk menghitung nilai tersebut secara otomatis.

Global bias

Nilai prediksi awal untuk semua sampel.

Random number generator seed

Seed untuk penghasil angka acak. Nilai harus berupa bilangan bulat.

Feature importance type

Tipe yang didukung adalah:

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

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

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

Execution tuning

Number of cores

Dialokasikan oleh sistem secara default.

Memory per core (MB)

Memori yang digunakan oleh satu core, dalam MB. Secara default, sistem mengalokasikan memori secara otomatis.

Metode 2: Gunakan perintah PAI

Untuk mengonfigurasi parameter komponen PS-SMART Regression, Anda dapat memanggil perintah PAI dari komponen skrip SQL. Untuk informasi selengkapnya, lihat SQL Script.

# Latih 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"
# Lakukan prediksi.
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"

Parameter type

Parameter

Required

Default

Description

Data parameters

featureColNames

Yes

None

Kolom fitur dari tabel masukan yang digunakan untuk pelatihan. Jika tabel masukan dalam format dense, Anda hanya dapat memilih kolom bertipe BIGINT atau DOUBLE. Jika tabel masukan dalam format sparse key-value dan key serta value bertipe numerik, Anda hanya dapat memilih kolom bertipe STRING.

labelColName

Yes

None

Kolom label dari tabel masukan. Tipe STRING dan numerik didukung. Untuk penyimpanan internal, hanya tipe numerik yang didukung, seperti 0 dan 1 untuk klasifikasi biner.

weightCol

No

None

Kolom yang digunakan untuk memberi bobot setiap baris sampel. Hanya tipe numerik yang didukung.

enableSparse

No

false

Menentukan apakah data dalam format sparse. Nilai yang valid adalah {true,false}. Pisahkan key-value pairs dalam format sparse dengan spasi. Pisahkan key dan value dengan tanda titik dua (:). Contoh: 1:0.3 3:0.9.

inputTableName

Yes

None

Nama tabel masukan.

modelName

Yes

None

Nama model output.

outputImportanceTableName

No

None

Nama tabel output yang berisi informasi pentingnya fitur.

inputTablePartitions

No

None

Formatnya adalah ds=1/pt=1.

outputTableName

No

None

Tabel output di MaxCompute. Datanya dalam format biner.

lifecycle

No

3

Siklus hidup tabel output, dalam hari.

Algorithm parameters

objective

Yes

reg:linear

Tipe fungsi objektif. Tipe yang didukung adalah:

  • reg:linear: Linear Regression

  • reg:logistic: Logistic Regression

  • count:poisson: Poisson Regression

  • reg:gamma: Gamma Regression

  • reg:tweedie: Tweedie Regression

metric

No

None

Tipe metrik evaluasi untuk set data pelatihan. Output ditulis ke file stdout di area koordinator Logview. Tipe yang didukung adalah:

  • rmse: Sesuai dengan tipe rooted mean square error di antarmuka visual.

  • mae: Sesuai dengan tipe mean absolute error di antarmuka visual.

  • logistic-nloglik: Sesuai dengan tipe negative loglikelihood for logistic regression di antarmuka visual.

  • poisson-nloglik: Sesuai dengan tipe negative loglikelihood for poisson regression di antarmuka visual.

  • gamma-deviance: Sesuai dengan tipe residual deviance for gamma regression di antarmuka visual.

  • gamma-nloglik: Sesuai dengan tipe negative log-likelihood for gamma regression di antarmuka visual.

  • tweedie-nloglik: Sesuai dengan tipe negative log-likelihood for Tweedie regression di antarmuka visual.

treeCount

No

1

Jumlah pohon. Nilai ini berbanding lurus dengan waktu pelatihan.

maxDepth

No

5

Kedalaman maksimum pohon. Nilai harus berada dalam rentang 1 hingga 20.

sampleRatio

No

1.0

Rasio sampling data. Nilai harus berada dalam rentang (0,1]. Nilai 1.0 menunjukkan bahwa tidak ada sampling yang dilakukan.

featureRatio

No

1.0

Rasio sampling fitur. Nilai harus berada dalam rentang (0,1]. Nilai 1.0 menunjukkan bahwa tidak ada sampling yang dilakukan.

l1

No

0

Koefisien penalti L1. Semakin besar nilainya, semakin seragam distribusi node daun. Jika terjadi overfitting, tingkatkan nilai ini.

l2

No

1.0

Koefisien penalti L2. Semakin besar nilainya, semakin seragam distribusi node daun. Jika terjadi overfitting, tingkatkan nilai ini.

shrinkage

No

0.3

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

sketchEps

No

0.03

Ambang batas kuantil untuk pemisahan saat sketsa dibangun. Jumlah bucket adalah O(1.0/sketchEps). Semakin kecil nilainya, semakin banyak bucket yang diperoleh. Anda dapat menggunakan nilai default. Nilai harus berada dalam rentang (0,1).

minSplitLoss

No

0

Perubahan loss minimum yang diperlukan untuk memisahkan sebuah node. Semakin besar nilainya, semakin konservatif pemisahannya.

featureNum

No

None

Jumlah fitur atau ID fitur maksimum. Jika parameter ini tidak dikonfigurasi saat memperkirakan penggunaan sumber daya, sistem akan menjalankan task SQL untuk menghitung nilai tersebut secara otomatis.

baseScore

No

0.5

Nilai prediksi awal untuk semua sampel.

randSeed

No

None

Seed untuk penghasil angka acak. Nilai harus berupa bilangan bulat.

featureImportanceType

No

gain

Metode untuk menghitung pentingnya fitur. Termasuk:

  • weight: Jumlah kali fitur digunakan sebagai fitur pemisah dalam model.

  • gain: Informasi gain yang dibawa oleh fitur dalam model.

  • cover: Jumlah sampel yang dicakup oleh fitur pada node pemisah dalam model.

tweedieVarPower

No

1.5

Indeks hubungan antara varians dan rata-rata distribusi Tweedie.

Tuning parameters

coreNum

No

System allocated

Jumlah core. Semakin besar nilainya, semakin cepat algoritma berjalan.

No

System allocated

Memori setiap core, dalam MB.

Contoh

  1. Anda dapat menggunakan node ODPS SQL untuk menjalankan pernyataan SQL berikut guna menghasilkan data masukan. Contoh ini menggunakan data dalam format key-value.

    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;

    Data yang dihasilkan ditampilkan di bawah.image

  2. Buat alur kerja berikut dan jalankan komponennya. Untuk informasi selengkapnya, lihat Algorithm modeling.image

    1. Di daftar komponen di sebelah kiri kanvas Designer, cari komponen Read Table, PS-SMART Regression, Prediction, dan Write Table, lalu seret ke kanvas.

    2. Konfigurasi parameter komponen.

      • Di kanvas, klik komponen Read Table-1. Di tab Select Table di panel kanan, atur Table Name ke smart_regression_input.

      • Di kanvas, klik komponen PS-SMART Regression-1. Di panel sisi kanan, konfigurasikan parameter seperti pada tabel berikut. Gunakan nilai default untuk parameter lainnya.

        Parameter type

        Parameter

        Description

        Fields setting

        Is sparse format

        Pilih kotak centang Is sparse format.

        Feature columns

        Pilih kolom features.

        Label column

        Pilih kolom label.

        Parameters setting

        Objective function type

        Atur ke Linear regression.

        Evaluation metric type

        Pilih rooted mean square error.

        Number of trees

        Atur ke 5.

      • Di kanvas, klik komponen Prediction-1. Di panel kanan, konfigurasikan parameter seperti pada tabel berikut. Gunakan nilai default untuk parameter yang tersisa.

        Parameter type

        Parameter

        Description

        Fields setting

        Feature columns

        Secara default, semua kolom dipilih. Kolom tambahan tidak memengaruhi hasil prediksi.

        Pass-through columns

        Pilih kolom label.

        Sparse matrix

        Pilih kotak centang Sparse matrix.

        Key-value separator

        Atur ke tanda titik dua (:).

        Separator between key-value pairs

        Atur ke spasi.

      • Di kanvas, klik komponen Write Table-1. Di panel kanan, pada tab Select Table, atur parameter Table Name for Output ke smart_regression_output.

    3. Setelah mengonfigurasi parameter, klik tombol run image untuk menjalankan alur kerja.

  3. Klik kanan komponen Prediction-1 dan pilih View Data > Prediction Result Output.image

  4. Untuk melihat pentingnya fitur, klik kanan komponen PS-SMART Regression-1 dan pilih View Data > Output Feature Importance Table dari menu pintasan. image

    Kolom id menunjukkan nomor urut fitur masukan. Karena data masukan dalam contoh ini dalam format key-value, kolom id merepresentasikan key dalam pasangan kunci-nilai. Tabel pentingnya fitur hanya berisi dua fitur, yang menunjukkan bahwa hanya dua fitur tersebut yang digunakan selama proses pemisahan pohon. Pentingnya fitur untuk fitur lainnya adalah 0. Kolom value menunjukkan tipe pentingnya fitur. Nilai default adalah gain, yaitu jumlah informasi gain yang dikontribusikan fitur tersebut terhadap model.

Petunjuk penerapan model PS-SMART

Untuk menerapkan model yang dihasilkan oleh komponen PS-SMART sebagai layanan online, Anda harus menambahkan komponen General-purpose Model Export di downstream komponen PS-SMART. Anda dapat mengonfigurasi parameter komponen tersebut dengan cara yang sama seperti komponen seri PS lainnya. Untuk informasi selengkapnya, lihat General-purpose Model Export.

Setelah eksekusi berhasil, Anda dapat membuka halaman PAI-EAS Model Online Service untuk menerapkan layanan model. Untuk informasi selengkapnya, lihat Deploy a service in the console.

Referensi

  • Untuk informasi selengkapnya tentang komponen Designer, lihat Designer overview.

  • Designer menyediakan berbagai komponen algoritma. Anda dapat memilih komponen yang sesuai untuk memproses data dalam berbagai skenario. Untuk informasi selengkapnya, lihat Designer component overview.