Support Vector Machine (SVM) adalah metode pembelajaran mesin berdasarkan teori pembelajaran statistik. Metode ini meningkatkan kemampuan generalisasi model melalui minimisasi risiko struktural, yang menyeimbangkan risiko empiris dan interval kepercayaan. Topik ini menjelaskan cara mengonfigurasi komponen Linear SVM serta menyertakan contoh penggunaannya.
Latar Belakang
Algoritma Linear SVM diimplementasikan tanpa menggunakan fungsi kernel. Untuk detail implementasinya, lihat bagian "trust region method for L2-SVM" dalam prinsip algoritma.
Batasan
Komponen Linear SVM hanya mendukung klasifikasi biner.
Konfigurasi komponen
Anda dapat mengonfigurasi parameter komponen Linear SVM menggunakan salah satu metode berikut.
Metode 1: Konfigurasi visual
-
Port input
Komponen Linear SVM memiliki satu port input wajib yang harus dihubungkan ke komponen Read Table.
-
Konfigurasikan parameter komponen pada halaman alur kerja.
Jenis parameter
Parameter
Wajib
Deskripsi
Pengaturan field
Feature columns
Ya
Kolom fitur untuk pelatihan model. Tipe data yang didukung: BIGINT dan DOUBLE.
Label column
Ya
Kolom label untuk pelatihan model. Tipe data yang didukung: BIGINT, DOUBLE, dan STRING.
Pengaturan parameter
Positive sample label value
Tidak
Nilai yang merepresentasikan contoh positif. Jika parameter ini tidak ditentukan, nilai akan dipilih secara acak dari kolom label. Disarankan untuk menentukan parameter ini pada dataset yang tidak seimbang.
Positive penalty factor
Tidak
Bobot untuk contoh positif. Nilai default adalah 1.0, dan rentang nilainya adalah (0, +∞).
Negative penalty factor
Tidak
Bobot contoh negatif memiliki nilai default 1.0 dan rentang nilai (0, +∞).
Convergence coefficient
Tidak
Kesalahan konvergensi. Nilai default adalah 0.001. Rentang nilainya adalah (0, 1).
Penyesuaian eksekusi
Number of cores
Tidak
Jika tidak ditentukan, sistem akan mengalokasikan sumber daya secara otomatis.
Memory per core
Tidak
Ukuran memori untuk setiap core, dalam MB. Jika tidak ditentukan, sistem akan mengalokasikan sumber daya secara otomatis.
-
Port output
Menghasilkan model klasifikasi biner dalam format OfflineModel. Output komponen ini terhubung ke komponen Prediction.
Metode 2: Perintah PAI
Anda dapat mengonfigurasi parameter komponen dengan menjalankan perintah PAI dalam komponen SQL Script. Untuk informasi lebih lanjut, lihat SQL Script.
PAI -name LinearSVM -project algo_public
-DinputTableName="bank_data"
-DmodelName="xlab_m_LinearSVM_6143"
-DfeatureColNames="pdays,emp_var_rate,cons_conf_idx"
-DlabelColName="y"
-DpositiveLabel="0"
-DpositiveCost="1.0"
-DnegativeCost="1.0"
-Depsilon="0.001";
Tabel berikut menjelaskan parameter dalam perintah PAI.
|
Parameter |
Wajib |
Default |
Deskripsi |
|
inputTableName |
Ya |
N/A |
Nama tabel input. |
|
inputTablePartitions |
Tidak |
Semua partisi tabel input. |
Partisi tabel input untuk pelatihan. Format berikut didukung:
Catatan
Untuk menentukan beberapa partisi, pisahkan dengan koma (,). |
|
modelName |
Ya |
N/A |
Nama model output. |
|
featureColNames |
Ya |
N/A |
Nama kolom fitur dalam tabel input. |
|
labelColName |
Ya |
N/A |
Nama kolom label dalam tabel input. |
|
positiveLabel |
Tidak |
Nilai dipilih secara acak dari kolom label. |
Nilai yang merepresentasikan contoh positif. |
|
positiveCost |
Tidak |
1.0 |
Bobot kelas positif, juga dikenal sebagai positive penalty factor. Nilai harus berada dalam rentang (0, +∞). |
|
negativeCost |
Tidak |
1.0 |
Bobot kelas negatif, juga dikenal sebagai negative penalty factor. Nilai harus berada dalam rentang (0, +∞). |
|
epsilon |
Tidak |
0.001 |
Koefisien konvergensi. Nilai harus berada dalam rentang (0,1). |
|
enableSparse |
Tidak |
false |
Menentukan apakah data input dalam format sparse. Nilai yang valid: true dan false. |
|
itemDelimiter |
Tidak |
, (koma) |
Delimiter antara pasangan KV ketika data tabel input dalam format sparse. |
|
kvDelimiter |
Tidak |
: (titik dua) |
Delimiter antara key dan value ketika data tabel input dalam format sparse. |
|
coreNum |
Tidak |
Dialokasikan sistem |
Jumlah core komputasi. Nilai harus berupa bilangan bulat positif. |
|
memSizePerCore |
Tidak |
Dialokasikan sistem |
Ukuran memori untuk setiap core, dalam MB. Nilai harus berupa bilangan bulat dalam rentang [1, 65536]. |
Contoh
-
Impor data pelatihan berikut.
id
y
f0
f1
f2
f3
f4
f5
f6
f7
1
-1
-0.294118
0.487437
0.180328
-0.292929
-1
0.00149028
-0.53117
-0.0333333
2
+1
-0.882353
-0.145729
0.0819672
-0.414141
-1
-0.207153
-0.766866
-0.666667
3
-1
-0.0588235
0.839196
0.0491803
-1
-1
-0.305514
-0.492741
-0.633333
4
+1
-0.882353
-0.105528
0.0819672
-0.535354
-0.777778
-0.162444
-0.923997
-1
5
-1
-1
0.376884
-0.344262
-0.292929
-0.602837
0.28465
0.887276
-0.6
6
+1
-0.411765
0.165829
0.213115
-1
-1
-0.23696
-0.894962
-0.7
7
-1
-0.647059
-0.21608
-0.180328
-0.353535
-0.791962
-0.0760059
-0.854825
-0.833333
8
+1
0.176471
0.155779
-1
-1
-1
0.052161
-0.952178
-0.733333
9
-1
-0.764706
0.979899
0.147541
-0.0909091
0.283688
-0.0909091
-0.931682
0.0666667
10
-1
-0.0588235
0.256281
0.57377
-1
-1
-1
-0.868488
0.1
-
Impor data uji berikut.
id
y
f0
f1
f2
f3
f4
f5
f6
f7
1
+1
-0.882353
0.0854271
0.442623
-0.616162
-1
-0.19225
-0.725021
-0.9
2
+1
-0.294118
-0.0351759
-1
-1
-1
-0.293592
-0.904355
-0.766667
3
+1
-0.882353
0.246231
0.213115
-0.272727
-1
-0.171386
-0.981213
-0.7
4
-1
-0.176471
0.507538
0.278689
-0.414141
-0.702128
0.0491804
-0.475662
0.1
5
-1
-0.529412
0.839196
-1
-1
-1
-0.153502
-0.885568
-0.5
6
+1
-0.882353
0.246231
-0.0163934
-0.353535
-1
0.0670641
-0.627669
-1
7
-1
-0.882353
0.819095
0.278689
-0.151515
-0.307329
0.19225
0.00768574
-0.966667
8
+1
-0.882353
-0.0753769
0.0163934
-0.494949
-0.903073
-0.418778
-0.654996
-0.866667
9
+1
-1
0.527638
0.344262
-0.212121
-0.356974
0.23696
-0.836038
-0.8
10
+1
-0.882353
0.115578
0.0163934
-0.737374
-0.56974
-0.28465
-0.948762
-0.933333
-
Buat pipeline seperti yang ditunjukkan pada gambar berikut. Untuk informasi lebih lanjut, lihat pemodelan algoritma.

-
Konfigurasikan parameter untuk komponen Linear SVM seperti yang ditunjukkan pada tabel berikut. Gunakan nilai default untuk semua parameter lainnya.
Jenis parameter
Parameter
Deskripsi
Fields Setting
Feature Columns
Pilih kolom f0, f1, f2, f3, f4, f5, f6, dan f7.
Label Column
Pilih kolom y.
-
Jalankan pipeline dan lihat hasil prediksi. Setelah prediksi selesai, output akan menampilkan hasil prediksi klasifikasi biner untuk 10 baris data uji dalam lima kolom: id, y (label aktual), prediction_result (label prediksi: +1 atau -1), prediction_score, dan prediction_detail (detail skor untuk kelas +1 dan -1, dalam format JSON).