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:
|
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:
| |
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:
| |
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 |
metric | Tidak | Jenis metrik evaluasi dalam set pelatihan, yang termasuk dalam stdout koordinator dalam logview. Nilai valid:
| 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:
| 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
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.

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

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.
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.
Setelah konfigurasi parameter selesai, klik tombol
untuk menjalankan pipeline.
Klik kanan komponen Prediction-1 dan pilih untuk melihat hasil prediksi.

Klik kanan komponen PS-SMART Regression-1 dan pilih untuk melihat tabel pentingnya fitur.

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
Untuk informasi lebih lanjut tentang Machine Learning Designer, lihat Ikhtisar Machine Learning Designer.
Machine Learning Designer menyediakan berbagai komponen algoritma preset. Anda dapat menggunakan komponen untuk memproses data berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Referensi Komponen: Ikhtisar Semua Komponen.