All Products
Search
Document Center

Platform For AI:Pelatihan klasifikasi biner PS-SMART

Last Updated:Mar 06, 2026

Parameter Server (PS) dirancang untuk tugas pelatihan offline dan online berskala besar. Scalable Multiple Additive Regression Tree (SMART) adalah algoritma iteratif berbasis Gradient Boosting Decision Tree (GBDT) yang diimplementasikan pada PS. PS-SMART mampu menangani tugas pelatihan dengan puluhan miliar contoh dan ratusan ribu fitur yang tersebar di ribuan node. Algoritma ini juga mendukung berbagai format data dan teknik optimasi, seperti aproksimasi histogram.

Batasan

Komponen ini hanya mendukung mesin komputasi MaxCompute.

Catatan penggunaan

  • Kolom target untuk komponen Pelatihan Klasifikasi Biner PS-SMART harus bertipe numerik, dengan 0 merepresentasikan contoh negatif dan 1 merepresentasikan contoh positif. Jika data dalam tabel MaxCompute Anda bertipe STRING, Anda harus mengonversi tipe datanya. Misalnya, Anda dapat mengonversi string target klasifikasi Good/Bad menjadi 1/0.

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

  • Meskipun komponen Pelatihan Klasifikasi Biner PS-SMART mendukung tugas dengan ratusan ribu fitur, proses pelatihannya intensif terhadap sumber daya dan lambat. Untuk performa yang lebih baik, Anda dapat menggunakan algoritma sejenis GBDT karena dapat dilatih langsung pada fitur kontinu. Selain menerapkan enkode One-Hot pada fitur kategorikal dan memfilter fitur dengan frekuensi rendah, hindari diskretisasi fitur numerik kontinu lainnya.

  • Algoritma PS-SMART memperkenalkan unsur keacakan. Misalnya, keacakan diperkenalkan melalui sampling data dan fitur, yang dikendalikan oleh parameter data_sample_ratio dan fea_sample_ratio, optimasi aproksimasi histogram, serta urutan acak saat sketsa lokal digabung menjadi sketsa global. Meskipun struktur pohon mungkin berbeda ketika beberapa worker berjalan secara terdistribusi, 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 menambahkan number of computing cores. Algoritma PS-SMART baru memulai pelatihan setelah semua server mendapatkan sumber daya yang dibutuhkan. Oleh karena itu, permintaan sumber daya tambahan saat kluster sedang sibuk dapat memperpanjang waktu tunggu.

Konfigurasi komponen

Anda dapat mengonfigurasi parameter komponen PS-SMART Klasifikasi Biner menggunakan salah satu metode berikut.

Metode 1: Gunakan UI

Konfigurasikan parameter komponen pada halaman alur kerja Designer.

Tab

Parameter

Deskripsi

Fields Setting

Use Sparse Format

Dalam format sparse, gunakan spasi untuk memisahkan pasangan KV dan tanda titik dua (:) untuk memisahkan key dari value. Contoh: 1:0.3 3:0.9.

Feature Columns

Kolom fitur dari tabel input untuk pelatihan. Jika data input dalam format dense, Anda hanya dapat memilih kolom bertipe numerik (BIGINT atau DOUBLE). Jika data input dalam format sparse KV dan key serta value bertipe numerik, Anda hanya dapat memilih kolom bertipe STRING.

Label Column

Kolom label dari tabel input. Mendukung tipe STRING dan numerik. Namun, isi kolom hanya mendukung nilai numerik, seperti 0 dan 1 dalam klasifikasi biner.

Weight Column

Kolom yang digunakan untuk memberi bobot pada setiap baris contoh. Mendukung tipe numerik.

Parameter Settings

Evaluation Metric Type

Tipe yang didukung adalah:

  • negative loglikelihood for logistic regression

  • binary classification error

  • Area under curve for classification

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 16 leaf node. Nilai ini harus berupa bilangan bulat positif.

Data Sampling Ratio

Saat membangun setiap pohon, sebagian data disampling untuk membangun pembelajar lemah, yang mempercepat pelatihan.

Feature Sampling Ratio

Saat membangun setiap pohon, sebagian fitur disampling untuk membangun pembelajar lemah, yang mempercepat pelatihan.

L1 Penalty Coefficient

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

L2 Penalty Coefficient

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

Learning Rate

Rentang nilai adalah (0,1).

Approximate Sketch Precision

Ambang batas kuantil untuk pemisahan saat membangun sketsa. Semakin kecil nilainya, semakin banyak bucket yang dibuat. Biasanya, gunakan nilai default 0.03. Tidak perlu dikonfigurasi secara manual.

Minimum Split Loss Change

Perubahan loss minimum yang diperlukan untuk membagi sebuah node. Semakin besar nilainya, semakin konservatif pembagiannya.

Number of Features

Jumlah fitur atau ID fitur maksimum. Jika parameter ini tidak dikonfigurasi saat memperkirakan penggunaan resource, sistem akan menjalankan task SQL untuk menghitungnya secara otomatis.

Global Bias Term

Nilai prediksi awal untuk semua contoh.

Random Number Generator Seed

Seed bilangan acak. Harus berupa bilangan bulat.

Feature Importance Type

Tipe yang didukung adalah:

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

  • The information gain brought by the feature in the model (default)

  • The number of samples covered by the feature at the split node in the model

Execution Tuning

Number of Computing Cores

Sistem secara otomatis mengalokasikan core secara default.

Memory Size per Core

Memori yang digunakan oleh satu core, dalam MB. Biasanya tidak perlu dikonfigurasi secara manual. Sistem mengalokasikan memori secara otomatis.

Metode 2: Gunakan perintah PAI

Anda dapat menggunakan perintah Platform for AI (PAI) untuk mengonfigurasi parameter komponen. Anda dapat menggunakan komponen SQL script untuk memanggil perintah PAI. Untuk informasi selengkapnya, lihat SQL Script.

# Train.
PAI -name ps_smart
    -project algo_public
    -DinputTableName="smart_binary_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="f0,f1,f2,f3,f4,f5"
    -DenableSparse="false"
    -Dobjective="binary:logistic"
    -Dmetric="error"
    -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";

# Predict.
PAI -name prediction
    -project algo_public
    -DinputTableName="smart_binary_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545860_1"
    -DfeatureColNames="f0,f1,f2,f3,f4,f5"
    -DappendColNames="label,qid,f0,f1,f2,f3,f4,f5"
    -DenableSparse="false"
    -Dlifecycle="28";

Modul

Parameter

Wajib

Deskripsi

Nilai default

Parameter data

featureColNames

Ya

Kolom fitur dari tabel input untuk pelatihan. Jika tabel input dalam format dense, Anda hanya dapat memilih kolom bertipe numerik (BIGINT atau DOUBLE). Jika tabel input dalam format sparse KV dan key serta value bertipe numerik, Anda hanya dapat memilih kolom bertipe STRING.

Tidak ada

labelColName

Ya

Kolom label dari tabel input. Mendukung tipe STRING dan numerik. Untuk penyimpanan internal, hanya tipe numerik yang didukung. Misalnya, 0 dan 1 dalam klasifikasi biner.

Tidak ada

weightCol

Tidak

Kolom yang digunakan untuk memberi bobot pada setiap baris contoh. Mendukung tipe numerik.

Tidak ada

enableSparse

Tidak

Menentukan apakah formatnya sparse. Nilai yang valid: {true,false}. Dalam format sparse, gunakan spasi untuk memisahkan pasangan KV dan tanda titik dua (:) untuk memisahkan key dari value. Contoh: 1:0.3 3:0.9.

false

inputTableName

Ya

Nama tabel input.

Tidak ada

modelName

Ya

Nama model output.

Tidak ada

outputImportanceTableName

Tidak

Nama tabel output untuk pentingnya fitur.

Tidak ada

inputTablePartitions

Tidak

Formatnya adalah ds=1/pt=1.

Tidak ada

outputTableName

Tidak

Tabel output di MaxCompute. Tabel ini dalam format biner dan tidak dapat dibaca. Hanya dapat diperoleh melalui komponen prediksi SMART.

Tidak ada

lifecycle

Tidak

Siklus hidup tabel output, dalam hari.

3

Parameter algoritma

objective

Ya

Tipe fungsi objektif. Untuk pelatihan klasifikasi biner, pilih binary:logistic.

Tidak ada

metric

Tidak

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

  • logloss: Sesuai dengan tipe negative loglikelihood for logistic regression di UI.

  • error: Sesuai dengan tipe binary classification error di UI.

  • auc: Sesuai dengan tipe Area under curve for classification di UI.

Tidak ada

treeCount

Tidak

Jumlah pohon. Berbanding lurus dengan waktu pelatihan.

1

maxDepth

Tidak

Kedalaman maksimum pohon. Harus berupa bilangan bulat positif dari 1 hingga 20.

5

sampleRatio

Tidak

Rasio sampling data. Rentang nilai adalah (0,1]. Nilai 1.0 berarti tidak ada sampling.

1.0

featureRatio

Tidak

Rasio sampling fitur. Rentang nilai adalah (0,1]. Nilai 1.0 berarti tidak ada sampling.

1.0

l1

Tidak

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

0

l2

Tidak

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

1.0

shrinkage

Tidak

Rentang nilai adalah (0,1).

0.3

sketchEps

Tidak

Ambang batas kuantil untuk pemisahan saat membangun sketsa. Jumlah bucket adalah O(1.0/sketchEps). Semakin kecil nilainya, semakin banyak bucket yang dibuat. Biasanya tidak perlu dikonfigurasi secara manual. Rentang nilai adalah (0,1).

0.03

minSplitLoss

Tidak

Perubahan loss minimum yang diperlukan untuk membagi sebuah node. Semakin besar nilainya, semakin konservatif pembagiannya.

0

featureNum

Tidak

Jumlah fitur atau ID fitur maksimum. Jika parameter ini tidak dikonfigurasi saat memperkirakan penggunaan resource, sistem akan menjalankan task SQL untuk menghitungnya secara otomatis.

Tidak ada

baseScore

Tidak

Nilai prediksi awal untuk semua contoh.

0.5

randSeed

Tidak

Seed bilangan acak. Harus berupa bilangan bulat.

Tidak ada

featureImportanceType

Tidak

Tipe pentingnya fitur yang akan dihitung. Meliputi:

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

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

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

gain

Parameter tuning

coreNum

Tidak

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

Dialokasikan sistem

memSizePerCore

Tidak

Memori yang digunakan oleh setiap core, dalam MB.

Dialokasikan sistem

Contoh

  1. Gunakan node ODPS SQL untuk menjalankan pernyataan SQL berikut guna menghasilkan data pelatihan. Contoh ini menggunakan data dalam format dense.

    drop table if exists smart_binary_input;
    create table smart_binary_input lifecycle 3 as
    select
    *
    from
    (
    select 0.72 as f0, 0.42 as f1, 0.55 as f2, -0.09 as f3, 1.79 as f4, -1.2 as f5, 0 as label
    union all
    select 1.23 as f0, -0.33 as f1, -1.55 as f2, 0.92 as f3, -0.04 as f4, -0.1 as f5, 1 as label
    union all
    select -0.2 as f0, -0.55 as f1, -1.28 as f2, 0.48 as f3, -1.7 as f4, 1.13 as f5, 1 as label
    union all
    select 1.24 as f0, -0.68 as f1, 1.82 as f2, 1.57 as f3, 1.18 as f4, 0.2 as f5, 0 as label
    union all
    select -0.85 as f0, 0.19 as f1, -0.06 as f2, -0.55 as f3, 0.31 as f4, 0.08 as f5, 1 as label
    union all
    select 0.58 as f0, -1.39 as f1, 0.05 as f2, 2.18 as f3, -0.02 as f4, 1.71 as f5, 0 as label
    union all
    select -0.48 as f0, 0.79 as f1, 2.52 as f2, -1.19 as f3, 0.9 as f4, -1.04 as f5, 1 as label
    union all
    select 1.02 as f0, -0.88 as f1, 0.82 as f2, 1.82 as f3, 1.55 as f4, 0.53 as f5, 0 as label
    union all
    select 1.19 as f0, -1.18 as f1, -1.1 as f2, 2.26 as f3, 1.22 as f4, 0.92 as f5, 0 as label
    union all
    select -2.78 as f0, 2.33 as f1, 1.18 as f2, -4.5 as f3, -1.31 as f4, -1.8 as f5, 1 as label
    ) tmp;

    Data pelatihan yang dihasilkan ditunjukkan pada gambar berikut.image

  2. Bangun alur kerja seperti pada gambar berikut dan jalankan komponennya. Untuk informasi selengkapnya, lihat Pemodelan algoritma.image

    1. Pada daftar komponen di sisi kiri kanvas Designer, cari dan seret komponen Read Table, PS-SMART Binary Classification Training, Prediction, dan Write Table ke kanvas.

    2. Hubungkan komponen seperti pada gambar sebelumnya untuk membangun alur kerja dengan hubungan hulu-hilir.

    3. Konfigurasikan parameter komponen.

      • Pada kanvas, klik komponen Read Table-1. Pada tab Select Table di panel kanan, atur Table Name menjadi smart_binary_input.

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

        Tab

        Parameter

        Deskripsi

        Fields Setting

        Feature Columns

        Pilih kolom f0, f1, f2, f3, f4, dan f5.

        Label Column

        Pilih kolom label.

        Parameter Settings

        Evaluation Metric Type

        Pilih Area under curve for classification.

        Number of Trees

        Masukkan 5.

      • Pada kanvas, klik komponen Prediction-1. Pada tab Fields Setting di panel kanan, atur Reserved Columns menjadi Select All. Gunakan nilai default untuk parameter lainnya.

      • Pada kanvas, klik komponen Write Table-1. Pada tab Select Table di panel kanan, atur Output Table Name menjadi smart_binary_output.

    4. Setelah mengonfigurasi parameter, klik tombol Run image untuk menjalankan alur kerja.

  3. Klik kanan komponen Prediction-1 dan pilih View Data > Prediction Result untuk melihat hasil prediksi.image Pada kolom prediction_detail, 1 merepresentasikan contoh positif dan 0 merepresentasikan contoh negatif.

  4. Klik kanan komponen PS-SMART Binary Classification Training-1 dan pilih View Data > Output Feature Importance Table untuk melihat tabel pentingnya fitur.image Parameter dijelaskan sebagai berikut:

    • id: Nomor urut fitur input. Dalam contoh ini, fitur input adalah f0, f1, f2, f3, f4, dan f5. Oleh karena itu, nilai 0 pada kolom id merepresentasikan kolom fitur f0, dan nilai 4 pada kolom id merepresentasikan kolom fitur f4. Jika data input dalam format key-value (KV), kolom id merepresentasikan key.

    • value: Tipe pentingnya fitur. Nilai default adalah gain, yaitu jumlah information gain yang dibawa fitur tersebut ke dalam model.

    • Tabel pentingnya fitur hanya berisi tiga fitur. Artinya, hanya ketiga fitur tersebut yang digunakan dalam proses pemisahan pohon. Pentingnya fitur lain dianggap 0.

Instruksi 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 hilir komponen PS-SMART. Anda dapat mengonfigurasi parameter komponen 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 Ikhtisar Designer.

  • Designer menyediakan berbagai komponen algoritma. Anda dapat memilih komponen yang sesuai untuk pemrosesan data berdasarkan skenario Anda. Untuk informasi selengkapnya, lihat Referensi komponen: Semua komponen.