All Products
Search
Document Center

Platform For AI:Linear SVM

Last Updated:Apr 02, 2026

Linear Support Vector Machine (SVM) adalah metode klasifikasi biner yang didasarkan pada teori pembelajaran statistik. Komponen ini menentukan batas keputusan yang memaksimalkan margin antara dua kelas dengan meminimalkan risiko struktural—tanpa menggunakan fungsi kernel.

Gunakan Linear SVM ketika:

  • Tugas klasifikasi bersifat biner (hanya melibatkan dua kelas).

Linear SVM tidak mendukung klasifikasi multikelas. Untuk tugas multikelas, gunakan komponen lain.

Referensi algoritma

Komponen Linear SVM mengimplementasikan metode Trust Region Newton untuk L2-SVM. Untuk detail selengkapnya, lihat bagian "Trust region method for L2-SVM" dalam Trust Region Newton Method for Large-Scale Logistic Regression.

Konfigurasi komponen

Tersedia dua metode konfigurasi: antarmuka visual Machine Learning Designer dan command line PAI. Gunakan antarmuka Designer untuk eksperimen interaktif; gunakan perintah PAI untuk alur kerja skript atau otomatis.

Metode 1: Konfigurasi di Machine Learning Designer

Port Masukan

Komponen Linear SVM memiliki satu port input. Hubungkan ke komponen Read Table.

Parameter

TabParameterWajibDeskripsi
Fields SettingFeature ColumnsYaKolom yang digunakan sebagai fitur. Tipe data yang diterima: BIGINT atau DOUBLE.
Fields SettingLabel ColumnYaKolom yang berisi label kelas. Tipe data yang diterima: BIGINT, DOUBLE, atau STRING.
Parameters SettingPositive Sample LabelTidakNilai label yang diperlakukan sebagai kelas positif. Jika tidak ditentukan, komponen akan memilih nilai secara acak. Tentukan parameter ini ketika distribusi kelas tidak seimbang.
Parameters SettingPositive Penalty FactorTidakBiaya yang diberikan untuk salah mengklasifikasikan contoh positif. Menaikkan nilai ini membuat model lebih memberatkan kesalahan pada kelas positif, yang berguna ketika false negative lebih merugikan. Nilai valid: (0, +∞). Default: 1.0.
Parameters SettingNegative Penalty FactorTidakBiaya yang diberikan untuk salah mengklasifikasikan contoh negatif. Menaikkan nilai ini membuat model lebih memberatkan kesalahan pada kelas negatif, yang berguna ketika false positive lebih merugikan. Nilai valid: (0, +∞). Default: 1.0.
Parameters SettingConvergence CoefficientTidakToleransi konvergensi (epsilon). Pelatihan berhenti ketika perubahan antar iterasi turun di bawah nilai ini. Nilai yang lebih rendah meningkatkan presisi pelatihan tetapi memerlukan lebih banyak iterasi. Nilai valid: (0, 1). Default: 0.001.
TuningCoresTidakJumlah core CPU untuk pelatihan. Dialokasikan secara otomatis jika tidak ditentukan.
TuningMemory Size per CoreTidakMemori yang dialokasikan per core, dalam MB. Dialokasikan secara otomatis jika tidak ditentukan.

Port Keluaran

Komponen ini menghasilkan model biner yang memiliki format yang sama dengan model batch untuk komponen prediksi downstream.

Metode 2: Jalankan perintah PAI

Gunakan komponen SQL Script untuk mengirimkan perintah PAI. Untuk instruksi penyiapan, 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";

Parameter

ParameterWajibDeskripsiDefault
inputTableNameYaNama tabel input.
inputTablepartitionsTidakPartisi yang digunakan untuk pelatihan. Format: Partition_name=value (tunggal) atau name1=value1/name2=value2 (multi-level). Pisahkan beberapa partisi dengan koma.Semua partisi
modelNameYaNama untuk model output.
featureColNamesYaKolom fitur dari tabel input.
labelColNameYaNama kolom label.
positiveLabelTidakNilai label untuk kelas positif.Nilai acak dari kolom label
positiveCostTidakFaktor penalti positif. Menaikkan nilai ini membuat model lebih memberatkan kesalahan pada kelas positif. Nilai valid: (0, +∞).1.0
negativeCostTidakFaktor penalti negatif. Menaikkan nilai ini membuat model lebih memberatkan kesalahan pada kelas negatif. Nilai valid: (0, +∞).1.0
epsilonTidakToleransi konvergensi. Nilai valid: (0, 1).0.001
enableSparseTidakAtur ke true jika data input dalam format sparse.false
itemDelimiterTidakPembatas yang memisahkan pasangan kunci-nilai dalam input sparse., (koma)
kvDelimiterTidakPembatas yang memisahkan kunci dan nilai dalam input sparse.: (titik dua)
coreNumTidakJumlah core CPU. Harus berupa bilangan bulat positif.Dialokasikan otomatis
memSizePerCoreTidakMemori per core, dalam MB. Nilai valid: 1–65536.Dialokasikan otomatis

Catatan penggunaan

Kelas tidak seimbang: Jika jumlah contoh positif dan negatif sangat tidak seimbang, atur Positive Sample Label secara eksplisit dan tingkatkan nilai positiveCost atau negativeCost untuk memberi bobot lebih tinggi pada kelas minoritas. Misalnya, jika false negative lebih merugikan daripada false positive, naikkan positiveCost di atas 1,0.

Data sparse: Untuk fitur sparse berdimensi tinggi (misalnya, data teks atau data one-hot encoded), atur enableSparse=true serta sesuaikan itemDelimiter dan kvDelimiter agar sesuai dengan format data Anda.

Penyetelan resource: Biarkan Cores dan Memory Size per Core tidak diatur untuk sebagian besar beban kerja—platform akan mengalokasikan sumber daya secara otomatis berdasarkan ukuran data. Atur secara manual hanya jika Anda memerlukan alokasi sumber daya yang dapat diprediksi.

Contoh

Contoh ini melatih model klasifikasi biner Linear SVM pada set data kecil.

  1. Gunakan data pelatihan berikut sebagai input.

    idyf0f1f2f3f4f5f6f7
    1-1-0.2941180.4874370.180328-0.292929-10.00149028-0.53117-0.0333333
    2+1-0.882353-0.1457290.0819672-0.414141-1-0.207153-0.766866-0.666667
    3-1-0.05882350.8391960.0491803-1-1-0.305514-0.492741-0.633333
    4+1-0.882353-0.1055280.0819672-0.535354-0.777778-0.162444-0.923997-1
    5-1-10.376884-0.344262-0.292929-0.6028370.284650.887276-0.6
    6+1-0.4117650.1658290.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+10.1764710.155779-1-1-10.052161-0.952178-0.733333
    9-1-0.7647060.9798990.147541-0.09090910.283688-0.0909091-0.9316820.0666667
    10-1-0.05882350.2562810.57377-1-1-1-0.8684880.1
  2. Gunakan data uji berikut sebagai input.

    idyf0f1f2f3f4f5f6f7
    1+1-0.8823530.08542710.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.8823530.2462310.213115-0.272727-1-0.171386-0.981213-0.7
    4-1-0.1764710.5075380.278689-0.414141-0.7021280.0491804-0.4756620.1
    5-1-0.5294120.839196-1-1-1-0.153502-0.885568-0.5
    6+1-0.8823530.246231-0.0163934-0.353535-10.0670641-0.627669-1
    7-1-0.8823530.8190950.278689-0.151515-0.3073290.192250.00768574-0.966667
    8+1-0.882353-0.07537690.0163934-0.494949-0.903073-0.418778-0.654996-0.866667
    9+1-10.5276380.344262-0.212121-0.3569740.23696-0.836038-0.8
    10+1-0.8823530.1155780.0163934-0.737374-0.56974-0.28465-0.948762-0.933333
  3. Buat pipeline seperti pada gambar berikut. Untuk informasi lebih lanjut, lihat Algorithm modeling.

    image.png

  4. Konfigurasikan parameter yang tercantum dalam tabel berikut untuk komponen Linear SVM. Gunakan nilai default untuk semua parameter lainnya.

    TabParameterNilai
    Fields SettingFeature ColumnsPilih f0, f1, f2, f3, f4, f5, f6, dan f7.
    Fields SettingLabel ColumnPilih y.
  5. Jalankan pipeline dan lihat hasil prediksi. Prediction results