Algoritma regresi logistik umumnya digunakan untuk klasifikasi biner. Platform for AI (PAI) memungkinkan Anda menggunakan algoritma regresi logistik untuk klasifikasi multikelas. Komponen Regresi Logistik untuk Klasifikasi Multikelas mendukung format data jarang dan padat.
Konfigurasikan komponen
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen Regresi Logistik untuk Klasifikasi Multikelas.
Metode 1: Konfigurasikan komponen pada halaman pipeline
Anda dapat mengonfigurasi parameter komponen Regresi Logistik untuk Klasifikasi Multikelas pada halaman pipeline di Machine Learning Designer dari Platform for AI (PAI). Machine Learning Designer sebelumnya dikenal sebagai Machine Learning Studio. Tabel berikut menjelaskan parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Training Feature Columns | Kolom fitur yang dipilih dari sumber data untuk pelatihan. Kolom dengan tipe DOUBLE dan BIGINT didukung. Catatan Maksimum 20 juta fitur didukung. |
Target Columns | Kolom objektif dalam tabel input. | |
Sparse Format | Menentukan apakah data input dalam format jarang. | |
Parameters Setting | Regularization Type | Nilai valid: L1, L2, dan None. |
Maximum Number of Iterations | Jumlah maksimum iterasi. Nilai default: 100. | |
Regularization Coefficient | Jika parameter Tipe Regularisasi disetel ke None, parameter ini tidak valid. | |
Minimum Convergence Deviance | Deviasi konvergensi minimum. Nilai default: 0,000001. |
Metode 2: Gunakan perintah PAI
Konfigurasikan parameter komponen menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.
PAI -name logisticregression_multi
-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 Maksimum 20 juta fitur didukung. | Semua kolom dengan tipe data numerik |
labelColName | Ya | Nama 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. Jika parameter regularizedType disetel ke None, parameter ini tidak valid. | 1.0 |
maxIter | Tidak | Jumlah maksimum iterasi algoritma L-BFGS (Limited-memory BFGS). | 100 |
epsilon | Tidak | Kesalahan konvergensi. Parameter ini menentukan kondisi untuk menghentikan algoritma L-BFGS. Jika selisih log-likelihood antara dua iterasi kurang dari nilai yang ditentukan oleh parameter ini, iterasi algoritma L-BFGS dihentikan. | 1.0e-06 |
enableSparse | Tidak | Menentukan apakah data input dalam format jarang. Nilai valid: true dan false. | false |
itemDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan pasangan key-value ketika data dalam data input dalam format jarang. | , |
kvDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan keys dan values ketika data dalam tabel input dalam format jarang. | : |
coreNum | Tidak | Jumlah core. | Ditentukan oleh sistem |
memSizePerCore | Tidak | Ukuran memori setiap core. Satuan: MB. | Ditentukan oleh sistem |
Contoh
Eksekusi pernyataan SQL berikut untuk menghasilkan data pelatihan:
drop table if exists multi_lr_test_input; create table multi_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(2 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 ) a;Tabel berikut menyediakan data pelatihan yang dihasilkan dalam tabel multi_lr_test_input.
f0
f1
f2
f3
label
1.0
0.0
0.0
0.0
0
0.0
0.0
1.0
0.0
2
0.0
0.0
0.0
1.0
1
0.0
1.0
0.0
0.0
0
Jalankan perintah PAI berikut untuk mengirimkan parameter komponen Regresi Logistik untuk Klasifikasi Multikelas:
drop offlinemodel if exists multi_lr_test_model; PAI -name logisticregression_multi -project algo_public -DmodelName="multi_lr_test_model" -DitemDelimiter="," -DregularizedLevel="1" -DmaxIter="100" -DregularizedType="None" -Depsilon="0.000001" -DkvDelimiter=":" -DlabelColName="label" -DfeatureColNames="f0,f1,f2,f3" -DenableSparse="false" -DinputTableName="multi_lr_test_input";Jalankan perintah PAI berikut untuk mengirimkan parameter komponen Prediksi:
drop table if exists multi_lr_test_prediction_result; PAI -name prediction -project algo_public -DdetailColName="prediction_detail" -DmodelName="multi_lr_test_model" -DitemDelimiter="," -DresultColName="prediction_result" -Dlifecycle="28" -DoutputTableName="multi_lr_test_prediction_result" -DscoreColName="prediction_score" -DkvDelimiter=":" -DinputTableName="multi_lr_test_input" -DenableSparse="false" -DappendColNames="label";Lihat tabel multi_lr_test_prediction_result.
label
prediction_result
prediction_score
prediction_detail
0
0
0.9999997274902165
{"0": 0.9999997274902165, "1": 2.324679066261573e-07, "2": 2.324679066261569e-07}
0
0
0.9999997274902165
{"0": 0.9999997274902165, "1": 2.324679066261573e-07, "2": 2.324679066261569e-07}
2
2
0.9999999155958832
{"0": 2.018833979850994e-07, "1": 2.324679066261573e-07, "2": 0.9999999155958832}
1
1
0.9999999155958832
{"0": 2.018833979850994e-07, "1": 0.9999999155958832, "2": 2.324679066261569e-07}