All Products
Search
Document Center

Platform For AI:Regresi logistik untuk klasifikasi biner

Last Updated:Apr 02, 2026

Logistic Regression for Binary Classification melatih model klasifikasi biner menggunakan algoritma regresi logistik. Komponen ini mendukung data masukan berformat dense maupun sparse, serta menggunakan pengoptimal limited-memory BFGS (L-BFGS).

Cara kerja

Pelatihan berlangsung dalam tiga tahap:

  1. Pemrosesan fitur — Algoritma membaca kolom fitur yang ditentukan (tipe DOUBLE atau BIGINT) dan kolom label dari tabel input. Jika input berada dalam format sparse, komponen mengurai pasangan kunci-nilai sebelum diproses.

  2. Pelatihan — L-BFGS secara iteratif meminimalkan fungsi loss. Setiap iterasi memperbarui bobot model. Pelatihan berhenti ketika peningkatan log-likelihood antara dua iterasi berturut-turut berada di bawah epsilon, atau ketika jumlah maksimum iterasi tercapai.

  3. Prediksi — Model yang telah dilatih memberikan setiap baris label kelas prediksi (prediction_result), skor kepercayaan (prediction_score), dan distribusi probabilitas di seluruh kelas (prediction_detail).

Konfigurasikan komponen

Pilih salah satu metode berikut.

Metode 1: Konfigurasikan di Machine Learning Designer

Buka tab konfigurasi pipeline di Machine Learning Designer, lalu atur parameter pada panel komponen.

Fields setting

ParameterDeskripsi
Training feature columnsKolom fitur dari tabel input yang digunakan untuk pelatihan. Mendukung tipe DOUBLE dan BIGINT. Maksimal 20 juta fitur.
Target columnsKolom label dalam tabel input.
Positive class valueNilai label yang merepresentasikan kelas positif dalam klasifikasi biner.
Use sparse formatAktifkan jika data input berada dalam format sparse.

Parameters setting

ParameterDeskripsiDefault
Regularization typeRegularisasi yang diterapkan selama pelatihan. Nilai yang valid: None, L1, L2. Lihat Pilih jenis regularisasi.
Maximum iterationsJumlah maksimum iterasi L-BFGS.100
Regularization coefficientKekuatan regularisasi. Tidak berpengaruh jika Regularization type diatur ke None.
Minimum convergence devianceAmbang batas konvergensi (epsilon). Pelatihan berhenti ketika peningkatan log-likelihood antara dua iterasi berada di bawah nilai ini.0,000001

Tuning

ParameterDeskripsi
CoresDiatur secara otomatis oleh sistem.
Memory size per coreDiatur secara otomatis oleh sistem.

Metode 2: Konfigurasikan menggunakan perintah PAI

Jalankan perintah PAI berikut melalui komponen SQL Script.

PAI -name logisticregression_binary
    -project algo_public
    -DmodelName="xlab_m_logistic_regression_6096"
    -DregularizedLevel="1"
    -DmaxIter="100"
    -DregularizedType="l1"
    -Depsilon="0.000001"
    -DlabelColName="y"
    -DfeatureColNames="pdays,emp_var_rate"
    -DgoodValue="1"
    -DinputTableName="bank_data"

Parameter wajib

ParameterDeskripsi
inputTableNameNama tabel input.
labelColNameKolom label dalam tabel input.
modelNameNama model offline output.

Parameter opsional

ParameterDeskripsiDefault
featureColNamesKolom fitur yang digunakan untuk pelatihan. Maksimal 20 juta fitur.Semua kolom numerik
inputTablePartitionsPartisi yang digunakan dari tabel input. Format: partition_name=value atau name1=value1/name2=value2. Pisahkan beberapa partisi dengan koma.Seluruh tabel
regularizedTypeJenis regularisasi. Nilai yang valid: l1, l2, None.l1
regularizedLevelKoefisien regularisasi. Tidak berpengaruh jika regularizedType diatur ke None.1.0
maxIterJumlah maksimum iterasi L-BFGS.100
epsilonAmbang batas konvergensi. Pelatihan berhenti ketika peningkatan log-likelihood antara dua iterasi berada di bawah nilai ini.1.0e-06
goodValueNilai label yang sesuai dengan kelas positif. Ditentukan secara acak jika tidak ditentukan.
enableSparseApakah data input berada dalam format sparse. Nilai yang valid: true, false.false
itemDelimiterPembatas antar pasangan kunci-nilai dalam input sparse., (koma)
kvDelimiterPembatas antara kunci dan nilai dalam input sparse.: (titik dua)
coreNumJumlah core.Dialokasikan secara otomatis
memSizePerCoreUkuran memori per core, dalam MB.Dialokasikan secara otomatis

Pilih jenis regularisasi

Jenis regularisasiKapan digunakanEfek
L1 (default)Data berdimensi tinggi dengan banyak fitur tidak relevanMendorong koefisien fitur tidak relevan menjadi nol, menghasilkan model sparse
L2Sebagian besar fitur relevan; Anda ingin mencegah koefisien terlalu besarMemperkecil semua koefisien menuju nol tanpa menghilangkannya
NoneDataset kecil atau saat Anda ingin memahami garis dasar tanpa regularisasiTidak ada regularisasi yang diterapkan; regularizedLevel diabaikan

Format data sparse

Saat enableSparse diatur ke true, komponen membaca setiap sel sebagai string kunci-nilai. Kunci merupakan indeks berbasis nol; nilai harus numerik. Nilai kunci non-numerik menyebabkan error.

  • itemDelimiter memisahkan pasangan kunci-nilai dalam satu sel.

  • kvDelimiter memisahkan kunci dari nilainya.

Contoh input dengan pembatas default (, dan :):

key_value
1:100,4:200,5:300
1:10,2:20,3:30

Contoh

Contoh ini menjelaskan alur kerja lengkap dari pelatihan hingga prediksi menggunakan dataset dense.

Langkah 1: Buat tabel pelatihan

DROP TABLE IF EXISTS lr_test_input;
CREATE TABLE lr_test_input AS
SELECT *
FROM (
    SELECT CAST(1 AS DOUBLE) AS f0, CAST(0 AS DOUBLE) AS f1, CAST(0 AS DOUBLE) AS f2, CAST(0 AS DOUBLE) AS f3, CAST(0 AS BIGINT) AS label
    UNION ALL
    SELECT CAST(0 AS DOUBLE), CAST(1 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS BIGINT)
    UNION ALL
    SELECT CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(1 AS DOUBLE), CAST(0 AS DOUBLE), CAST(1 AS BIGINT)
    UNION ALL
    SELECT CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(1 AS DOUBLE), CAST(1 AS BIGINT)
    UNION ALL
    SELECT CAST(1 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS BIGINT)
    UNION ALL
    SELECT CAST(0 AS DOUBLE), CAST(1 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS DOUBLE), CAST(0 AS BIGINT)
) a;

Tabel hasil lr_test_input:

f0f1f2f3label
1.00.00.00.00
0.00.01.00.01
0.00.00.01.01
0.01.00.00.00
1.00.00.00.00
0.01.00.00.00

Langkah 2: Latih model

DROP OFFLINEMODEL IF EXISTS lr_test_model;
PAI -name logisticregression_binary
    -project algo_public
    -DmodelName="lr_test_model"
    -DitemDelimiter=","
    -DregularizedLevel="1"
    -DmaxIter="100"
    -DregularizedType="None"
    -Depsilon="0.000001"
    -DkvDelimiter=":"
    -DlabelColName="label"
    -DfeatureColNames="f0,f1,f2,f3"
    -DenableSparse="false"
    -DgoodValue="1"
    -DinputTableName="lr_test_input";

Langkah 3: Jalankan prediksi

Untuk detail parameter komponen Prediction, lihat Prediction.

DROP TABLE IF EXISTS lr_test_prediction_result;
PAI -name prediction
    -project algo_public
    -DdetailColName="prediction_detail"
    -DmodelName="lr_test_model"
    -DitemDelimiter=","
    -DresultColName="prediction_result"
    -Dlifecycle="28"
    -DoutputTableName="lr_test_prediction_result"
    -DscoreColName="prediction_score"
    -DkvDelimiter=":"
    -DinputTableName="lr_test_input"
    -DenableSparse="false"
    -DappendColNames="label";

Langkah 4: Tinjau hasil

Tabel output lr_test_prediction_result berisi:

labelprediction_resultprediction_scoreprediction_detail
000.9999998793434426{"0": 0.9999998793434426, "1": 1.206565574533681e-07}
110.999999799574135{"0": 2.004258650156743e-07, "1": 0.999999799574135}
110.999999799574135{"0": 2.004258650156743e-07, "1": 0.999999799574135}
000.9999998793434426{"0": 0.9999998793434426, "1": 1.206565574533681e-07}
000.9999998793434426{"0": 0.9999998793434426, "1": 1.206565574533681e-07}
000.9999998793434426{"0": 0.9999998793434426, "1": 1.206565574533681e-07}

Kolom output:

  • prediction_result — label kelas prediksi (0 atau 1)

  • prediction_score — probabilitas kelas yang diprediksi

  • prediction_detail — distribusi probabilitas di seluruh kelas dalam bentuk objek JSON

Semua prediksi sesuai dengan label asli, dengan skor kepercayaan di atas 0,9999.