XGBoost adalah perluasan dari algoritma gradient boosting yang menawarkan peningkatan dalam hal kemudahan penggunaan, keandalan, serta banyak digunakan dalam sistem produksi pembelajaran mesin dan kompetisi. XGBoost dapat digunakan untuk klasifikasi dan regresi. Komponen XGboost Train dioptimalkan berdasarkan XGBoost open source untuk meningkatkan kemudahan penggunaan dan kompatibilitas dengan Platform for AI (PAI). Topik ini menjelaskan cara mengonfigurasi komponen XGboost Train.
Batasan
Komponen XGboost Train dapat digunakan berdasarkan sumber daya MaxCompute, Flink, dan Deep Learning Containers (DLC).
Format data
Format Tabel dan LibSVM didukung.
Contoh data tabel:
f0
f1
label
0.1
1
0
0.9
2
1
Contoh format data LibSVM:
Data contoh
2:1 9:1 10:1 20:1 29:1 33:1 35:1 39:1 40:1 52:1 57:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 104:1 116:1 123:1
0:1 9:1 18:1 20:1 23:1 33:1 35:1 38:1 41:1 52:1 55:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 105:1 115:1 121:1
2:1 8:1 18:1 20:1 29:1 33:1 35:1 39:1 41:1 52:1 57:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 104:1 116:1 123:1
2:1 9:1 13:1 21:1 28:1 33:1 36:1 38:1 40:1 53:1 57:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 97:1 105:1 113:1 119:1
0:1 9:1 18:1 20:1 22:1 33:1 35:1 38:1 44:1 52:1 55:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 104:1 115:1 121:1
0:1 8:1 18:1 20:1 23:1 33:1 35:1 38:1 41:1 52:1 55:1 64:1 68:1 76:1 85:1 87:1 91:1 94:1 101:1 105:1 116:1 121:1
Konfigurasikan komponen di konsol PAI
Anda dapat mengonfigurasi komponen XGboost Train di Machine Learning Designer. Tabel berikut menjelaskan parameter-parameter tersebut.
Tab | Parameter | Tipe | Deskripsi |
Field Setting | labelCol | String | Kolom label. |
featureCols | Array string | Kolom fitur dalam format tabel. Nilai parameter featureCols dan vectorCol saling eksklusif. Data input harus bertipe tabel. | |
vectorCol | String | Kolom vektor dalam format LibSVM. Nilai parameter featureCols dan vectorCol saling eksklusif. Data input harus bertipe LibSVM. | |
weightCol | String | Nama kolom bobot. | |
set the model file path | String | Path bucket Object Storage Service (OSS) tempat model disimpan. | |
Parameter Setting | The number of rounds for boosting | Integer | Jumlah putaran pelatihan. |
objective | String | Tugas pembelajaran dan tujuan pembelajaran yang sesuai. Nilai default: binary:logistic. | |
Base score | Bilangan desimal | Bias global, yaitu skor prediksi awal untuk semua instance. Nilai default: 0.5. | |
The number of classes | Integer | Jumlah kelas. | |
Tree Method | String | Algoritma konstruksi pohon. Nilai default: auto. Nilai valid:
| |
L1 regularization term on weights | Bilangan desimal | Istilah regularisasi L1 pada bobot. Nilai default: 0.0. | |
L2 regularization term on weights | Bilangan desimal | Istilah regularisasi L2 pada bobot. Nilai default: 1.0. | |
eta | Bilangan desimal | Tingkat pembelajaran. Nilai default: 0.3. | |
scale_pos_weight | Bilangan desimal | Keseimbangan antara bobot positif dan negatif. Nilai default: 1.0. | |
sketch_eps | Bilangan desimal | Anda dapat menggunakan parameter ini untuk mengontrol jumlah bin. Parameter ini tersedia hanya jika Anda menetapkan parameter Tree Method ke approx. Nilai default: 0.03. | |
Maximum number of discrete bins to bucket continuous features | Integer | Jumlah maksimum bin diskrit untuk mem-bucket fitur kontinu. Parameter ini tersedia hanya jika Anda menetapkan parameter Tree Method ke hist. Nilai default: 256. | |
Maximum depth of a tree | Integer | Kedalaman maksimum pohon. Nilai default: 6. | |
Max leaves | Integer | Jumlah maksimum node daun yang ingin Anda tambahkan. Nilai default: 0. | |
Min child weight | Bilangan desimal | Berat minimum yang diperlukan dalam node anak. Nilai default: 1.0. | |
Max delta step | Bilangan desimal | Langkah delta maksimum yang diizinkan untuk node daun. Parameter ini memungkinkan Anda menyesuaikan granularitas model. Nilai default: 0.0. | |
Subsample ratio of the training instances | Bilangan desimal | Rasio subsampel instance pelatihan. Nilai default: 1. | |
Sampling method | String | Metode yang digunakan untuk mensampling instance pelatihan. Nilai default: GRADIENT_BASED. Nilai valid:
| |
Subsample ratio of columns for each level | Bilangan desimal | Rasio subsampel kolom untuk setiap level. Nilai default: 1.0. | |
Subsample ratio of columns for each node (split) | Bilangan desimal | Rasio subsampel kolom untuk setiap node. Nilai default: 1.0. | |
Subsample ratio of columns when constructing each tree | Bilangan desimal | Rasio subsampel kolom saat setiap pohon dibangun. Nilai default: 1.0. | |
Grow Policy | String | Metode yang digunakan untuk menambahkan node baru ke pohon. Nilai default: depthwise. Nilai valid:
| |
gamma | Bilangan desimal | Pengurangan loss minimum yang diperlukan untuk membuat partisi berikutnya pada node daun pohon. Nilai default: 0.0. | |
Interaction constraints | String | Grup variabel yang diizinkan untuk berinteraksi. | |
Monotone constraints | String | Batas monotonik dari sebuah fitur. | |
Tweedie variance power | Bilangan desimal | Variansi distribusi Tweedie. Parameter ini valid hanya dalam distribusi Tweedie. Nilai default: 1.5. | |
Execution Tuning | Number of Workers | Integer positif | Jumlah node pekerja. Parameter ini harus digunakan bersama dengan parameter Memory per worker, unit MB. Nilai valid: [1, 9999]. |
Memory per worker, unit MB | Integer positif | Ukuran memori setiap node pekerja. Unit: MB. Nilai valid: [1024, 64 × 1024]. |
Prosedur
Contoh ini menggunakan skenario klasifikasi boson Higgs untuk menjelaskan cara menggunakan komponen XGboost di Machine Learning Designer. Pipeline yang digunakan dalam contoh ini dibangun berdasarkan template preset. Untuk informasi tentang cara membuat pipeline berdasarkan template Use XGBoost algorithm to identify the Higgs boson, lihat Buat Pipeline dari Template Preset.
Komponen ini menghasilkan string JSON yang diserialisasi dari objek JSON yang di-output oleh library XGBoost open source. Untuk mengevaluasi data yang dihasilkan oleh komponen, Anda perlu mengonversi data ke format yang didukung oleh komponen evaluasi. Dalam contoh ini, Anda dapat menambahkan komponen Skrip SQL sebagai komponen hilir dari komponen XGboost Predict untuk menyerialisasi output komponen ke format yang didukung oleh komponen Binary classification Evaluation V2 berikutnya. Contoh kode berikut memberikan contoh tentang cara mengonfigurasi komponen SQL Script untuk mengonversi format data.
set odps.sql.udf.getjsonobj.new=true;
select *, CONCAT("{\"0\":", 1.0-prob, ",\"1\":", prob, "}") as detail
FROM (
select *, cast(get_json_object(pred, '$[0]') as double) as prob FROM ${t1})Referensi
Anda dapat menggunakan komponen XGboost Predict untuk melakukan inferensi offline berdasarkan model yang dilatih oleh komponen XGboost Train. Untuk informasi tentang cara mengonfigurasi komponen XGboost Predict, lihat XGboost Predict.
Machine Learning Designer menyediakan berbagai komponen algoritma preset. Anda dapat memilih komponen sesuai dengan skenario bisnis aktual Anda. Untuk informasi lebih lanjut, lihat Ikhtisar Komponen Designer.