全部产品
Search
文档中心

Platform For AI:PS-SMART Regresi

更新时间:Jul 06, 2025

Server parameter (PS) digunakan untuk memproses sejumlah besar tugas pelatihan offline dan online. SMART adalah singkatan dari scalable multiple additive regression tree. PS-SMART adalah algoritma iterasi yang diimplementasikan menggunakan pohon keputusan peningkatan gradien berbasis server parameter (GBDT). Komponen Pelatihan Klasifikasi Biner PS-SMART mendukung tugas pelatihan untuk puluhan miliar sampel dan ratusan ribu fitur, serta dapat menjalankan tugas pelatihan pada ribuan node. Komponen ini juga mendukung berbagai format data dan teknologi optimasi seperti pendekatan berbasis histogram.

Batasan

Data input komponen PS-SMART Regresi harus memenuhi persyaratan berikut:

  • Hanya kolom dengan tipe data numerik yang dapat digunakan oleh komponen PS-SMART Regresi. Jika tipe data dalam tabel MaxCompute adalah STRING, konversikan terlebih dahulu ke tipe data numerik.

  • Jika data dalam format pasangan kunci-nilai, ID fitur harus berupa bilangan bulat positif, dan nilai fitur harus berupa bilangan real. Untuk ID fitur bertipe STRING, gunakan komponen serialisasi untuk menyerilisasi data. Untuk nilai fitur kategorikal, lakukan rekayasa fitur seperti diskretisasi untuk memproses nilai tersebut.

  • Komponen PS-SMART Regresi mendukung hingga ratusan ribu fitur, tetapi tugas-tugas ini intensif sumber daya dan memakan waktu. Untuk mengatasi masalah ini, gunakan algoritma GBDT untuk melatih model, yang cocok untuk skenario dengan fitur kontinu. Lakukan one-hot encoding pada fitur kategorikal untuk menyaring fitur frekuensi rendah. Namun, hindari melakukan diskretisasi pada fitur kontinu bertipe data numerik.

  • Algoritma PS-SMART dapat memperkenalkan keacakan, misalnya dalam pengambilan sampel data dan fitur berdasarkan data_sample_ratio dan fea_sample_ratio, optimasi menggunakan histogram untuk pendekatan, dan penggabungan sketsa lokal menjadi sketsa global. Struktur pohon dapat berbeda ketika pekerjaan dijalankan pada beberapa pekerja dalam mode terdistribusi. Namun, efek pelatihan model secara teoritis sama. Hal ini normal jika Anda menggunakan data dan parameter yang sama selama pelatihan tetapi mendapatkan hasil yang berbeda.

  • Untuk mempercepat pelatihan, atur parameter Cores ke nilai yang lebih besar. Algoritma PS-SMART memulai tugas pelatihan setelah sumber daya yang diperlukan disediakan. Semakin banyak sumber daya yang diminta, semakin lama waktu yang dibutuhkan untuk menunggu.

Tindakan Pencegahan

Saat menggunakan komponen PS-SMART Regresi, perhatikan hal-hal berikut:

  • Komponen PS-SMART Regresi mendukung hingga ratusan ribu fitur, tetapi tugas-tugas ini intensif sumber daya dan memakan waktu. Untuk mengatasi masalah ini, gunakan algoritma GBDT untuk melatih model, yang cocok untuk skenario dengan fitur kontinu. Lakukan one-hot encoding pada fitur kategorikal untuk menyaring fitur frekuensi rendah. Namun, hindari melakukan diskretisasi pada fitur kontinu bertipe data numerik.

  • Algoritma PS-SMART dapat memperkenalkan keacakan, misalnya dalam pengambilan sampel data dan fitur berdasarkan data_sample_ratio dan fea_sample_ratio, optimasi menggunakan histogram untuk pendekatan, dan penggabungan sketsa lokal menjadi sketsa global. Struktur pohon dapat berbeda ketika pekerjaan dijalankan pada beberapa pekerja dalam mode terdistribusi. Namun, efek pelatihan model secara teoritis sama. Hal ini normal jika Anda menggunakan data dan parameter yang sama selama pelatihan tetapi mendapatkan hasil yang berbeda.

  • Untuk mempercepat pelatihan, atur parameter Cores ke nilai yang lebih besar. Algoritma PS-SMART memulai tugas pelatihan setelah sumber daya yang diperlukan disediakan. Semakin banyak sumber daya yang diminta, semakin lama waktu yang dibutuhkan untuk menunggu.

Konfigurasi komponen

Anda dapat mengonfigurasi komponen PS-SMART Regresi menggunakan salah satu metode berikut:

Metode 1: Konfigurasikan komponen di konsol Platform for AI (PAI)

Konfigurasikan parameter komponen di Machine Learning Designer. Tabel berikut menjelaskan parameter-parameter tersebut.

Tab

Parameter

Deskripsi

Fields Setting

Use Sparse Format

Menentukan apakah data input dalam format sparse. Jika data dalam format sparse disajikan menggunakan pasangan kunci-nilai, pisahkan pasangan kunci-nilai dengan spasi dan pisahkan kunci dan nilai dengan titik dua (:). Contoh: 1:0.3 3:0.9.

Feature Columns

Pilih kolom fitur untuk pelatihan dari tabel input. Jika data dalam tabel input dalam format padat, hanya kolom dengan tipe BIGINT dan DOUBLE yang didukung. Jika data dalam tabel input dalam format sparse yang disajikan menggunakan pasangan kunci-nilai, dan kunci dan nilai adalah tipe data numerik, hanya kolom dengan tipe STRING yang didukung.

Label Column

Pilih kolom label dari tabel input. Kolom dengan tipe STRING dan tipe data numerik didukung. Namun, hanya data dengan tipe data numerik yang dapat disimpan dalam kolom. Sebagai contoh, nilai kolom bisa 0 atau 1 dalam klasifikasi biner.

Weight Column

Pilih kolom yang berisi bobot setiap baris sampel. Kolom dengan tipe data numerik didukung.

Parameters Setting

Objective Function Type

Nilai valid:

  • Linear Regression (default)

  • Logistic Regression

  • Poisson Regression

  • Gamma Regression

  • Tweedie Regression

Tweedie Distribution Index

Indeks hubungan antara varians dan nilai rata-rata distribusi Tweedie. Parameter ini hanya didukung saat Anda mengatur parameter Jenis Fungsi Objektif ke Tweedie Regression.

Evaluation Indicator Type

Nilai valid:

  • 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

Trees

Masukkan jumlah pohon. Nilai parameter ini harus berupa bilangan bulat. number of trees sebanding dengan jumlah waktu pelatihan.

Maximum Tree Depth

Nilai defaultnya adalah 5, yang menentukan bahwa hingga 32 simpul daun dapat dikonfigurasi.

Data Sampling Fraction

Masukkan rasio pengambilan sampel data saat pohon dibangun. Data sampel digunakan untuk membangun pembelajar lemah untuk mempercepat pelatihan.

Feature Sampling Fraction

Masukkan rasio pengambilan sampel fitur saat pohon dibangun. Fitur sampel digunakan untuk membangun pembelajar lemah untuk mempercepat pelatihan.

L1 Penalty Coefficient

Kontrol ukuran simpul daun. Nilai yang lebih besar menghasilkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

L2 Penalty Coefficient

Kontrol ukuran simpul daun. Nilai yang lebih besar menghasilkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

Learning Rate

Masukkan tingkat pembelajaran. Nilai valid: (0,1).

Sketch-based Approximate Precision

Masukkan ambang batas untuk memilih kuantil saat Anda membangun sketsa. Nilai yang lebih kecil menentukan bahwa lebih banyak bin dapat diperoleh. Dalam kebanyakan kasus, nilai default 0.03 digunakan.

Minimum Split Loss Change

Masukkan perubahan loss minimum yang diperlukan untuk membagi simpul. Nilai yang lebih besar menentukan bahwa pemisahan simpul lebih kecil kemungkinannya terjadi.

Features

Masukkan jumlah fitur atau ID fitur maksimum. Jika parameter ini tidak ditentukan untuk estimasi penggunaan sumber daya, sistem secara otomatis menjalankan tugas SQL untuk menghitung jumlah fitur atau ID fitur maksimum.

Global Offset

Masukkan nilai prediksi awal untuk semua sampel.

Random Seed

Masukkan benih acak. Nilai parameter ini harus berupa bilangan bulat.

Feature Importance Type

Nilai valid:

  • Weight: menunjukkan jumlah pemisahan fitur.

  • Gain: Menampilkan informasi gain yang diberikan oleh fitur. Nilai ini merupakan nilai default.

  • Cover: menunjukkan jumlah sampel yang dicakup oleh fitur pada simpul pemisahan.

Tuning

Cores

Pilih jumlah core. Secara default, sistem menentukan nilainya.

Memory Size per Core

Pilih ukuran memori setiap core. Unit: MB. Dalam kebanyakan kasus, sistem menentukan ukuran memori.

Metode 2: Konfigurasikan komponen menggunakan perintah PAI

Konfigurasikan parameter komponen menggunakan perintah PAI. Bagian berikut menjelaskan parameter-parameter tersebut. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.

# Training 
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"
# Prediction 
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"

Modul

Parameter

Diperlukan

Deskripsi

Nilai Default

Parameter data

featureColNames

Ya

Kolom fitur yang dipilih dari tabel input untuk pelatihan. Jika data dalam tabel input dalam format padat, hanya kolom dengan tipe BIGINT dan DOUBLE yang didukung. Jika data dalam tabel input dalam format sparse yang disajikan menggunakan pasangan kunci-nilai, dan kunci dan nilai adalah tipe data numerik, hanya kolom dengan tipe STRING yang didukung.

Tidak ada nilai default

labelColName

Ya

Kolom label dalam tabel input. Kolom dengan tipe STRING dan tipe data numerik didukung. Namun, hanya data dengan tipe data numerik yang dapat disimpan dalam kolom. Sebagai contoh, nilai kolom bisa 0 atau 1 dalam klasifikasi biner.

Tidak ada nilai default

weightCol

Tidak

Kolom yang berisi bobot setiap baris sampel. Kolom dengan tipe data numerik didukung.

Tidak ada nilai default

enableSparse

Tidak

Menentukan apakah data input dalam format sparse. Nilai valid: true and false. Menentukan apakah data input dalam format sparse. Jika data dalam format sparse disajikan menggunakan pasangan kunci-nilai, pisahkan pasangan kunci-nilai dengan spasi dan pisahkan kunci dan nilai dengan titik dua (:). Contoh: 1:0.3 3:0.9.

false

inputTableName

Ya

Nama tabel input.

Tidak ada nilai default

modelName

Ya

Nama model output.

Tidak ada nilai default

outputImportanceTableName

Tidak

Nama tabel yang menyediakan pentingnya fitur.

Tidak ada nilai default

inputTablePartitions

Tidak

Partisi yang dipilih dari tabel input untuk pelatihan. Format: ds=1/pt=1.

Tidak ada nilai default

outputTableName

Tidak

Nama tabel yang diekspor ke MaxCompute. Nama tabel harus dalam format biner.

Tidak ada nilai default

lifecycle

Tidak

Siklus hidup tabel output. Unit: hari.

3

Parameter algoritma

objective

Ya

Jenis fungsi objektif. Nilai valid:

  • reg:linear: Regresi Linear

  • reg:logistic: Regresi Logistik

  • count:poisson: Regresi Poisson

  • reg:gamma: Regresi Gamma

  • reg:tweedie: Regresi Tweedie

reg:linear

metric

Tidak

Jenis metrik evaluasi dalam set pelatihan, yang termasuk dalam stdout koordinator dalam logview. Nilai valid:

  • rmse: Nilai Rooted Mean Square Error dari parameter Jenis Indeks Evaluasi di konsol Machine Learning Platform for AI.

  • mae: Nilai Mean Absolute Error dari parameter Jenis Indeks Evaluasi di konsol Machine Learning Platform for AI.

  • logistic-nloglik: Nilai Negative Loglikelihood for Logistic Regression dari parameter Jenis Indeks Evaluasi di konsol Machine Learning Platform for AI.

  • poisson-nloglik: Nilai Negative Loglikelihood for Poisson Regression dari parameter Jenis Indeks Evaluasi di konsol Machine Learning Platform for AI.

  • gamma-deviance: Nilai Residual Deviance for Gamma Regression dari parameter Jenis Indeks Evaluasi di konsol Machine Learning Platform for AI.

  • gamma-nloglik: Nilai Negative Log-likelihood for Gamma Regression dari parameter Jenis Indeks Evaluasi di konsol Machine Learning Platform for AI.

  • tweedie-nloglik: Nilai Negative Log-likelihood for Tweedie Regression dari parameter Jenis Indeks Evaluasi di konsol Machine Learning Platform for AI.

Tidak ada nilai default

treeCount

Tidak

Jumlah pohon. Nilainya sebanding dengan waktu pelatihan.

1

maxDepth

Tidak

Kedalaman maksimum pohon. Nilai valid: 1 hingga 20.

5

sampleRatio

Tidak

Rasio pengambilan sampel data. Rentang nilai: (0,1]. Jika parameter ini diatur ke 1.0, pengambilan sampel tidak dilakukan.

1.0

featureRatio

Tidak

Rasio pengambilan sampel fitur. Rentang nilai: (0,1]. Jika parameter ini diatur ke 1.0, tidak ada data yang diambil sampelnya.

1.0

l1

Tidak

Koefisien penalti L1. Nilai parameter ini yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

0

l2

Tidak

Koefisien penalti L2. Nilai parameter ini yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

1.0

shrinkage

Tidak

Tingkat pembelajaran. Rentang nilai: (0,1).

0.3

sketchEps

Tidak

Ambang batas untuk memilih kuantil saat Anda membangun sketsa. Jumlah bin adalah O(1.0/sketchEps). Nilai yang lebih kecil menentukan bahwa lebih banyak bin dapat diperoleh. Dalam kebanyakan kasus, nilai default digunakan. Rentang nilai: (0,1).

0.03

minSplitLoss

Tidak

Masukkan perubahan loss minimum yang diperlukan untuk membagi simpul. Nilai yang lebih besar menentukan bahwa pemisahan simpul lebih kecil kemungkinannya terjadi.

0

featureNum

Tidak

Jumlah fitur atau ID fitur maksimum. Jika parameter ini tidak ditentukan untuk estimasi penggunaan sumber daya, sistem secara otomatis menjalankan tugas SQL untuk menghitung jumlah fitur atau ID fitur maksimum.

Tidak ada nilai default

baseScore

Tidak

Nilai prediksi awal untuk semua sampel.

0.5

randSeed

Tidak

Benih acak. Nilai parameter ini harus berupa bilangan bulat.

Tidak ada nilai default

featureImportanceType

Tidak

Jenis pentingnya fitur. Nilai valid:

  • weight: menunjukkan jumlah pemisahan fitur.

  • gain: menunjukkan informasi gain yang diberikan oleh fitur.

  • cover: menunjukkan jumlah sampel yang dicakup oleh fitur pada simpul pemisahan.

gain

tweedieVarPower

Tidak

Indeks hubungan antara varians dan nilai rata-rata distribusi Tweedie.

1.5

Parameter penyetelan

coreNum

Tidak

Jumlah core yang digunakan oleh algoritma komputasi. Semakin besar nilainya, semakin cepat algoritma komputasi berjalan.

Ditetapkan oleh sistem

memSizePerCore

Tidak

Ukuran memori setiap core. Unit: MB.

Ditetapkan oleh sistem

Contoh

  1. Eksekusi pernyataan SQL berikut untuk menghasilkan data input pada node ODPS SQL. Dalam contoh ini, data input dalam pasangan kunci-nilai dihasilkan.

    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;

    Gambar berikut menunjukkan data pelatihan yang dihasilkan.image

  2. Buat pipeline seperti yang ditunjukkan pada gambar berikut dan jalankan komponen. Untuk informasi lebih lanjut, lihat Pemodelan Algoritma.image

    1. Di daftar komponen di sisi kiri Machine Learning Designer, cari komponen Read Table, PS-SMART Regresi, Prediction, dan Write Table secara terpisah, lalu seret komponen tersebut ke kanvas di sebelah kanan.

    2. Konfigurasikan parameter komponen.

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

      • Di kanvas, klik komponen PS-SMART Regression-1 dan konfigurasikan parameter di panel kanan. Tabel berikut menjelaskan parameter-parameter tersebut. Pertahankan nilai default untuk parameter yang tidak dijelaskan dalam tabel.

        Tab

        Parameter

        Deskripsi

        Fields Setting

        Use Sparse Format

        Pilih Use Sparse Format.

        Feature Columns

        Pilih kolom features.

        Label Column

        Pilih kolom label.

        Parameters Setting

        Objective Function Type

        Atur parameter ke Linear Regression.

        Evaluation Indicator Type

        Atur parameter ke Rooted Mean Square Error.

        Trees

        Atur parameter ke 5.

      • Di kanvas, klik komponen Prediction-1 dan konfigurasikan parameter. Tabel berikut menjelaskan parameter-parameter tersebut. Pertahankan nilai default untuk parameter yang tidak dijelaskan dalam tabel.

        Tab

        Parameter

        Deskripsi

        Fields Setting

        Feature Columns

        Secara default, semua kolom dalam tabel input dipilih. Kolom tertentu mungkin tidak digunakan untuk pelatihan. Kolom-kolom ini tidak memengaruhi hasil prediksi.

        Reserved Columns

        Pilih kolom label.

        Sparse Matrix

        Pilih Sparse Matrix.

        KV Delimiter

        Atur parameter ini ke titik dua (:).

        KV Pair Delimiter

        Atur parameter ini ke spasi.

      • Di kanvas, klik komponen Write Table-1. Pada tab Select Table di panel kanan, atur New Table Name menjadi smart_regression_output.

    3. Setelah konfigurasi parameter selesai, klik tombol image untuk menjalankan pipeline.

  3. Klik kanan komponen Prediction-1 dan pilih View Data> > Prediction Result Output Port untuk melihat hasil prediksi.image

  4. Klik kanan komponen PS-SMART Regression-1 dan pilih View Data > Output Feature Importance Table untuk melihat tabel pentingnya fitur. image

    id: ID fitur yang dilewati. Dalam contoh ini, data input dalam format pasangan kunci-nilai. Nilai dalam kolom id menunjukkan kunci dalam pasangan kunci-nilai. Tabel pentingnya fitur hanya memiliki dua fitur, yang menunjukkan bahwa hanya fitur-fitur ini yang digunakan dalam pemisahan pohon. Pentingnya fitur lainnya dapat dianggap sebagai 0. value: jenis pentingnya fitur. Nilai default parameter ini adalah gain, yang menunjukkan jumlah informasi gain yang diberikan oleh fitur untuk model.

Penerapan Model PS-SMART

Untuk menerapkan model yang dihasilkan oleh komponen Pelatihan Klasifikasi Biner PS-SMART ke EAS sebagai layanan online, tambahkan komponen Model export sebagai node hilir untuk komponen Pelatihan Klasifikasi Biner PS-SMART dan konfigurasikan komponen Ekspor Model. Untuk informasi lebih lanjut, lihat Ekspor Model.

Setelah komponen Ekspor Model berhasil dijalankan, Anda dapat menerapkan model yang dihasilkan ke EAS sebagai layanan online pada halaman EAS-Online Model Services. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.

Referensi