Extreme Gradient Boosting (XGBoost) adalah algoritma pohon boosting gradien yang efisien dan banyak digunakan untuk Klasifikasi dan regresi. Model XGBoost gbtree menggunakan pohon keputusan sebagai pembelajar dasar. Topik ini menjelaskan cara menggunakan set data real estat untuk melatih model XGBoost gbtree dan menggunakan model terlatih tersebut untuk memprediksi harga rumah.
Menyiapkan data
Sebagai contoh, dataset Boston digunakan sebagai set data pelatihan. Tabel berikut menggambarkan struktur data dari dataset tersebut.
Nama kolom | Deskripsi | Tipe data |
crim | Tingkat kejahatan perkotaan per kapita. | FLOAT |
zn | Proporsi properti residensial yang melebihi 25.000 kaki persegi. | FLOAT |
indus | Proporsi properti komersial non-ritel per kota. | FLOAT |
chas | Menentukan apakah ada saluran sungai di dekatnya. | INT |
nox | Konsentrasi oksida nitrogen (satu dalam sepuluh juta). | FLOAT |
rm | Jumlah rata-rata kamar per bangunan residensial. | FLOAT |
age | Proporsi kediaman utama yang dibangun sebelum tahun 1940. | FLOAT |
dis | Jarak rata-rata ke lima pusat pekerjaan. | FLOAT |
rad | Jarak ke jalan tol. | INT |
tax | Total tingkat pajak properti per USD 10.000. | INT |
ptratio | Proporsi guru dan siswa per kota. | FLOAT |
b | Proporsi penduduk perkotaan Afrika-Amerika. | FLOAT |
lstat | Proporsi penduduk dengan pendapatan rendah. | FLOAT |
medv | Nilai rata-rata kediaman utama. | FLOAT |
Melatih sebuah model
Gunakan tabel boston.train untuk melatih model dan tabel boston.test untuk memprediksi data. Selama pelatihan model, RDS SQLFlow secara otomatis mengklasifikasikan set data pelatihan untuk menghasilkan set data pelatihan dan set data validasi.
Dalam antarmuka baris perintah RDS SQLFlow dari Klien RDS SQLFlow, jalankan pernyataan SQL berikut untuk melatih model:
SELECT * FROM boston.train TO TRAIN xgboost.gbtree WITH objective="reg:squarederror", train.num_boost_round = 30 COLUMN crim, zn, indus, chas, nox, rm, age, dis, rad, tax, ptratio, b, lstat LABEL medv INTO sqlflow_models.my_xgb_regression_model;Pernyataan
SELECTmengekstraksi data pelatihan dari tabel boston.train. PernyataanTO TRAINmenentukan model yang akan digunakan, yaitu xgboost.gbtree. PernyataanWITHmengonfigurasi parameter pelatihan. PernyataanCOLUMNmenentukan kolom fitur. PernyataanLABELmenentukan kolom target. Terakhir, pernyataanINTOmendefinisikan lokasi penyimpanan model yang telah dilatih. Untuk informasi lebih lanjut, lihat Sintaks Pelatihan.
Gunakan sebuah model untuk memprediksi data
Setelah model xgboost.gbtree dilatih, gunakan model tersebut dan jalankan pernyataan SQL berikut untuk memprediksi harga rumah:
SELECT * FROM boston.test TO PREDICT boston.predict.medv USING sqlflow_models.my_xgb_regression_model;Pernyataan
SELECTmenentukan set data yang diperlukan untuk prediksi. PernyataanTO PREDICTmenentukan tabel yang menyimpan hasil prediksi. PernyataanUSINGmenentukan model yang akan digunakan. Untuk informasi lebih lanjut, lihat Sintaks Prediksi.Setelah prediksi selesai, jalankan pernyataan SQL berikut untuk melihat hasil prediksi:
SELECT * FROM boston.predict;