MulaiMulai sekarang secara gratis

Pemelajar dasar linear

Setelah Anda menggunakan pohon sebagai model dasar di XGBoost, sekarang mari gunakan jenis model dasar lain yang dapat dipakai dengan XGBoost — pemelajar linear. Meskipun model ini tidak sesering itu digunakan di XGBoost, model ini memungkinkan Anda membangun regresi linear dengan regularisasi menggunakan API pembelajaran XGBoost yang andal. Namun, karena jarang digunakan, Anda perlu memakai fungsi bawaan XGBoost yang tidak kompatibel dengan scikit-learn untuk membangun model, seperti xgb.train().

Untuk melakukannya, Anda harus membuat kamus parameter yang menjelaskan jenis booster yang ingin digunakan (mirip dengan saat Anda membuat kamus di Bab 1 ketika Anda menggunakan xgb.cv()). Pasangan key-value yang mendefinisikan tipe booster (model dasar) yang Anda perlukan adalah "booster":"gblinear".

Setelah Anda membuat modelnya, Anda dapat menggunakan metode .train() dan .predict() dari model tersebut seperti yang telah Anda lakukan sebelumnya.

Di sini, data sudah dibagi menjadi himpunan latih dan uji, sehingga Anda dapat langsung membuat objek DMatrix yang diperlukan oleh API pembelajaran XGBoost.

Latihan ini adalah bagian dari kursus

Extreme Gradient Boosting dengan XGBoost

Lihat Kursus

Petunjuk latihan

  • Buat dua objek DMatrixDM_train untuk himpunan latih (X_train dan y_train), dan DM_test (X_test dan y_test) untuk himpunan uji.
  • Buat kamus parameter yang mendefinisikan tipe "booster" yang akan Anda gunakan ("gblinear") serta "objective" yang akan Anda minimalkan ("reg:squarederror").
  • Latih model menggunakan xgb.train(). Anda harus menentukan argumen untuk parameter berikut: params, dtrain, dan num_boost_round. Gunakan 5 boosting rounds.
  • Prediksi label pada himpunan uji menggunakan xg_reg.predict() dengan meneruskan DM_test. Simpan ke preds.
  • Tekan 'Kirim Jawaban' untuk melihat RMSE!

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Convert the training and testing sets into DMatrixes: DM_train, DM_test
DM_train = ____
DM_test =  ____

# Create the parameter dictionary: params
params = {"____":"____", "____":"____"}

# Train the model: xg_reg
xg_reg = ____.____(____ = ____, ____=____, ____=____)

# Predict the labels of the test set: preds
preds = ____

# Compute and print the RMSE
rmse = np.sqrt(mean_squared_error(y_test,preds))
print("RMSE: %f" % (rmse))
Edit dan Jalankan Kode