Algoritma regresi logistik umum digunakan untuk klasifikasi biner. Komponen Regresi Logistik untuk Klasifikasi Biner mendukung format jarang dan padat.
Konfigurasikan komponen
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen Regresi Logistik untuk Klasifikasi Biner:
Metode 1: Konfigurasikan komponen di Machine Learning Designer
Konfigurasikan komponen pada tab konfigurasi pipeline dari Machine Learning Designer di konsol Platform for AI (PAI). Tabel berikut menjelaskan parameter komponen.
Tab | Parameter | Deskripsi |
Fields Setting | Training Feature Columns | Kolom fitur yang dipilih dari sumber data untuk pelatihan. Kolom tipe DOUBLE dan BIGINT didukung. Catatan Maksimal 20 juta fitur didukung. |
Target Columns | Kolom objektif dalam tabel input. | |
Positive Class Value | Tidak tersedia | |
Use Sparse Format | Menentukan apakah data input dalam format jarang. | |
Parameters Setting | Regularization Type | Tipe regularisasi. Nilai valid: None, L1, dan L2. |
Maximum Iterations | Jumlah maksimum iterasi. Nilai default: 100. | |
Regularization Coefficient | Jika Tipe Regularisasi disetel ke None, parameter ini tidak valid. | |
Minimum Convergence Deviance | Deviasi konvergensi minimum. Nilai default: 0,000001. | |
Tuning | Cores | Sistem secara otomatis menetapkan nilai. |
Memory Size per Core | Sistem secara otomatis menetapkan nilai. |
Metode 2: Konfigurasikan komponen dengan perintah PAI
Konfigurasikan parameter komponen menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk menjalankan perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script. Tabel berikut menjelaskan parameter perintah tersebut.
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 | Diperlukan | Deskripsi | Nilai default |
inputTableName | Ya | Nama tabel input. | Tidak tersedia |
featureColNames | Tidak | Kolom fitur yang dipilih dari tabel input untuk pelatihan. Catatan Maksimal 20 juta fitur didukung. | Semua kolom tipe data numerik |
labelColName | Ya | Kolom label yang dipilih dari tabel input. | Tidak tersedia |
inputTablePartitions | Tidak | Partisi yang dipilih dari tabel input untuk pelatihan. Tentukan parameter ini dalam salah satu format berikut:
Catatan Jika Anda menentukan beberapa partisi, pisahkan mereka dengan koma (,). | Tabel penuh |
modelName | Ya | Nama model keluaran. | Tidak tersedia |
regularizedType | Tidak | Tipe regularisasi. Nilai valid: l1, l2, dan None. | l1 |
regularizedLevel | Tidak | Koefisien regularisasi. Parameter ini tidak valid jika parameter regularizedType disetel ke None. | 1,0 |
maxIter | Tidak | Jumlah maksimum iterasi algoritma L-BFGS (Limited-memory BFGS). | 100 |
epsilon | Tidak | Kesalahan konvergensi. Parameter ini menunjukkan kondisi untuk mengakhiri iterasi algoritma L-BFGS. Jika log-likelihood antara dua iterasi lebih kecil dari nilai ini, iterasi dihentikan. | 1,0e-06 |
goodValue | Tidak | Nilai referensi objektif. Parameter ini menentukan nilai label yang sesuai dengan koefisien pelatihan dalam klasifikasi biner. Sistem akan mengalokasikan nilai secara acak jika parameter ini tidak ditentukan. | Tidak tersedia |
enableSparse | Tidak | Menentukan apakah data input jarang. Nilai valid: {true, false}. | false |
itemDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan pasangan key-value jika data dalam tabel input dalam format jarang. | Koma (,) |
kvDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan keys dan values jika data dalam tabel input dalam format jarang. | Titik Dua (:) |
coreNum | Tidak | Jumlah core. | Dialokasikan secara otomatis |
memSizePerCore | Tidak | Ukuran memori setiap core. Unit: MB. | Dialokasikan secara otomatis |
Di Machine Learning Designer, data jarang disajikan dalam format key-value. Tabel berikut menjelaskan contoh spesifik. Parameter itemDelimiter menentukan pemisah yang digunakan untuk memisahkan pasangan key-value. Parameter kvDelimiter menentukan pemisah yang digunakan untuk memisahkan keys dan values.
key_value |
1:100,4:200,5:300 |
1:10,2:20,3:30 |
Untuk format key-value, keys ditunjukkan mulai dari 0 menggunakan indeks. Jika karakter digunakan untuk menunjukkan nilai keys, sistem akan melaporkan kesalahan.
Contoh
Eksekusi pernyataan SQL berikut untuk menghasilkan data 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) as f0, cast(1 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) as f0, cast(0 as double) as f1, cast(1 as double) as f2, cast(0 as double) as f3, cast(1 as bigint) as label union all select cast(0 as double) as f0, cast(0 as double) as f1, cast(0 as double) as f2, cast(1 as double) as f3, cast(1 as bigint) as label union all 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) as f0, cast(1 as double) as f1, cast(0 as double) as f2, cast(0 as double) as f3, cast(0 as bigint) as label ) a;Tabel data pelatihan berikut lr_test_input dihasilkan.
f0
f1
f2
f3
label
1,0
0,0
0,0
0,0
0
0,0
0,0
1,0
0,0
1
0,0
0,0
0,0
1,0
1
0,0
1,0
0,0
0,0
0
1,0
0,0
0,0
0,0
0
0,0
1,0
0,0
0,0
0
Jalankan perintah PAI berikut untuk mengirimkan parameter pelatihan yang dikonfigurasi untuk komponen Regresi Logistik untuk Klasifikasi Biner:
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";Jalankan perintah PAI berikut untuk mengirimkan parameter yang dikonfigurasi untuk komponen Prediksi. Untuk informasi lebih lanjut tentang parameter, lihat Prediksi.
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";Tabel hasil prediksi lr_test_prediction_result dihasilkan.
label
prediction_result
prediction_score
prediction_detail
0
0
0,9999998793434426
{"0": 0,9999998793434426, "1": 1,206565574533681e-07}
1
1
0,999999799574135
{"0": 2,004258650156743e-07, "1": 0,999999799574135}
1
1
0,999999799574135
{"0": 2,004258650156743e-07, "1": 0,999999799574135}
0
0
0,9999998793434426
{"0": 0,9999998793434426, "1": 1,206565574533681e-07}
0
0
0,9999998793434426
{"0": 0,9999998793434426, "1": 1,206565574533681e-07}
0
0
0,9999998793434426
{"0": 0,9999998793434426, "1": 1,206565574533681e-07}