PS Linear Regression adalah algoritma pembelajaran mesin yang menggabungkan model regresi linier dengan arsitektur Parameter Server (PS). Algoritma ini memodelkan hubungan linear antara variabel dependen dan beberapa variabel independen, sehingga cocok untuk pelatihan pada dataset berskala besar yang mencakup ratusan miliar sampel dan miliaran fitur. Dengan memanfaatkan arsitektur Parameter Server, PS Linear Regression mendukung komputasi terdistribusi secara efisien serta menyimpan parameter model guna meningkatkan efisiensi dan skalabilitas proses pelatihan.
Konfigurasikan komponen
Metode 1: Gunakan antarmuka visual
Tambahkan komponen PS Linear Regression ke alur kerja di Designer, lalu konfigurasikan parameternya di panel sebelah kanan:
|
Parameter Type |
Parameter |
Description |
|
Fields setting |
Feature Columns |
Kolom fitur dari sumber data input yang akan digunakan untuk pelatihan. |
|
Label Column |
Mendukung tipe data DOUBLE dan BIGINT. |
|
|
Is it a sparse format? |
Format KV merepresentasikan format sparse. |
|
|
KV pair separator |
Pemisah default adalah spasi. |
|
|
Key-value separator |
Pemisah default adalah titik dua (:). |
|
|
Parameters setting |
L1 weight |
Koefisien Regularisasi L1. Nilai yang lebih besar menunjukkan bahwa model memiliki lebih sedikit elemen non-nol. Tingkatkan nilai ini jika terjadi Overfitting. |
|
L2 weight |
Koefisien Regularisasi L2. Nilai yang lebih besar menunjukkan bahwa nilai absolut parameter model lebih kecil. Tingkatkan nilai ini jika terjadi Overfitting. |
|
|
Maximum iterations |
Jumlah maksimum iterasi untuk algoritma. Jika Maximum iterations diatur ke 0, jumlah iterasi tidak dibatasi. |
|
|
Minimum convergence deviance |
Kondisi terminasi untuk algoritma optimasi. |
|
|
Maximum feature ID |
ID fitur maksimum atau dimensi fitur. Nilai ini dapat lebih besar dari nilai aktual. Jika Anda tidak mengonfigurasi parameter ini, sistem akan menjalankan tugas SQL untuk menghitungnya secara otomatis. |
|
|
Execution tuning |
Number of cores |
Secara default, sistem mengalokasikannya secara otomatis. |
|
Memory size per core |
Secara default, sistem mengalokasikan memori secara otomatis. |
Metode 2: Gunakan perintah PAI
Gunakan perintah PAI untuk mengonfigurasi parameter komponen PS Linear Regression. Anda dapat menjalankan perintah PAI melalui komponen skrip SQL. Untuk informasi selengkapnya, lihat SQL Script.
# Train.
PAI -name ps_linearregression
-project algo_public
-DinputTableName="lm_test_input"
-DmodelName="linear_regression_model"
-DlabelColName="label"
-DfeatureColNames="features"
-Dl1Weight=1.0
-Dl2Weight=0.0
-DmaxIter=100
-Depsilon=1e-6
-DenableSparse=true
# Predict.
drop table if exists logistic_regression_predict;
PAI -name prediction
-DmodelName="linear_regression_model"
-DoutputTableName="linear_regression_predict"
-DinputTableName="lm_test_input"
-DappendColNames="label,features"
-DfeatureColNames="features"
-DenableSparse=true
|
Parameter |
Required |
Default value |
Description |
|
inputTableName |
Yes |
None |
Nama tabel input. |
|
modelName |
Yes |
None |
Nama model output. |
|
outputTableName |
No |
None |
Nama tabel evaluasi model output. Parameter ini wajib jika enableFitGoodness bernilai true. |
|
labelColName |
Yes |
None |
Nama kolom label dalam tabel input. Mendukung tipe data DOUBLE dan BIGINT. |
|
featureColNames |
Yes |
None |
Nama kolom fitur dalam tabel input yang akan digunakan untuk pelatihan. Jika data input dalam format dense, tipe data DOUBLE dan BIGINT didukung. Jika data input dalam format sparse, tipe data STRING didukung. |
|
inputTablePartitions |
No |
None |
Partisi dari tabel input. |
|
enableSparse |
No |
false |
Menentukan apakah data input dalam format sparse. Nilai yang valid adalah {true,false}. |
|
itemDelimiter |
No |
Space |
Pemisah antar pasangan kunci-nilai. Parameter ini hanya berlaku jika enableSparse bernilai true. |
|
kvDelimiter |
No |
Colon (:) |
Pemisah antara key dan value. Parameter ini hanya berlaku jika enableSparse bernilai true. |
|
enableModelIo |
No |
true |
Menentukan apakah model dikeluarkan sebagai model offline. Jika enableModelIo bernilai false, model dikeluarkan ke tabel MaxCompute. Nilai yang valid adalah {true,false}. |
|
maxIter |
No |
100 |
Jumlah maksimum iterasi untuk algoritma. Nilainya harus berupa bilangan bulat non-negatif. |
|
epsilon |
No |
0.000001 |
Kondisi terminasi untuk algoritma optimasi. Nilainya harus berada dalam rentang [0,1]. |
|
l1Weight |
No |
1.0 |
Koefisien Regularisasi L1. Nilai yang lebih besar menunjukkan bahwa model memiliki lebih sedikit elemen non-nol. Tingkatkan nilai ini jika terjadi Overfitting. |
|
l2Weight |
No |
0 |
Koefisien Regularisasi L2. Nilai yang lebih besar menunjukkan bahwa nilai absolut parameter model lebih kecil. Tingkatkan nilai ini jika terjadi Overfitting. |
|
modelSize |
No |
0 |
ID fitur maksimum atau dimensi fitur. Nilai ini dapat lebih besar dari nilai aktual. Jika Anda tidak mengonfigurasi parameter ini, sistem akan menjalankan tugas SQL untuk menghitungnya secara otomatis. Nilainya harus berupa bilangan bulat non-negatif. |
|
coreNum |
No |
System allocated |
Secara default, dialokasikan secara otomatis. |
|
memSizePerCore |
No |
System allocated |
Secara default, sistem mengalokasikan memori secara otomatis. |
Contoh
-
Gunakan komponen SQL script untuk menjalankan Pernyataan SQL berikut guna menghasilkan data input. Contoh ini menggunakan data dalam format key-value (KV).
drop table if exists lm_test_input; create table lm_test_input as select * from ( select cast(2 as BIGINT) as label, '1:0.55 2:-0.15 3:0.82 4:-0.99 5:0.17' as features union all select cast(1 as BIGINT) as label, '1:-1.26 2:1.36 3:-0.13 4:-2.82 5:-0.41' as features union all select cast(1 as BIGINT) as label, '1:-0.77 2:0.91 3:-0.23 4:-4.46 5:0.91' as features union all select cast(2 as BIGINT) as label, '1:0.86 2:-0.22 3:-0.46 4:0.08 5:-0.60' as features union all select cast(1 as BIGINT) as label, '1:-0.76 2:0.89 3:1.02 4:-0.78 5:-0.86' as features union all select cast(1 as BIGINT) as label, '1:2.22 2:-0.46 3:0.49 4:0.31 5:-1.84' as features union all select cast(0 as BIGINT) as label, '1:-1.21 2:0.09 3:0.23 4:2.04 5:0.30' as features union all select cast(1 as BIGINT) as label, '1:2.17 2:-0.45 3:-1.22 4:-0.48 5:-1.41' as features union all select cast(0 as BIGINT) as label, '1:-0.40 2:0.63 3:0.56 4:0.74 5:-1.44' as features union all select cast(1 as BIGINT) as label, '1:0.17 2:0.49 3:-1.50 4:-2.20 5:-0.35' as features ) tmp;Data yang dihasilkan ditampilkan pada gambar berikut.
CatatanUntuk data dalam format KV, ID fitur harus berupa bilangan bulat positif dan nilai fitur harus berupa bilangan real. Jika ID fitur berupa string, Anda harus melakukan serialisasi data. Jika nilai fitur berupa string kategorikal, Anda harus melakukan diskretisasi fitur.
-
Buat alur kerja seperti yang ditunjukkan pada gambar berikut. Untuk informasi selengkapnya, lihat Algorithm modeling.

-
Konfigurasikan parameter komponen.
-
Klik komponen Read Table-1. Di panel sebelah kanan, pada tab Select Table, atur Table Name menjadi lm_test_input.
-
Konfigurasikan parameter untuk komponen PS Linear Regression seperti yang dijelaskan dalam tabel berikut. Gunakan nilai default untuk parameter lainnya.
Parameter Type
Parameter
Description
Fields setting
Is the format sparse?
Pilih true.
Feature Columns
Pilih kolom features.
Label Column
Pilih kolom label.
Execution tuning
Number of cores
Atur ke 3.
Memory size per core
Atur ke 1024 MB.
-
Konfigurasikan parameter untuk komponen Prediction seperti yang dijelaskan dalam tabel berikut. Gunakan nilai default untuk parameter lainnya.
Parameter Type
Parameter
Description
Fields setting
Feature Columns
Pilih kolom features.
Verbatim Output Column
Pilih kolom label dan features.
Sparse Matrix
Pilih kotak centang Sparse Matrix.
Key-value separator
Atur ke titik dua (:).
KV pair separator
Biarkan parameter ini kosong untuk menggunakan spasi sebagai pemisah.
-
-
Klik tombol Run
pada Kanvas untuk menjalankan alur kerja. -
Setelah alur kerja selesai dijalankan, klik kanan komponen Prediction-1 dan pilih dari menu pintasan.
