Server parameter (PS) digunakan untuk memproses tugas pelatihan offline dan online dalam skala besar. SMART adalah singkatan dari scalable multiple additive regression tree. PS-SMART adalah algoritma iterasi yang diimplementasikan menggunakan Pohon Keputusan Peningkatan Gradien (GBDT) berbasis PS. Komponen Pelatihan Klasifikasi Biner PS-SMART mendukung tugas pelatihan dengan puluhan miliar sampel dan ratusan ribu fitur, serta dapat menjalankan tugas pada ribuan node. Komponen ini juga mendukung berbagai format data dan teknologi optimisasi seperti pendekatan berbasis histogram.
Batasan
Komponen ini hanya dapat digunakan dengan sumber daya komputasi MaxCompute.
Catatan Penggunaan
Hanya kolom dengan tipe data numerik yang dapat digunakan oleh komponen Pelatihan Klasifikasi Biner PS-SMART. Nilai 0 menunjukkan contoh negatif, sedangkan nilai 1 menunjukkan contoh positif. Jika tipe data dalam tabel MaxCompute adalah STRING, konversikan terlebih dahulu ke tipe numerik. Contohnya, ubah Baik/Buruk menjadi 1/0.
Jika data dalam format pasangan kunci-nilai, ID fitur harus bilangan bulat positif, dan nilai fitur harus bilangan real. Untuk ID fitur bertipe STRING, gunakan komponen serialisasi untuk melakukan serialisasi data. Untuk nilai fitur bertipe string kategorikal, lakukan rekayasa fitur seperti diskretisasi untuk memproses nilai tersebut.
Komponen Pelatihan Klasifikasi Biner PS-SMART mendukung tugas dengan hingga ratusan ribu fitur. Namun, tugas-tugas ini intensif sumber daya dan membutuhkan waktu lama. 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 dengan frekuensi rendah. Hindari diskretisasi pada fitur kontinu bertipe numerik.
Algoritma PS-SMART dapat memperkenalkan keacakan, misalnya dalam pengambilan sampel data dan fitur berdasarkan data_sample_ratio dan fea_sample_ratio, optimisasi menggunakan histogram, atau penggabungan sketsa lokal ke dalam sketsa global. Struktur pohon dapat berbeda ketika tugas dijalankan secara terdistribusi, tetapi efek pelatihan model secara teori tetap sama. Dengan data dan parameter yang sama, hasil pelatihan dapat bervariasi, dan hal ini normal.
Untuk mempercepat pelatihan, tingkatkan nilai parameter Cores. Algoritma PS-SMART mulai menjalankan tugas setelah sumber daya yang diperlukan tersedia. Semakin banyak sumber daya yang diminta, semakin lama waktu yang dibutuhkan untuk menunggu.
Konfigurasikan komponen
Gunakan salah satu metode berikut untuk mengonfigurasi komponen.
Metode 1: Gunakan konsol
Konfigurasikan parameter komponen di Machine Learning Designer. Tabel berikut menjelaskan parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Use Sparse Format | Menentukan apakah data input bersifat sparse. Jika data input adalah data sparse dalam format 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 padat, hanya kolom dengan tipe BIGINT dan DOUBLE yang didukung. Jika data dalam tabel input adalah pasangan kunci-nilai sparse dan kunci serta 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. Data yang terkandung dalam kolom harus berupa tipe data numerik, seperti 0 dan 1 yang digunakan dalam klasifikasi biner. | |
Weight Column | Pilih kolom yang berisi bobot setiap baris sampel. Kolom dengan tipe data numerik didukung. | |
Parameters Setting | Evaluation Indicator Type | Pilih jenis metrik evaluasi dari set pelatihan. Nilai valid:
|
Trees | Masukkan jumlah pohon. Nilai parameter ini harus berupa bilangan bulat. number of trees sebanding dengan jumlah waktu pelatihan. | |
Maximum Tree Depth | Masukkan kedalaman maksimum pohon. Nilai default adalah 5, yang menunjukkan bahwa maksimal 16 simpul daun dapat dikonfigurasi. Nilai parameter ini harus berupa bilangan bulat positif. | |
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 membelah simpul. Nilai yang lebih besar menentukan bahwa pemecahan 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 semua sampel. | |
Random Seed | Masukkan seed acak. Nilai parameter ini harus berupa bilangan bulat. | |
Feature Importance Type | Pilih jenis pentingnya fitur. 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: Gunakan perintah PAI
Konfigurasikan parameter komponen menggunakan perintah Platform for AI (PAI). Bagian berikut menjelaskan 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_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";
# Prediction
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 | Diperlukan | Deskripsi | Nilai Default |
Parameter data | featureColNames | Ya | Kolom fitur yang dipilih dari tabel input untuk pelatihan. Jika data dalam tabel input padat, hanya kolom dengan tipe BIGINT dan DOUBLE yang didukung. Jika data dalam tabel input adalah data sparse dalam format pasangan kunci-nilai, dan keys dan values adalah tipe data numerik, hanya kolom dengan tipe data STRING yang didukung. | Tidak ada |
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 berupa 0 atau 1 dalam klasifikasi biner. | Tidak ada | |
weightCol | Tidak | Kolom yang berisi bobot setiap baris sampel. Kolom dengan tipe data numerik didukung. | Tidak ada | |
enableSparse | Tidak | Menentukan apakah data input bersifat sparse. Nilai valid: true and false. Jika data input adalah data sparse dalam format 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 | |
modelName | Ya | Nama model output. | Tidak ada | |
outputImportanceTableName | Tidak | Nama tabel yang menyediakan pentingnya fitur. | Tidak ada | |
inputTablePartitions | Tidak | Partisi yang dipilih dari tabel input untuk pelatihan. Format: ds=1/pt=1. | Tidak ada | |
outputTableName | Tidak | Tabel MaxCompute yang dihasilkan. Tabel ini adalah file biner. Tidak dapat dibaca dan hanya dapat diperoleh menggunakan komponen prediksi PS-SMART. | Tidak ada | |
lifecycle | Tidak | Lifecycle tabel output. Unit: hari. | 3 | |
Parameter algoritma | objective | Ya | Jenis fungsi objektif. Jika pelatihan dilakukan menggunakan komponen klasifikasi biner, atur parameter ini ke binary:logistic. | Tidak ada |
metric | Tidak | Jenis metrik evaluasi dari set pelatihan, yang terkandung dalam stdout koordinator dalam LogView. Nilai valid:
| Tidak ada | |
treeCount | Tidak | Jumlah pohon. Nilai ini sebanding dengan jumlah waktu pelatihan. | 1 | |
maxDepth | Tidak | Kedalaman maksimum pohon. Nilai harus berupa bilangan bulat positif. Nilai valid: 1 hingga 20. | 5 | |
sampleRatio | Tidak | Rasio pengambilan sampel data. Nilai valid: (0,1]. Jika parameter ini diatur ke 1.0, tidak ada data yang diambil sampelnya. | 1.0 | |
featureRatio | Tidak | Rasio pengambilan sampel fitur. Nilai valid: (0,1]. Jika parameter ini diatur ke 1.0, tidak ada data yang diambil sampelnya. | 1.0 | |
l1 | Tidak | Koefisien penalti L1. Nilai parameter 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 yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini. | 1.0 | |
shrinkage | Tidak | Nilai valid: (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. Nilai valid: (0,1). | 0.03 | |
minSplitLoss | Tidak | Perubahan loss minimum yang diperlukan untuk membelah simpul. Nilai yang lebih besar menentukan bahwa pemecahan 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 | |
baseScore | Tidak | Nilai prediksi awal semua sampel. | 0.5 | |
randSeed | Tidak | Seed acak. Nilai parameter ini harus berupa bilangan bulat. | Tidak ada | |
featureImportanceType | Tidak | Jenis pentingnya fitur. Nilai valid:
| gain | |
Parameter penalaan | coreNum | Tidak | Jumlah core yang digunakan dalam komputasi. Nilai yang lebih besar menunjukkan algoritma komputasi berjalan lebih cepat. | Dialokasikan secara otomatis |
memSizePerCore | Tidak | Ukuran memori setiap core. Unit: MB. | Dialokasikan secara otomatis |
Contoh
Jalankan pernyataan SQL berikut pada node ODPS SQL untuk menghasilkan data pelatihan. Contoh ini menghasilkan data pelatihan padat.
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;Gambar berikut menunjukkan data pelatihan yang dihasilkan.

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

Di daftar komponen di sebelah kiri Machine Learning Designer, cari komponen Read Table, PS-SMART Binary Classification Training, Prediction, dan Write Table secara terpisah, lalu seret komponen-komponen tersebut ke kanvas di sebelah kanan.
Hubungkan node dengan menggambar garis untuk mengatur pipeline berdasarkan hubungan upstream dan downstream sesuai gambar sebelumnya.
Konfigurasikan parameter komponen.
Di kanvas, klik komponen Read Table-1. Pada tab Select Table di panel kanan, atur Table Name ke smart_binary_input.
Di kanvas, klik komponen PS-SMART Binary Classification Training-1 dan konfigurasikan parameter yang tercantum dalam tabel berikut di panel kanan. Pertahankan nilai default untuk parameter yang tidak terdaftar dalam tabel.
Tab
Parameter
Deskripsi
Fields Setting
Feature Columns
Pilih kolom fitur. Pilih kolom f0, f1, f2, f3, f4, dan f5.
Label Column
Pilih kolom label.
Parameters Setting
Evaluation Indicator Type
Pilih jenis metrik evaluasi. Atur parameter ini ke AUC for Classification.
Trees
Atur parameter ini ke 5.
Di kanvas, klik komponen Prediction-1. Pada tab Field Settings di panel kanan, pilih Select All untuk Reserved Columns. Pertahankan nilai default untuk parameter lainnya.
Di kanvas, klik komponen Write Table-1. Pada tab Select Table di panel kanan, atur New Table Name ke smart_binary_output.
Setelah konfigurasi parameter selesai, klik tombol
untuk menjalankan pipeline.
Klik kanan komponen Prediction-1 dan pilih untuk melihat hasil prediksi.
1 di kolom prediction_detail menunjukkan contoh positif, dan 0 menunjukkan contoh negatif.Klik kanan komponen PS-SMART Binary Classification Training-1 dan pilih untuk melihat tabel pentingnya fitur.
Parameter:id: ID fitur yang dilewatkan. Dalam contoh ini, fitur f0, f1, f2, f3, f4, dan f5 dilewatkan. Oleh karena itu, di kolom id, 0 mewakili kolom fitur f0, dan 4 mewakili kolom fitur f4. Jika data dalam tabel input adalah pasangan kunci-nilai, kolom id mencantumkan keys dalam pasangan kunci-nilai.
value: jenis pentingnya fitur. Nilai default parameter ini adalah gain, yang menunjukkan jumlah peningkatan informasi yang diberikan oleh fitur untuk model.
Tabel pentingnya fitur di atas hanya memiliki tiga fitur. Ini menunjukkan bahwa hanya tiga fitur yang digunakan untuk membelah pohon. Pentingnya fitur lainnya dapat dianggap sebagai 0.
Penyebaran Model PS-SMART
Untuk menyebarkan 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 menyebarkan model yang dihasilkan ke EAS sebagai layanan online di halaman EAS-Online Model Services. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.
Referensi
Untuk informasi lebih lanjut tentang komponen yang disediakan oleh Machine Learning Designer, lihat Ikhtisar Machine Learning Designer.
Machine Learning Designer menyediakan berbagai komponen algoritma preset. Anda dapat memilih komponen untuk memproses data berdasarkan skenario bisnis aktual Anda. Untuk informasi lebih lanjut, lihat Ikhtisar Komponen Designer.